Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Bartel2012-11-22 05:26:38 +0000
committerJan Bartel2012-11-22 05:26:38 +0000
commit90a86d3a6be9f6ed41388b23fc50340d948abf17 (patch)
tree6e7e278d8d93c3d731e3f95d4e64a6573ca546da /jetty-webapp
parent4cf77cea31e35648ab3638eac15ef5b522a43277 (diff)
parent8920fcc1280e9c1ad0c3b5a07770efa647fc7913 (diff)
downloadorg.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.java20
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;

Back to the top