Author: markt
Date: Wed Mar  6 16:18:39 2013
New Revision: 1453401

URL: http://svn.apache.org/r1453401
Log:
Complete update to v014 API plus some minor proposed tweaks

Added:
    tomcat/trunk/java/javax/websocket/server/ServerContainer.java   (with props)
    tomcat/trunk/java/javax/websocket/server/ServerContainerProvider.java   
(with props)
    tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java
      - copied, changed from r1453350, 
tomcat/trunk/java/org/apache/tomcat/websocket/server/ServerContainerImpl.java
    
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainerProvider.java
   (with props)
    
tomcat/trunk/res/META-INF/tomcat-websocket.jar/services/javax.websocket.server.ServerContainerProvider
Removed:
    
tomcat/trunk/java/org/apache/tomcat/websocket/server/ServerContainerImpl.java
Modified:
    
tomcat/trunk/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java
    tomcat/trunk/java/org/apache/tomcat/websocket/server/WsListener.java
    tomcat/trunk/java/org/apache/tomcat/websocket/server/WsProtocolHandler.java
    
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java
    tomcat/trunk/java/org/apache/tomcat/websocket/server/WsSci.java
    tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServlet.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/server/TestServerContainerImpl.java
    
tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/echo/WsConfigListener.java

Added: tomcat/trunk/java/javax/websocket/server/ServerContainer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/websocket/server/ServerContainer.java?rev=1453401&view=auto
==============================================================================
--- tomcat/trunk/java/javax/websocket/server/ServerContainer.java (added)
+++ tomcat/trunk/java/javax/websocket/server/ServerContainer.java Wed Mar  6 
16:18:39 2013
@@ -0,0 +1,27 @@
+/*
+ * 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 javax.websocket.server;
+
+import javax.websocket.DeploymentException;
+import javax.websocket.WebSocketContainer;
+
+public interface ServerContainer extends WebSocketContainer {
+    public abstract void addEndpoint(Class<?> clazz) throws 
DeploymentException;
+
+    public abstract void addEndpoint(ServerEndpointConfig sec)
+            throws DeploymentException;
+}

Propchange: tomcat/trunk/java/javax/websocket/server/ServerContainer.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tomcat/trunk/java/javax/websocket/server/ServerContainerProvider.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/websocket/server/ServerContainerProvider.java?rev=1453401&view=auto
==============================================================================
--- tomcat/trunk/java/javax/websocket/server/ServerContainerProvider.java 
(added)
+++ tomcat/trunk/java/javax/websocket/server/ServerContainerProvider.java Wed 
Mar  6 16:18:39 2013
@@ -0,0 +1,58 @@
+/*
+ * 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 javax.websocket.server;
+
+import java.util.Iterator;
+import java.util.ServiceLoader;
+
+public abstract class ServerContainerProvider {
+
+    private static final String DEFAULT_PROVIDER_CLASS_NAME =
+            "org.apache.tomcat.websocket.ServerContainerImpl";
+
+    /**
+     * Use the service loader API to obtain a reference to the
+     * {@link ServerContainer}.
+     */
+    static ServerContainer getServerContainer() {
+        ServerContainer result = null;
+
+        ServiceLoader<ServerContainerProvider> serviceLoader =
+                ServiceLoader.load(ServerContainerProvider.class);
+        Iterator<ServerContainerProvider> iter = serviceLoader.iterator();
+        while (result == null && iter.hasNext()) {
+            result = iter.next().getContainer();
+        }
+
+        // Fall-back. Also used by unit tests
+        if (result == null) {
+            try {
+                Class<ServerContainer> clazz =
+                        (Class<ServerContainer>) Class.forName(
+                                DEFAULT_PROVIDER_CLASS_NAME);
+                result = clazz.newInstance();
+            } catch (ClassNotFoundException | InstantiationException |
+                    IllegalAccessException e) {
+                // No options left. Just return null.
+            }
+        }
+        return result;
+
+    }
+
+    protected abstract ServerContainer getContainer();
+}

Propchange: 
tomcat/trunk/java/javax/websocket/server/ServerContainerProvider.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java?rev=1453401&r1=1453400&r2=1453401&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java
 (original)
+++ 
tomcat/trunk/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java
 Wed Mar  6 16:18:39 2013
@@ -72,14 +72,14 @@ public class DefaultServerEndpointConfig
             return requestPath.equals(path);
         }
 
-        String servletPath = ServerContainerImpl.getServletPath(path);
+        String servletPath = WsServerContainer.getServletPath(path);
         if (!requestPath.startsWith(servletPath)) {
             return false;
         }
 
         Map<String,String> params;
         try {
-            params = 
ServerContainerImpl.getServerContainer().getPathParameters(
+            params = WsServerContainer.getServerContainer().getPathParameters(
                     servletPath, requestPath.substring(servletPath.length()));
         } catch (IllegalArgumentException iae) {
             return false;

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsListener.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsListener.java?rev=1453401&r1=1453400&r2=1453401&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsListener.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsListener.java Wed 
Mar  6 16:18:39 2013
@@ -29,7 +29,7 @@ public class WsListener implements Servl
 
     @Override
     public void contextInitialized(ServletContextEvent sce) {
-        ServerContainerImpl sc = ServerContainerImpl.getServerContainer();
+        WsServerContainer sc = WsServerContainer.getServerContainer();
         sc.setServletContext(sce.getServletContext());
     }
 

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsProtocolHandler.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsProtocolHandler.java?rev=1453401&r1=1453400&r2=1453401&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsProtocolHandler.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsProtocolHandler.java 
Wed Mar  6 16:18:39 2013
@@ -52,7 +52,7 @@ public class WsProtocolHandler implement
     private final Endpoint ep;
     private final EndpointConfig endpointConfig;
     private final ClassLoader applicationClassLoader;
-    private final ServerContainerImpl webSocketContainer;
+    private final WsServerContainer webSocketContainer;
     private final WsRequest request;
     private final String subProtocol;
     private final Map<String,String> pathParameters;
@@ -62,7 +62,7 @@ public class WsProtocolHandler implement
 
 
     public WsProtocolHandler(Endpoint ep, EndpointConfig endpointConfig,
-            ServerContainerImpl wsc, WsRequest request, String subProtocol,
+            WsServerContainer wsc, WsRequest request, String subProtocol,
             Map<String,String> pathParameters, boolean secure) {
         this.ep = ep;
         this.endpointConfig = endpointConfig;

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java?rev=1453401&r1=1453400&r2=1453401&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java
 (original)
+++ 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java
 Wed Mar  6 16:18:39 2013
@@ -51,7 +51,7 @@ public class WsRemoteEndpointImplServer 
 
 
     public WsRemoteEndpointImplServer(ServletOutputStream sos,
-            ServerContainerImpl serverContainer) {
+            WsServerContainer serverContainer) {
         this.sos = sos;
         this.wsWriteTimeout = serverContainer.getTimeout();
     }

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=1453401&r1=1453400&r2=1453401&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsSci.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsSci.java Wed Mar  6 
16:18:39 2013
@@ -43,11 +43,11 @@ public class WsSci implements ServletCon
             return;
         }
 
-        ServerContainerImpl sc = ServerContainerImpl.getServerContainer();
+        WsServerContainer sc = WsServerContainer.getServerContainer();
         sc.setServletContext(ctx);
         for (Class<?> clazz : clazzes) {
             try {
-                sc.deploy(clazz);
+                sc.addEndpoint(clazz);
             } catch (DeploymentException e) {
                 throw new ServletException(e);
             }

Copied: 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java 
(from r1453350, 
tomcat/trunk/java/org/apache/tomcat/websocket/server/ServerContainerImpl.java)
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java?p2=tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java&p1=tomcat/trunk/java/org/apache/tomcat/websocket/server/ServerContainerImpl.java&r1=1453350&r2=1453401&rev=1453401&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/tomcat/websocket/server/ServerContainerImpl.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java 
Wed Mar  6 16:18:39 2013
@@ -24,6 +24,7 @@ import java.util.concurrent.ConcurrentHa
 import javax.servlet.ServletContext;
 import javax.servlet.ServletRegistration;
 import javax.websocket.DeploymentException;
+import javax.websocket.server.ServerContainer;
 import javax.websocket.server.ServerEndpoint;
 import javax.websocket.server.ServerEndpointConfig;
 
@@ -45,25 +46,26 @@ import org.apache.tomcat.websocket.pojo.
  * <li>{@link Constants#TEXT_BUFFER_SIZE_SERVLET_CONTEXT_INIT_PARAM}</li>
  * </ul>
  */
-public class ServerContainerImpl extends WsWebSocketContainer {
+public class WsServerContainer extends WsWebSocketContainer
+        implements ServerContainer {
 
     // Needs to be a WeakHashMap to prevent memory leaks when a context is
     // stopped
-    private static final Map<ClassLoader,ServerContainerImpl>
+    private static final Map<ClassLoader,WsServerContainer>
             classLoaderContainerMap = new WeakHashMap<>();
     private static final Object classLoaderContainerMapLock = new Object();
     private static final StringManager sm =
             StringManager.getManager(Constants.PACKAGE_NAME);
-    private final Log log = LogFactory.getLog(ServerContainerImpl.class);
+    private final Log log = LogFactory.getLog(WsServerContainer.class);
 
 
-    public static ServerContainerImpl getServerContainer() {
+    public static WsServerContainer getServerContainer() {
         ClassLoader tccl = Thread.currentThread().getContextClassLoader();
-        ServerContainerImpl result = null;
+        WsServerContainer result = null;
         synchronized (classLoaderContainerMapLock) {
             result = classLoaderContainerMap.get(tccl);
             if (result == null) {
-                result = new ServerContainerImpl();
+                result = new WsServerContainer();
                 classLoaderContainerMap.put(tccl, result);
             }
         }
@@ -113,7 +115,8 @@ public class ServerContainerImpl extends
      * @param sec   The configuration to use when creating endpoint instances
      * @throws DeploymentException
      */
-    public void deploy(ServerEndpointConfig sec)
+    @Override
+    public void addEndpoint(ServerEndpointConfig sec)
             throws DeploymentException {
         if (servletContext == null) {
             throw new DeploymentException(
@@ -141,13 +144,14 @@ public class ServerContainerImpl extends
 
 
     /**
-     * Provides the equivalent of {@link #deploy(ServerEndpointConfig)}
+     * Provides the equivalent of {@link #addEndpoint(ServerEndpointConfig)}
      * for publishing plain old java objects (POJOs) that have been annotated 
as
      * WebSocket endpoints.
      *
      * @param pojo   The annotated POJO
      */
-    public void deploy(Class<?> pojo) throws DeploymentException {
+    @Override
+    public void addEndpoint(Class<?> pojo) throws DeploymentException {
 
         ServerEndpoint annotation = pojo.getAnnotation(ServerEndpoint.class);
         if (annotation == null) {

Added: 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainerProvider.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainerProvider.java?rev=1453401&view=auto
==============================================================================
--- 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainerProvider.java
 (added)
+++ 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainerProvider.java
 Wed Mar  6 16:18:39 2013
@@ -0,0 +1,29 @@
+/*
+ * 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.websocket.server.ServerContainer;
+import javax.websocket.server.ServerContainerProvider;
+
+
+public class WsServerContainerProvider extends ServerContainerProvider {
+
+    @Override
+    protected ServerContainer getContainer() {
+        return new WsServerContainer();
+    }
+}

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

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServlet.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServlet.java?rev=1453401&r1=1453400&r2=1453401&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServlet.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServlet.java Wed Mar 
 6 16:18:39 2013
@@ -92,7 +92,7 @@ public class WsServlet extends HttpServl
             return;
         }
         // Need an Endpoint instance to progress this further
-        ServerContainerImpl sc = ServerContainerImpl.getServerContainer();
+        WsServerContainer sc = WsServerContainer.getServerContainer();
         Map<String,String> pathParameters = sc.getPathParameters(
                 req.getServletPath(),  req.getPathInfo());
         ServerEndpointConfig sec = sc.getServerEndpointConfiguration(

Added: 
tomcat/trunk/res/META-INF/tomcat-websocket.jar/services/javax.websocket.server.ServerContainerProvider
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/res/META-INF/tomcat-websocket.jar/services/javax.websocket.server.ServerContainerProvider?rev=1453401&view=auto
==============================================================================
--- 
tomcat/trunk/res/META-INF/tomcat-websocket.jar/services/javax.websocket.server.ServerContainerProvider
 (added)
+++ 
tomcat/trunk/res/META-INF/tomcat-websocket.jar/services/javax.websocket.server.ServerContainerProvider
 Wed Mar  6 16:18:39 2013
@@ -0,0 +1 @@
+org.apache.tomcat.websocket.server.WsServerContainerProvider
\ No newline at end of file

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=1453401&r1=1453400&r2=1453401&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java 
(original)
+++ tomcat/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java 
Wed Mar  6 16:18:39 2013
@@ -50,8 +50,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.TesterEndpoint;
-import org.apache.tomcat.websocket.server.ServerContainerImpl;
 import org.apache.tomcat.websocket.server.WsListener;
+import org.apache.tomcat.websocket.server.WsServerContainer;
 
 public class TestWsWebSocketContainer extends TomcatBaseTest {
 
@@ -412,10 +412,10 @@ public class TestWsWebSocketContainer ex
         @Override
         public void contextInitialized(ServletContextEvent sce) {
             super.contextInitialized(sce);
-            ServerContainerImpl sc = ServerContainerImpl.getServerContainer();
+            WsServerContainer sc = WsServerContainer.getServerContainer();
             sc.setServletContext(sce.getServletContext());
             try {
-                sc.deploy(BlockingPojo.class);
+                sc.addEndpoint(BlockingPojo.class);
             } catch (DeploymentException e) {
                 throw new IllegalStateException(e);
             }
@@ -522,9 +522,9 @@ public class TestWsWebSocketContainer ex
         @Override
         public void contextInitialized(ServletContextEvent sce) {
             super.contextInitialized(sce);
-            ServerContainerImpl sc = ServerContainerImpl.getServerContainer();
+            WsServerContainer sc = WsServerContainer.getServerContainer();
             try {
-                sc.deploy(ServerEndpointConfig.Builder.create(
+                sc.addEndpoint(ServerEndpointConfig.Builder.create(
                         ConstantTxEndpoint.class, PATH).build());
                 if (TestWsWebSocketContainer.timoutOnContainer) {
                     sc.setAsyncSendTimeout(TIMEOUT_MS);

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=1453401&r1=1453400&r2=1453401&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/tomcat/websocket/TesterEchoServer.java 
(original)
+++ tomcat/trunk/test/org/apache/tomcat/websocket/TesterEchoServer.java Wed Mar 
 6 16:18:39 2013
@@ -25,8 +25,8 @@ import javax.websocket.OnMessage;
 import javax.websocket.Session;
 import javax.websocket.server.ServerEndpoint;
 
-import org.apache.tomcat.websocket.server.ServerContainerImpl;
 import org.apache.tomcat.websocket.server.WsListener;
+import org.apache.tomcat.websocket.server.WsServerContainer;
 
 public class TesterEchoServer {
 
@@ -38,11 +38,11 @@ public class TesterEchoServer {
         @Override
         public void contextInitialized(ServletContextEvent sce) {
             super.contextInitialized(sce);
-            ServerContainerImpl sc = ServerContainerImpl.getServerContainer();
+            WsServerContainer sc = WsServerContainer.getServerContainer();
             sc.setServletContext(sce.getServletContext());
             try {
-                sc.deploy(Async.class);
-                sc.deploy(Basic.class);
+                sc.addEndpoint(Async.class);
+                sc.addEndpoint(Basic.class);
             } catch (DeploymentException e) {
                 throw new IllegalStateException(e);
             }

Modified: 
tomcat/trunk/test/org/apache/tomcat/websocket/server/TestServerContainerImpl.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/websocket/server/TestServerContainerImpl.java?rev=1453401&r1=1453400&r2=1453401&view=diff
==============================================================================
--- 
tomcat/trunk/test/org/apache/tomcat/websocket/server/TestServerContainerImpl.java
 (original)
+++ 
tomcat/trunk/test/org/apache/tomcat/websocket/server/TestServerContainerImpl.java
 Wed Mar  6 16:18:39 2013
@@ -24,20 +24,20 @@ public class TestServerContainerImpl {
     @Test
     public void testGetServletMappingPath() throws Exception {
         Assert.assertEquals("/foo/*",
-                ServerContainerImpl.getServletPath("/foo"));
+                WsServerContainer.getServletPath("/foo"));
         Assert.assertEquals("/foo/*",
-                ServerContainerImpl.getServletPath("/foo/"));
+                WsServerContainer.getServletPath("/foo/"));
         Assert.assertEquals("/foo/bar/*",
-                ServerContainerImpl.getServletPath("/foo/bar"));
+                WsServerContainer.getServletPath("/foo/bar"));
         Assert.assertEquals("/foo/bar/*",
-                ServerContainerImpl.getServletPath("/foo/bar/"));
+                WsServerContainer.getServletPath("/foo/bar/"));
         Assert.assertEquals("/foo/*",
-                ServerContainerImpl.getServletPath("/foo/{bar}"));
+                WsServerContainer.getServletPath("/foo/{bar}"));
         Assert.assertEquals("/foo/*",
-                ServerContainerImpl.getServletPath("/foo/{bar}/"));
+                WsServerContainer.getServletPath("/foo/{bar}/"));
         Assert.assertEquals("/foo/*",
-                ServerContainerImpl.getServletPath("/foo/x{bar}"));
+                WsServerContainer.getServletPath("/foo/x{bar}"));
         Assert.assertEquals("/foo/*",
-                ServerContainerImpl.getServletPath("/foo/x{bar}/"));
+                WsServerContainer.getServletPath("/foo/x{bar}/"));
     }
 }

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=1453401&r1=1453400&r2=1453401&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
 Wed Mar  6 16:18:39 2013
@@ -21,8 +21,8 @@ import javax.servlet.annotation.WebListe
 import javax.websocket.DeploymentException;
 import javax.websocket.server.ServerEndpointConfig;
 
-import org.apache.tomcat.websocket.server.ServerContainerImpl;
 import org.apache.tomcat.websocket.server.WsListener;
+import org.apache.tomcat.websocket.server.WsServerContainer;
 
 @WebListener
 public class WsConfigListener extends WsListener {
@@ -30,9 +30,9 @@ public class WsConfigListener extends Ws
     @Override
     public void contextInitialized(ServletContextEvent sce) {
         super.contextInitialized(sce);
-        ServerContainerImpl sc = ServerContainerImpl.getServerContainer();
+        WsServerContainer sc = WsServerContainer.getServerContainer();
         try {
-            sc.deploy(ServerEndpointConfig.Builder.create(
+            sc.addEndpoint(ServerEndpointConfig.Builder.create(
                     EchoEndpoint.class, 
"/websocket/echoProgrammatic").build());
         } catch (DeploymentException e) {
             throw new IllegalStateException(e);



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

Reply via email to