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