Use a pre-compiled pattern in SchemaContextUtil 36/27736/3
authorRobert Varga <rovarga@cisco.com>
Thu, 1 Oct 2015 11:07:24 +0000 (13:07 +0200)
committerGerrit Code Review <gerrit@opendaylight.org>
Fri, 2 Oct 2015 07:46:08 +0000 (07:46 +0000)
String.replaceAll() performs an implicit compilation -- use a
pre-compiled pattern instead.

Change-Id: I5323d19d8b6c009d837a14e32d91ba711cd4d486
Signed-off-by: Robert Varga <rovarga@cisco.com>
yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/SchemaContextUtil.java

index 24cc393f4a91549d4638c16df0ee0965cdd51d95..10594211833df3fb15a86fad6ba32dd091bf4112 100644 (file)
@@ -18,6 +18,7 @@ import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Set;
+import java.util.regex.Pattern;
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 import org.opendaylight.yangtools.yang.common.QName;
@@ -738,6 +739,8 @@ public final class SchemaContextUtil {
         }
     }
 
+    private static final Pattern STRIP_PATTERN = Pattern.compile("\\[.*\\]");
+
     /**
      * Removes conditions from xPath pointed to target node.
      *
@@ -747,7 +750,7 @@ public final class SchemaContextUtil {
      *
      */
     private static String stripConditionsFromXPathString(final RevisionAwareXPath pathStatement) {
-        return pathStatement.toString().replaceAll("\\[.*\\]", "");
+        return STRIP_PATTERN.matcher(pathStatement.toString()).replaceAll("");
     }
 
     /**