1. import java.util.HashMap;
  2. import java.util.Map;
  3. import java.util.regex.Matcher;
  4. import java.util.regex.Pattern;
  5. public class TaskQueueMatcher {
  6. public static Map<String, String> matchTaskQueue(String taskQueueString) {
  7. Map<String, String> defaultValues = new HashMap<>();
  8. // Define patterns for different task queue configurations
  9. Pattern pattern1 = Pattern.compile("taskQueue=(.+)", Pattern.CASE_INSENSITIVE); // Basic task queue
  10. Pattern pattern2 = Pattern.compile("taskQueue=(.+), priority=(.+)", Pattern.CASE_INSENSITIVE); // Task queue and priority
  11. Pattern pattern3 = Pattern.compile("taskQueue=(.+), retryCount=(.+)", Pattern.CASE_INSENSITIVE); // Task queue and retry count
  12. Pattern pattern4 = Pattern.compile("taskQueue=(.+), priority=(.+), retryCount=(.+)", Pattern.CASE_INSENSITIVE); // All options
  13. Matcher matcher1 = pattern1.matcher(taskQueueString);
  14. if (matcher1.find()) {
  15. defaultValues.put("taskQueue", matcher1.group(1).trim());
  16. }
  17. Matcher matcher2 = pattern2.matcher(taskQueueString);
  18. if (matcher2.find()) {
  19. defaultValues.put("taskQueue", matcher2.group(1).trim());
  20. defaultValues.put("priority", matcher2.group(2).trim());
  21. }
  22. Matcher matcher3 = pattern3.matcher(taskQueueString);
  23. if (matcher3.find()) {
  24. defaultValues.put("taskQueue", matcher3.group(1).trim());
  25. defaultValues.put("retryCount", matcher3.group(2).trim());
  26. }
  27. Matcher matcher4 = pattern4.matcher(taskQueueString);
  28. if (matcher4.find()) {
  29. defaultValues.put("taskQueue", matcher4.group(1).trim());
  30. defaultValues.put("priority", matcher4.group(2).trim());
  31. defaultValues.put("retryCount", matcher4.group(3).trim());
  32. }
  33. return defaultValues;
  34. }
  35. }

Add your comment