Author: markt
Date: Wed Jan 13 18:23:08 2016
New Revision: 1724475

URL: http://svn.apache.org/viewvc?rev=1724475&view=rev
Log:
Extract common test code into a single Tester class

Added:
    
tomcat/trunk/test/org/apache/tomcat/websocket/server/TesterEndpointConfig.java  
 (with props)
Modified:
    tomcat/trunk/test/org/apache/tomcat/websocket/TestWsSubprotocols.java
    tomcat/trunk/test/org/apache/tomcat/websocket/TesterFirehoseServer.java
    tomcat/trunk/test/org/apache/tomcat/websocket/pojo/TesterUtil.java
    tomcat/trunk/test/org/apache/tomcat/websocket/server/TestClose.java
    
tomcat/trunk/test/org/apache/tomcat/websocket/server/TestWsRemoteEndpointImplServer.java
    
tomcat/trunk/test/org/apache/tomcat/websocket/server/TestWsServerContainer.java

Modified: tomcat/trunk/test/org/apache/tomcat/websocket/TestWsSubprotocols.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/websocket/TestWsSubprotocols.java?rev=1724475&r1=1724474&r2=1724475&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/tomcat/websocket/TestWsSubprotocols.java 
(original)
+++ tomcat/trunk/test/org/apache/tomcat/websocket/TestWsSubprotocols.java Wed 
Jan 13 18:23:08 2016
@@ -20,15 +20,12 @@ import java.net.URI;
 import java.util.Arrays;
 import java.util.List;
 
-import javax.servlet.ServletContextEvent;
 import javax.websocket.ClientEndpointConfig;
 import javax.websocket.ContainerProvider;
-import javax.websocket.DeploymentException;
 import javax.websocket.EndpointConfig;
 import javax.websocket.OnOpen;
 import javax.websocket.Session;
 import javax.websocket.WebSocketContainer;
-import javax.websocket.server.ServerContainer;
 import javax.websocket.server.ServerEndpoint;
 import javax.websocket.server.ServerEndpointConfig;
 
@@ -41,8 +38,7 @@ import org.apache.catalina.servlets.Defa
 import org.apache.catalina.startup.Tomcat;
 import org.apache.catalina.startup.TomcatBaseTest;
 import 
org.apache.tomcat.websocket.TesterMessageCountClient.TesterProgrammaticEndpoint;
-import org.apache.tomcat.websocket.server.Constants;
-import org.apache.tomcat.websocket.server.WsContextListener;
+import org.apache.tomcat.websocket.server.TesterEndpointConfig;
 
 public class TestWsSubprotocols extends TomcatBaseTest {
 
@@ -115,18 +111,11 @@ public class TestWsSubprotocols extends
 
     }
 
-    public static class Config extends WsContextListener {
+    public static class Config extends TesterEndpointConfig {
+
         @Override
-        public void contextInitialized(ServletContextEvent sce) {
-            super.contextInitialized(sce);
-            ServerContainer sc = (ServerContainer) sce.getServletContext()
-                    .getAttribute(Constants.
-                            SERVER_CONTAINER_SERVLET_CONTEXT_ATTRIBUTE);
-            try {
-                sc.addEndpoint(SubProtocolsEndpoint.class);
-            } catch (DeploymentException e) {
-                throw new IllegalStateException(e);
-            }
+        protected Class<?> getEndpointClass() {
+            return SubProtocolsEndpoint.class;
         }
     }
 }

Modified: 
tomcat/trunk/test/org/apache/tomcat/websocket/TesterFirehoseServer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/websocket/TesterFirehoseServer.java?rev=1724475&r1=1724474&r2=1724475&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/tomcat/websocket/TesterFirehoseServer.java 
(original)
+++ tomcat/trunk/test/org/apache/tomcat/websocket/TesterFirehoseServer.java Wed 
Jan 13 18:23:08 2016
@@ -19,19 +19,15 @@ package org.apache.tomcat.websocket;
 import java.io.IOException;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.servlet.ServletContextEvent;
-import javax.websocket.DeploymentException;
 import javax.websocket.OnClose;
 import javax.websocket.OnError;
 import javax.websocket.OnMessage;
 import javax.websocket.OnOpen;
 import javax.websocket.RemoteEndpoint.Basic;
 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.WsContextListener;
+import org.apache.tomcat.websocket.server.TesterEndpointConfig;
 
 /**
  * Sends {@link #MESSAGE_COUNT} messages of size {@link #MESSAGE_SIZE} bytes as
@@ -54,21 +50,13 @@ public class TesterFirehoseServer {
     }
 
 
-    public static class Config extends WsContextListener {
+    public static class Config extends TesterEndpointConfig {
 
         public static final String PATH = "/firehose";
 
         @Override
-        public void contextInitialized(ServletContextEvent sce) {
-            super.contextInitialized(sce);
-            ServerContainer sc =
-                    (ServerContainer) sce.getServletContext().getAttribute(
-                            
Constants.SERVER_CONTAINER_SERVLET_CONTEXT_ATTRIBUTE);
-            try {
-                sc.addEndpoint(Endpoint.class);
-            } catch (DeploymentException e) {
-                throw new IllegalStateException(e);
-            }
+        protected Class<?> getEndpointClass() {
+            return Endpoint.class;
         }
     }
 

Modified: tomcat/trunk/test/org/apache/tomcat/websocket/pojo/TesterUtil.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/websocket/pojo/TesterUtil.java?rev=1724475&r1=1724474&r2=1724475&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/tomcat/websocket/pojo/TesterUtil.java 
(original)
+++ tomcat/trunk/test/org/apache/tomcat/websocket/pojo/TesterUtil.java Wed Jan 
13 18:23:08 2016
@@ -16,18 +16,14 @@
  */
 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.WsContextListener;
+import org.apache.tomcat.websocket.server.TesterEndpointConfig;
 
 public class TesterUtil {
 
-    public static class ServerConfigListener extends WsContextListener {
+    public static class ServerConfigListener extends TesterEndpointConfig {
 
         private static Class<?> pojoClazz;
 
@@ -35,17 +31,10 @@ public class TesterUtil {
             ServerConfigListener.pojoClazz = pojoClazz;
         }
 
+
         @Override
-        public void contextInitialized(ServletContextEvent sce) {
-            super.contextInitialized(sce);
-            ServerContainer sc =
-                    (ServerContainer) sce.getServletContext().getAttribute(
-                            
Constants.SERVER_CONTAINER_SERVLET_CONTEXT_ATTRIBUTE);
-            try {
-                sc.addEndpoint(pojoClazz);
-            } catch (DeploymentException e) {
-                throw new IllegalStateException(e);
-            }
+        protected Class<?> getEndpointClass() {
+            return pojoClazz;
         }
     }
 

Modified: tomcat/trunk/test/org/apache/tomcat/websocket/server/TestClose.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/websocket/server/TestClose.java?rev=1724475&r1=1724474&r2=1724475&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/tomcat/websocket/server/TestClose.java 
(original)
+++ tomcat/trunk/test/org/apache/tomcat/websocket/server/TestClose.java Wed Jan 
13 18:23:08 2016
@@ -22,17 +22,14 @@ import java.util.Set;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
-import javax.servlet.ServletContextEvent;
 import javax.websocket.CloseReason;
 import javax.websocket.CloseReason.CloseCode;
 import javax.websocket.CloseReason.CloseCodes;
-import javax.websocket.DeploymentException;
 import javax.websocket.OnClose;
 import javax.websocket.OnError;
 import javax.websocket.OnMessage;
 import javax.websocket.OnOpen;
 import javax.websocket.Session;
-import javax.websocket.server.ServerContainer;
 import javax.websocket.server.ServerEndpointConfig;
 
 import org.junit.Assert;
@@ -350,29 +347,13 @@ public class TestClose extends TomcatBas
     }
 
 
-    public abstract static class BaseEndpointConfig extends WsContextListener {
+    public abstract static class BaseEndpointConfig extends 
TesterEndpointConfig {
 
         public static final String PATH = "/test";
 
-        protected abstract Class<?> getEndpointClass();
-
         @Override
-        public void contextInitialized(ServletContextEvent sce) {
-            super.contextInitialized(sce);
-
-            ServerContainer sc = (ServerContainer) sce
-                    .getServletContext()
-                    .getAttribute(
-                            
Constants.SERVER_CONTAINER_SERVLET_CONTEXT_ATTRIBUTE);
-
-            ServerEndpointConfig sec = ServerEndpointConfig.Builder.create(
-                    getEndpointClass(), PATH).build();
-
-            try {
-                sc.addEndpoint(sec);
-            } catch (DeploymentException e) {
-                throw new RuntimeException(e);
-            }
+        protected ServerEndpointConfig getServerEndpointConfig() {
+            return ServerEndpointConfig.Builder.create(getEndpointClass(), 
PATH).build();
         }
     }
 }

Modified: 
tomcat/trunk/test/org/apache/tomcat/websocket/server/TestWsRemoteEndpointImplServer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/websocket/server/TestWsRemoteEndpointImplServer.java?rev=1724475&r1=1724474&r2=1724475&view=diff
==============================================================================
--- 
tomcat/trunk/test/org/apache/tomcat/websocket/server/TestWsRemoteEndpointImplServer.java
 (original)
+++ 
tomcat/trunk/test/org/apache/tomcat/websocket/server/TestWsRemoteEndpointImplServer.java
 Wed Jan 13 18:23:08 2016
@@ -23,10 +23,8 @@ import java.util.List;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
-import javax.servlet.ServletContextEvent;
 import javax.websocket.CloseReason;
 import javax.websocket.ContainerProvider;
-import javax.websocket.DeploymentException;
 import javax.websocket.EncodeException;
 import javax.websocket.Encoder;
 import javax.websocket.EndpointConfig;
@@ -36,7 +34,6 @@ import javax.websocket.OnMessage;
 import javax.websocket.OnOpen;
 import javax.websocket.Session;
 import javax.websocket.WebSocketContainer;
-import javax.websocket.server.ServerContainer;
 import javax.websocket.server.ServerEndpointConfig;
 
 import org.junit.Ignore;
@@ -91,26 +88,17 @@ public class TestWsRemoteEndpointImplSer
         session.close();
     }
 
-    public static class Bug58624Config extends WsContextListener {
+    public static class Bug58624Config extends TesterEndpointConfig {
 
         public static final String PATH = "/bug58624";
-        @Override
-        public void contextInitialized(ServletContextEvent sce) {
-            super.contextInitialized(sce);
 
-            ServerContainer sc = (ServerContainer) 
sce.getServletContext().getAttribute(
-                    Constants.SERVER_CONTAINER_SERVLET_CONTEXT_ATTRIBUTE);
 
+        @Override
+        protected ServerEndpointConfig getServerEndpointConfig() {
             List<Class<? extends Encoder>> encoders = new ArrayList<>();
             encoders.add(Bug58624Encoder.class);
-            ServerEndpointConfig sec = ServerEndpointConfig.Builder.create(
+            return ServerEndpointConfig.Builder.create(
                     Bug58624Endpoint.class, PATH).encoders(encoders).build();
-
-            try {
-                sc.addEndpoint(sec);
-            } catch (DeploymentException e) {
-                throw new RuntimeException(e);
-            }
         }
     }
 

Modified: 
tomcat/trunk/test/org/apache/tomcat/websocket/server/TestWsServerContainer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/websocket/server/TestWsServerContainer.java?rev=1724475&r1=1724474&r2=1724475&view=diff
==============================================================================
--- 
tomcat/trunk/test/org/apache/tomcat/websocket/server/TestWsServerContainer.java 
(original)
+++ 
tomcat/trunk/test/org/apache/tomcat/websocket/server/TestWsServerContainer.java 
Wed Jan 13 18:23:08 2016
@@ -21,12 +21,9 @@ import java.util.Queue;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
-import javax.servlet.ServletContextEvent;
 import javax.websocket.ContainerProvider;
-import javax.websocket.DeploymentException;
 import javax.websocket.Session;
 import javax.websocket.WebSocketContainer;
-import javax.websocket.server.ServerContainer;
 import javax.websocket.server.ServerEndpointConfig;
 
 import org.junit.Assert;
@@ -97,24 +94,12 @@ public class TestWsServerContainer exten
     }
 
 
-    public static class Bug54807Config extends WsContextListener {
+    public static class Bug54807Config extends TesterEndpointConfig {
 
         @Override
-        public void contextInitialized(ServletContextEvent sce) {
-            super.contextInitialized(sce);
-
-            ServerContainer sc =
-                    (ServerContainer) sce.getServletContext().getAttribute(
-                            
Constants.SERVER_CONTAINER_SERVLET_CONTEXT_ATTRIBUTE);
-
-            ServerEndpointConfig sec = ServerEndpointConfig.Builder.create(
+        protected ServerEndpointConfig getServerEndpointConfig() {
+            return ServerEndpointConfig.Builder.create(
                     TesterEchoServer.Basic.class, "/{param}").build();
-
-            try {
-                sc.addEndpoint(sec);
-            } catch (DeploymentException e) {
-                throw new RuntimeException(e);
-            }
         }
     }
 

Added: 
tomcat/trunk/test/org/apache/tomcat/websocket/server/TesterEndpointConfig.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/websocket/server/TesterEndpointConfig.java?rev=1724475&view=auto
==============================================================================
--- 
tomcat/trunk/test/org/apache/tomcat/websocket/server/TesterEndpointConfig.java 
(added)
+++ 
tomcat/trunk/test/org/apache/tomcat/websocket/server/TesterEndpointConfig.java 
Wed Jan 13 18:23:08 2016
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.tomcat.websocket.server;
+
+import javax.servlet.ServletContextEvent;
+import javax.websocket.DeploymentException;
+import javax.websocket.server.ServerContainer;
+import javax.websocket.server.ServerEndpointConfig;
+
+public abstract class TesterEndpointConfig extends WsContextListener {
+
+    @Override
+    public void contextInitialized(ServletContextEvent sce) {
+        super.contextInitialized(sce);
+
+        ServerContainer sc = (ServerContainer) 
sce.getServletContext().getAttribute(
+                Constants.SERVER_CONTAINER_SERVLET_CONTEXT_ATTRIBUTE);
+
+        try {
+            ServerEndpointConfig sec = getServerEndpointConfig();
+            if (sec == null) {
+                sc.addEndpoint(getEndpointClass());
+            } else {
+                sc.addEndpoint(sec);
+            }
+        } catch (DeploymentException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+
+    protected Class<?> getEndpointClass() {
+        return null;
+    }
+
+
+    protected ServerEndpointConfig getServerEndpointConfig() {
+        return null;
+    }
+}

Propchange: 
tomcat/trunk/test/org/apache/tomcat/websocket/server/TesterEndpointConfig.java
------------------------------------------------------------------------------
    svn:eol-style = native



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

Reply via email to