diff --git a/jetty-annotations/src/main/java/org/eclipse/jetty/annotations/AnnotationParser.java b/jetty-annotations/src/main/java/org/eclipse/jetty/annotations/AnnotationParser.java index fa0fd896f08..f49c07ecdb4 100644 --- a/jetty-annotations/src/main/java/org/eclipse/jetty/annotations/AnnotationParser.java +++ b/jetty-annotations/src/main/java/org/eclipse/jetty/annotations/AnnotationParser.java @@ -25,8 +25,10 @@ import java.net.URL; import java.net.URLClassLoader; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashSet; import java.util.List; import java.util.Locale; +import java.util.Set; import java.util.jar.JarEntry; import org.eclipse.jetty.util.Loader; @@ -50,7 +52,7 @@ public class AnnotationParser { private static final Logger LOG = Log.getLogger(AnnotationParser.class); - protected List _parsedClassNames = new ArrayList(); + protected Set _parsedClassNames = new HashSet(); protected List _handlers = new ArrayList(); public static String normalize (String name) diff --git a/jetty-util/src/test/resources/TestData/test/META-INF/MANIFEST.MF b/jetty-util/src/test/resources/TestData/test/META-INF/MANIFEST.MF new file mode 100755 index 00000000000..b1f95107ebf --- /dev/null +++ b/jetty-util/src/test/resources/TestData/test/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Created-By: 1.2.2 (Sun Microsystems Inc.) + diff --git a/jetty-util/src/test/resources/TestData/test/alphabet b/jetty-util/src/test/resources/TestData/test/alphabet new file mode 100755 index 00000000000..72d007b6edb --- /dev/null +++ b/jetty-util/src/test/resources/TestData/test/alphabet @@ -0,0 +1 @@ +ABCDEFGHIJKLMNOPQRSTUVWXYZ diff --git a/jetty-util/src/test/resources/TestData/test/numbers b/jetty-util/src/test/resources/TestData/test/numbers new file mode 100755 index 00000000000..a32a4347a4e --- /dev/null +++ b/jetty-util/src/test/resources/TestData/test/numbers @@ -0,0 +1 @@ +1234567890 diff --git a/jetty-util/src/test/resources/TestData/test/subdir/alphabet b/jetty-util/src/test/resources/TestData/test/subdir/alphabet new file mode 100755 index 00000000000..72d007b6edb --- /dev/null +++ b/jetty-util/src/test/resources/TestData/test/subdir/alphabet @@ -0,0 +1 @@ +ABCDEFGHIJKLMNOPQRSTUVWXYZ diff --git a/jetty-util/src/test/resources/TestData/test/subdir/numbers b/jetty-util/src/test/resources/TestData/test/subdir/numbers new file mode 100755 index 00000000000..a32a4347a4e --- /dev/null +++ b/jetty-util/src/test/resources/TestData/test/subdir/numbers @@ -0,0 +1 @@ +1234567890 diff --git a/jetty-util/src/test/resources/TestData/test/subdir/subsubdir/alphabet b/jetty-util/src/test/resources/TestData/test/subdir/subsubdir/alphabet new file mode 100755 index 00000000000..72d007b6edb --- /dev/null +++ b/jetty-util/src/test/resources/TestData/test/subdir/subsubdir/alphabet @@ -0,0 +1 @@ +ABCDEFGHIJKLMNOPQRSTUVWXYZ diff --git a/jetty-util/src/test/resources/TestData/test/subdir/subsubdir/numbers b/jetty-util/src/test/resources/TestData/test/subdir/subsubdir/numbers new file mode 100755 index 00000000000..a32a4347a4e --- /dev/null +++ b/jetty-util/src/test/resources/TestData/test/subdir/subsubdir/numbers @@ -0,0 +1 @@ +1234567890 diff --git a/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/WebAppContext.java b/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/WebAppContext.java index 8303f16961a..83187879afe 100644 --- a/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/WebAppContext.java +++ b/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/WebAppContext.java @@ -116,6 +116,7 @@ public class WebAppContext extends ServletContextHandler implements WebAppClassL "org.eclipse.jetty.jndi.", // webapp cannot change naming classes "org.eclipse.jetty.jaas.", // webapp cannot change jaas classes "org.eclipse.jetty.websocket.", // WebSocket is a jetty extension + "org.eclipse.jetty.websocket.WebSocketServlet", // webapp cannot change WebSocketServlet "org.eclipse.jetty.servlet.DefaultServlet" // webapp cannot change default servlets } ; @@ -129,6 +130,7 @@ public class WebAppContext extends ServletContextHandler implements WebAppClassL "-org.eclipse.jetty.jndi.", // don't hide naming classes "-org.eclipse.jetty.jaas.", // don't hide jaas classes "-org.eclipse.jetty.servlets.", // don't hide jetty servlets + "-org.eclipse.jetty.websocket.WebSocketServlet", // don't hide WebSocketServlet "-org.eclipse.jetty.servlet.DefaultServlet", // don't hide default servlet "-org.eclipse.jetty.servlet.listener.", // don't hide useful listeners "-org.eclipse.jetty.websocket.", //not a serverclass, is a systemclass