import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TaskQueueMatcher {
public static Map<String, String> matchTaskQueue(String taskQueueString) {
Map<String, String> defaultValues = new HashMap<>();
// Define patterns for different task queue configurations
Pattern pattern1 = Pattern.compile("taskQueue=(.+)", Pattern.CASE_INSENSITIVE); // Basic task queue
Pattern pattern2 = Pattern.compile("taskQueue=(.+), priority=(.+)", Pattern.CASE_INSENSITIVE); // Task queue and priority
Pattern pattern3 = Pattern.compile("taskQueue=(.+), retryCount=(.+)", Pattern.CASE_INSENSITIVE); // Task queue and retry count
Pattern pattern4 = Pattern.compile("taskQueue=(.+), priority=(.+), retryCount=(.+)", Pattern.CASE_INSENSITIVE); // All options
Matcher matcher1 = pattern1.matcher(taskQueueString);
if (matcher1.find()) {
defaultValues.put("taskQueue", matcher1.group(1).trim());
}
Matcher matcher2 = pattern2.matcher(taskQueueString);
if (matcher2.find()) {
defaultValues.put("taskQueue", matcher2.group(1).trim());
defaultValues.put("priority", matcher2.group(2).trim());
}
Matcher matcher3 = pattern3.matcher(taskQueueString);
if (matcher3.find()) {
defaultValues.put("taskQueue", matcher3.group(1).trim());
defaultValues.put("retryCount", matcher3.group(2).trim());
}
Matcher matcher4 = pattern4.matcher(taskQueueString);
if (matcher4.find()) {
defaultValues.put("taskQueue", matcher4.group(1).trim());
defaultValues.put("priority", matcher4.group(2).trim());
defaultValues.put("retryCount", matcher4.group(3).trim());
}
return defaultValues;
}
}
Add your comment