You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2014/08/05 09:38:18 UTC

svn commit: r1615876 - in /tomcat/trunk: java/org/apache/tomcat/util/file/Matcher.java webapps/docs/changelog.xml

Author: markt
Date: Tue Aug  5 07:38:18 2014
New Revision: 1615876

URL: http://svn.apache.org/r1615876
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56801
Improve performance of <code>org.apache.tomcat.util.file.Matcher</code> which is to filter JARs for scanning during web application start. Based on a patch by Sheldon Shao.

Modified:
    tomcat/trunk/java/org/apache/tomcat/util/file/Matcher.java
    tomcat/trunk/webapps/docs/changelog.xml

Modified: tomcat/trunk/java/org/apache/tomcat/util/file/Matcher.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/file/Matcher.java?rev=1615876&r1=1615875&r2=1615876&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/file/Matcher.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/file/Matcher.java Tue Aug  5 07:38:18 2014
@@ -45,14 +45,28 @@ public final class Matcher {
      *         file name, or <code>false</code> otherwise.
      */
     public static boolean matchName(Set<String> patternSet, String fileName) {
+        char[] fileNameArray = fileName.toCharArray();
         for (String pattern: patternSet) {
-            if (match(pattern, fileName, true)) {
+            if (match(pattern, fileNameArray, true)) {
                 return true;
             }
         }
         return false;
     }
 
+
+    /**
+     * @deprecated Use {@link #match(String, char[], boolean)}. This method will
+     *             be removed in Tomcat 9.0.x onwards.
+     */
+    @Deprecated
+    public static boolean match(String pattern, String str,
+            boolean caseSensitive) {
+
+        return match(pattern, str.toCharArray(), caseSensitive);
+    }
+
+
     /**
      * Tests whether or not a string matches against a pattern.
      * The pattern may contain two special characters:<br>
@@ -61,8 +75,8 @@ public final class Matcher {
      *
      * @param pattern The pattern to match against.
      *                Must not be <code>null</code>.
-     * @param str     The string which must be matched against the pattern.
-     *                Must not be <code>null</code>.
+     * @param strArr  The character array which must be matched against the
+     *                pattern. Must not be <code>null</code>.
      * @param caseSensitive Whether or not matching should be performed
      *                        case sensitively.
      *
@@ -70,10 +84,9 @@ public final class Matcher {
      * @return <code>true</code> if the string matches against the pattern,
      *         or <code>false</code> otherwise.
      */
-    public static boolean match(String pattern, String str,
+    public static boolean match(String pattern, char[] strArr,
                                 boolean caseSensitive) {
         char[] patArr = pattern.toCharArray();
-        char[] strArr = str.toCharArray();
         int patIdxStart = 0;
         int patIdxEnd = patArr.length - 1;
         int strIdxStart = 0;

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1615876&r1=1615875&r2=1615876&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Tue Aug  5 07:38:18 2014
@@ -90,6 +90,12 @@
         <bug>56796</bug>: Remove unnecessary sleep when stopping a web
         application. (markt)
       </fix>
+      <fix>
+        <bug>56801</bug>: Improve performance of
+        <code>org.apache.tomcat.util.file.Matcher</code> which is to filter JARs
+        for scanning during web application start. Based on a patch by Sheldon
+        Shao. (markt)
+      </fix>
     </changelog>
   </subsection>
   <subsection name="Coyote">



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org