Author: markt
Date: Fri Apr 19 20:30:00 2013
New Revision: 1470025

URL: http://svn.apache.org/r1470025
Log:
Use the ServletContext attribute in unit tests.
Remove unnecessary double init() of ServerContainer

Modified:
    tomcat/trunk/java/org/apache/tomcat/websocket/server/Constants.java
    tomcat/trunk/java/org/apache/tomcat/websocket/server/WsSci.java
    tomcat/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java
    tomcat/trunk/test/org/apache/tomcat/websocket/TesterEchoServer.java
    tomcat/trunk/test/org/apache/tomcat/websocket/pojo/Util.java
    
tomcat/trunk/test/org/apache/tomcat/websocket/server/TestWebSocketServerContainer.java
    
tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/echo/WsConfigListener.java

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/Constants.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/Constants.java?rev=1470025&r1=1470024&r2=1470025&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/Constants.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/Constants.java Fri Apr 
19 20:30:00 2013
@@ -29,6 +29,10 @@ public class Constants {
     public static final String TEXT_BUFFER_SIZE_SERVLET_CONTEXT_INIT_PARAM =
             "org.apache.tomcat.websocket.textBufferSize";
 
+    public static final String SERVER_CONTAINER_SERVLET_CONTEXT_ATTRIBUTE =
+            "javax.websocket.server.ServerContainer";
+
+
     private Constants() {
         // Hide default constructor
     }

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsSci.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsSci.java?rev=1470025&r1=1470024&r2=1470025&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsSci.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsSci.java Fri Apr 19 
20:30:00 2013
@@ -40,10 +40,6 @@ import javax.websocket.server.ServerEndp
         Endpoint.class})
 public class WsSci implements ServletContainerInitializer {
 
-    private static final String SERVER_CONTAINER_CONTEXT_ATTRIBUTE =
-            "javax.websocket.server.ServerContainer";
-
-
     @Override
     public void onStartup(Set<Class<?>> clazzes, ServletContext ctx)
             throws ServletException {
@@ -133,7 +129,8 @@ public class WsSci implements ServletCon
         WsServerContainer sc = WsServerContainer.getServerContainer();
         sc.setServletContext(servletContext);
 
-        servletContext.setAttribute(SERVER_CONTAINER_CONTEXT_ATTRIBUTE, sc);
+        servletContext.setAttribute(
+                Constants.SERVER_CONTAINER_SERVLET_CONTEXT_ATTRIBUTE, sc);
 
         return sc;
     }

Modified: 
tomcat/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java?rev=1470025&r1=1470024&r2=1470025&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java 
(original)
+++ tomcat/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java 
Fri Apr 19 20:30:00 2013
@@ -36,6 +36,7 @@ import javax.websocket.MessageHandler;
 import javax.websocket.OnMessage;
 import javax.websocket.Session;
 import javax.websocket.WebSocketContainer;
+import javax.websocket.server.ServerContainer;
 import javax.websocket.server.ServerEndpoint;
 import javax.websocket.server.ServerEndpointConfig;
 
@@ -52,8 +53,8 @@ import org.apache.tomcat.websocket.Teste
 import org.apache.tomcat.websocket.TesterSingleMessageClient.BasicHandler;
 import org.apache.tomcat.websocket.TesterSingleMessageClient.BasicText;
 import 
org.apache.tomcat.websocket.TesterSingleMessageClient.TesterProgrammaticEndpoint;
+import org.apache.tomcat.websocket.server.Constants;
 import org.apache.tomcat.websocket.server.WsListener;
-import org.apache.tomcat.websocket.server.WsServerContainer;
 
 public class TestWsWebSocketContainer extends TomcatBaseTest {
 
@@ -422,8 +423,9 @@ public class TestWsWebSocketContainer ex
         @Override
         public void contextInitialized(ServletContextEvent sce) {
             super.contextInitialized(sce);
-            WsServerContainer sc = WsServerContainer.getServerContainer();
-            sc.setServletContext(sce.getServletContext());
+            ServerContainer sc =
+                    (ServerContainer) sce.getServletContext().getAttribute(
+                            
Constants.SERVER_CONTAINER_SERVLET_CONTEXT_ATTRIBUTE);
             try {
                 sc.addEndpoint(BlockingPojo.class);
             } catch (DeploymentException e) {
@@ -532,7 +534,9 @@ public class TestWsWebSocketContainer ex
         @Override
         public void contextInitialized(ServletContextEvent sce) {
             super.contextInitialized(sce);
-            WsServerContainer sc = WsServerContainer.getServerContainer();
+            ServerContainer sc =
+                    (ServerContainer) sce.getServletContext().getAttribute(
+                            
Constants.SERVER_CONTAINER_SERVLET_CONTEXT_ATTRIBUTE);
             try {
                 sc.addEndpoint(ServerEndpointConfig.Builder.create(
                         ConstantTxEndpoint.class, PATH).build());

Modified: tomcat/trunk/test/org/apache/tomcat/websocket/TesterEchoServer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/websocket/TesterEchoServer.java?rev=1470025&r1=1470024&r2=1470025&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/tomcat/websocket/TesterEchoServer.java 
(original)
+++ tomcat/trunk/test/org/apache/tomcat/websocket/TesterEchoServer.java Fri Apr 
19 20:30:00 2013
@@ -23,10 +23,11 @@ import javax.servlet.ServletContextEvent
 import javax.websocket.DeploymentException;
 import javax.websocket.OnMessage;
 import javax.websocket.Session;
+import javax.websocket.server.ServerContainer;
 import javax.websocket.server.ServerEndpoint;
 
+import org.apache.tomcat.websocket.server.Constants;
 import org.apache.tomcat.websocket.server.WsListener;
-import org.apache.tomcat.websocket.server.WsServerContainer;
 
 public class TesterEchoServer {
 
@@ -38,7 +39,9 @@ public class TesterEchoServer {
         @Override
         public void contextInitialized(ServletContextEvent sce) {
             super.contextInitialized(sce);
-            WsServerContainer sc = WsServerContainer.getServerContainer();
+            ServerContainer sc =
+                    (ServerContainer) sce.getServletContext().getAttribute(
+                            
Constants.SERVER_CONTAINER_SERVLET_CONTEXT_ATTRIBUTE);
             try {
                 sc.addEndpoint(Async.class);
                 sc.addEndpoint(Basic.class);

Modified: tomcat/trunk/test/org/apache/tomcat/websocket/pojo/Util.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/websocket/pojo/Util.java?rev=1470025&r1=1470024&r2=1470025&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/tomcat/websocket/pojo/Util.java (original)
+++ tomcat/trunk/test/org/apache/tomcat/websocket/pojo/Util.java Fri Apr 19 
20:30:00 2013
@@ -19,10 +19,11 @@ package org.apache.tomcat.websocket.pojo
 import javax.servlet.ServletContextEvent;
 import javax.websocket.ClientEndpoint;
 import javax.websocket.DeploymentException;
+import javax.websocket.server.ServerContainer;
 import javax.websocket.server.ServerEndpointConfig.Configurator;
 
+import org.apache.tomcat.websocket.server.Constants;
 import org.apache.tomcat.websocket.server.WsListener;
-import org.apache.tomcat.websocket.server.WsServerContainer;
 
 public class Util {
 
@@ -37,8 +38,9 @@ public class Util {
         @Override
         public void contextInitialized(ServletContextEvent sce) {
             super.contextInitialized(sce);
-            WsServerContainer sc = WsServerContainer.getServerContainer();
-            sc.setServletContext(sce.getServletContext());
+            ServerContainer sc =
+                    (ServerContainer) sce.getServletContext().getAttribute(
+                            
Constants.SERVER_CONTAINER_SERVLET_CONTEXT_ATTRIBUTE);
             try {
                 sc.addEndpoint(pojoClazz);
             } catch (DeploymentException e) {

Modified: 
tomcat/trunk/test/org/apache/tomcat/websocket/server/TestWebSocketServerContainer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/websocket/server/TestWebSocketServerContainer.java?rev=1470025&r1=1470024&r2=1470025&view=diff
==============================================================================
--- 
tomcat/trunk/test/org/apache/tomcat/websocket/server/TestWebSocketServerContainer.java
 (original)
+++ 
tomcat/trunk/test/org/apache/tomcat/websocket/server/TestWebSocketServerContainer.java
 Fri Apr 19 20:30:00 2013
@@ -18,6 +18,7 @@ package org.apache.tomcat.websocket.serv
 
 import javax.servlet.ServletContextEvent;
 import javax.websocket.DeploymentException;
+import javax.websocket.server.ServerContainer;
 import javax.websocket.server.ServerEndpointConfig;
 
 import org.junit.Assert;
@@ -55,7 +56,9 @@ public class TestWebSocketServerContaine
         public void contextInitialized(ServletContextEvent sce) {
             super.contextInitialized(sce);
 
-            WsServerContainer sc = WsServerContainer.getServerContainer();
+            ServerContainer sc =
+                    (ServerContainer) sce.getServletContext().getAttribute(
+                            
Constants.SERVER_CONTAINER_SERVLET_CONTEXT_ATTRIBUTE);
 
             ServerEndpointConfig sec = ServerEndpointConfig.Builder.create(
                     TesterEchoServer.Basic.class, "/{param}").build();

Modified: 
tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/echo/WsConfigListener.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/echo/WsConfigListener.java?rev=1470025&r1=1470024&r2=1470025&view=diff
==============================================================================
--- 
tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/echo/WsConfigListener.java
 (original)
+++ 
tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/echo/WsConfigListener.java
 Fri Apr 19 20:30:00 2013
@@ -17,20 +17,22 @@
 package websocket.echo;
 
 import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
 import javax.servlet.annotation.WebListener;
 import javax.websocket.DeploymentException;
+import javax.websocket.server.ServerContainer;
 import javax.websocket.server.ServerEndpointConfig;
 
-import org.apache.tomcat.websocket.server.WsListener;
-import org.apache.tomcat.websocket.server.WsServerContainer;
+import org.apache.tomcat.websocket.server.Constants;
 
 @WebListener
-public class WsConfigListener extends WsListener {
+public class WsConfigListener implements ServletContextListener {
 
     @Override
     public void contextInitialized(ServletContextEvent sce) {
-        super.contextInitialized(sce);
-        WsServerContainer sc = WsServerContainer.getServerContainer();
+        ServerContainer sc =
+                (ServerContainer) sce.getServletContext().getAttribute(
+                        Constants.SERVER_CONTAINER_SERVLET_CONTEXT_ATTRIBUTE);
         try {
             sc.addEndpoint(ServerEndpointConfig.Builder.create(
                     EchoEndpoint.class, 
"/websocket/echoProgrammatic").build());
@@ -38,4 +40,9 @@ public class WsConfigListener extends Ws
             throw new IllegalStateException(e);
         }
     }
+
+    @Override
+    public void contextDestroyed(ServletContextEvent sce) {
+        // NO-OP
+    }
 }



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

Reply via email to