]> source.dussan.org Git - sonarqube.git/commitdiff
cache regex pattern
authorDuarte Meneses <duarte.meneses@sonarsource.com>
Tue, 30 Jul 2019 20:36:46 +0000 (15:36 -0500)
committerSonarTech <sonartech@sonarsource.com>
Wed, 4 Sep 2019 18:21:04 +0000 (20:21 +0200)
sonar-plugin-api/src/main/java/org/sonar/api/utils/Duration.java

index c34e4a1ea195b0b9db8c553dda8d463fdbc2a0f2..b15337a4a445f4d15512dcab64a5c9ecbdb6d9f3 100644 (file)
@@ -37,6 +37,8 @@ public class Duration implements Serializable {
   public static final String MINUTE = "min";
 
   private static final short MINUTES_IN_ONE_HOUR = 60;
+  private static final Pattern PATTERN = Pattern.compile("\\s*+(?:(\\d++)\\s*+" + DAY + ")?+\\s*+(?:(\\d++)\\s*+" + HOUR + ")?+\\s*+(?:(\\d++)\\s*+" + MINUTE + ")?+\\s*+");
+
 
   private final long durationInMinutes;
 
@@ -65,8 +67,7 @@ public class Duration implements Serializable {
     int hours = 0;
     int minutes = 0;
     String sanitizedText = StringUtils.deleteWhitespace(text);
-    Pattern pattern = Pattern.compile("\\s*+(?:(\\d++)\\s*+" + DAY + ")?+\\s*+(?:(\\d++)\\s*+" + HOUR + ")?+\\s*+(?:(\\d++)\\s*+" + MINUTE + ")?+\\s*+");
-    Matcher matcher = pattern.matcher(text);
+    Matcher matcher = PATTERN.matcher(text);
 
     try {
       if (matcher.find()) {