diff options
author | Jan Bartel | 2012-11-22 05:26:38 +0000 |
---|---|---|
committer | Jan Bartel | 2012-11-22 05:26:38 +0000 |
commit | 90a86d3a6be9f6ed41388b23fc50340d948abf17 (patch) | |
tree | 6e7e278d8d93c3d731e3f95d4e64a6573ca546da /jetty-webapp | |
parent | 4cf77cea31e35648ab3638eac15ef5b522a43277 (diff) | |
parent | 8920fcc1280e9c1ad0c3b5a07770efa647fc7913 (diff) | |
download | org.eclipse.jetty.project-90a86d3a6be9f6ed41388b23fc50340d948abf17.tar.gz org.eclipse.jetty.project-90a86d3a6be9f6ed41388b23fc50340d948abf17.tar.xz org.eclipse.jetty.project-90a86d3a6be9f6ed41388b23fc50340d948abf17.zip |
Merge remote-tracking branch 'origin/jetty-7' into jetty-8
Diffstat (limited to 'jetty-webapp')
-rw-r--r-- | jetty-webapp/src/main/java/org/eclipse/jetty/webapp/ClasspathPattern.java | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/ClasspathPattern.java b/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/ClasspathPattern.java index 63ec5b4ca7..f6bd679f1c 100644 --- a/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/ClasspathPattern.java +++ b/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/ClasspathPattern.java @@ -189,16 +189,24 @@ public class ClasspathPattern if (_entries != null) { name = name.replace('/','.'); - name = name.replaceFirst("^[.]+",""); - name = name.replaceAll("\\$.*$",""); - + + int startIndex = 0; + + while(startIndex < name.length() && name.charAt(startIndex) == '.') { + startIndex++; + } + + int dollar = name.indexOf("$"); + + int endIndex = dollar != -1 ? dollar : name.length(); + for (Entry entry : _entries) { if (entry != null) { if (entry.partial) { - if (name.startsWith(entry.classpath)) + if (name.regionMatches(startIndex, entry.classpath, 0, entry.classpath.length())) { result = entry.result; break; @@ -206,7 +214,9 @@ public class ClasspathPattern } else { - if (name.equals(entry.classpath)) + int regionLength = endIndex-startIndex; + if (regionLength == entry.classpath.length() + && name.regionMatches(startIndex, entry.classpath, 0, regionLength)) { result = entry.result; break; |