Author: markt
Date: Wed Mar  6 14:45:24 2013
New Revision: 1453350

URL: http://svn.apache.org/r1453350
Log:
Refactoring towards v014 API (not yet complete)
Added:
    tomcat/trunk/java/javax/websocket/server/DefaultServerEndpointConfig.java
      - copied, changed from r1452873, 
tomcat/trunk/java/javax/websocket/server/DefaultServerEndpointConfiguration.java
    tomcat/trunk/java/javax/websocket/server/ServerApplicationConfig.java
      - copied, changed from r1452204, 
tomcat/trunk/java/javax/websocket/server/ServerApplicationConfiguration.java
    tomcat/trunk/java/javax/websocket/server/ServerEndpointConfig.java
      - copied, changed from r1452824, 
tomcat/trunk/java/javax/websocket/server/ServerEndpointConfiguration.java
Removed:
    
tomcat/trunk/java/javax/websocket/server/DefaultServerEndpointConfiguration.java
    tomcat/trunk/java/javax/websocket/server/ServerApplicationConfiguration.java
    tomcat/trunk/java/javax/websocket/server/ServerEndpointConfiguration.java
    
tomcat/trunk/java/javax/websocket/server/ServerEndpointConfigurationBuilder.java
    tomcat/trunk/java/javax/websocket/server/ServerEndpointConfigurator.java
Modified:
    tomcat/trunk/java/javax/websocket/ContainerProvider.java
    tomcat/trunk/java/javax/websocket/server/ServerEndpoint.java
    tomcat/trunk/java/org/apache/tomcat/websocket/WsContainerProvider.java
    tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpoint.java
    
tomcat/trunk/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java
    
tomcat/trunk/java/org/apache/tomcat/websocket/server/ServerContainerImpl.java
    tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServlet.java
    tomcat/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java
    
tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/echo/WsConfigListener.java

Modified: tomcat/trunk/java/javax/websocket/ContainerProvider.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/websocket/ContainerProvider.java?rev=1453350&r1=1453349&r2=1453350&view=diff
==============================================================================
--- tomcat/trunk/java/javax/websocket/ContainerProvider.java (original)
+++ tomcat/trunk/java/javax/websocket/ContainerProvider.java Wed Mar  6 
14:45:24 2013
@@ -38,7 +38,7 @@ public abstract class ContainerProvider 
                 ServiceLoader.load(ContainerProvider.class);
         Iterator<ContainerProvider> iter = serviceLoader.iterator();
         while (result == null && iter.hasNext()) {
-            result = iter.next().getContainer(WebSocketContainer.class);
+            result = iter.next().getContainer();
         }
 
         // Fall-back. Also used by unit tests
@@ -56,5 +56,5 @@ public abstract class ContainerProvider 
         return result;
     }
 
-    protected abstract <T> T getContainer(Class<T> containerClass);
+    protected abstract WebSocketContainer getContainer();
 }

Copied: 
tomcat/trunk/java/javax/websocket/server/DefaultServerEndpointConfig.java (from 
r1452873, 
tomcat/trunk/java/javax/websocket/server/DefaultServerEndpointConfiguration.java)
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/websocket/server/DefaultServerEndpointConfig.java?p2=tomcat/trunk/java/javax/websocket/server/DefaultServerEndpointConfig.java&p1=tomcat/trunk/java/javax/websocket/server/DefaultServerEndpointConfiguration.java&r1=1452873&r2=1453350&rev=1453350&view=diff
==============================================================================
--- 
tomcat/trunk/java/javax/websocket/server/DefaultServerEndpointConfiguration.java
 (original)
+++ tomcat/trunk/java/javax/websocket/server/DefaultServerEndpointConfig.java 
Wed Mar  6 14:45:24 2013
@@ -27,8 +27,7 @@ import javax.websocket.Extension;
 /**
  * Provides the default configuration for WebSocket server endpoints.
  */
-public class DefaultServerEndpointConfiguration
-        implements ServerEndpointConfiguration {
+final class DefaultServerEndpointConfig implements ServerEndpointConfig {
 
     private final Class<?> endpointClass;
     private final String path;
@@ -36,15 +35,15 @@ public class DefaultServerEndpointConfig
     private final List<Extension> extensions;
     private final List<Class<? extends Encoder>> encoders;
     private final List<Class<? extends Decoder>> decoders;
-    private final ServerEndpointConfigurator serverEndpointConfigurator;
+    private final Configurator serverEndpointConfigurator;
     private final Map<String,Object> userProperties = new HashMap<>();
 
-    DefaultServerEndpointConfiguration(
+    DefaultServerEndpointConfig(
             Class<?> endpointClass, String path,
             List<String> subprotocols, List<Extension> extensions,
             List<Class<? extends Encoder>> encoders,
             List<Class<? extends Decoder>> decoders,
-            ServerEndpointConfigurator serverEndpointConfigurator) {
+            Configurator serverEndpointConfigurator) {
         this.endpointClass = endpointClass;
         this.path = path;
         this.subprotocols = subprotocols;
@@ -75,7 +74,7 @@ public class DefaultServerEndpointConfig
     }
 
     @Override
-    public ServerEndpointConfigurator getServerEndpointConfigurator() {
+    public Configurator getConfigurator() {
         return serverEndpointConfigurator;
     }
 
@@ -85,12 +84,12 @@ public class DefaultServerEndpointConfig
     }
 
     @Override
-    public List<String> getSubprotocols() {
+    public final List<String> getSubprotocols() {
         return subprotocols;
     }
 
     @Override
-    public List<Extension> getExtensions() {
+    public final List<Extension> getExtensions() {
         return extensions;
     }
 }

Copied: tomcat/trunk/java/javax/websocket/server/ServerApplicationConfig.java 
(from r1452204, 
tomcat/trunk/java/javax/websocket/server/ServerApplicationConfiguration.java)
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/websocket/server/ServerApplicationConfig.java?p2=tomcat/trunk/java/javax/websocket/server/ServerApplicationConfig.java&p1=tomcat/trunk/java/javax/websocket/server/ServerApplicationConfiguration.java&r1=1452204&r2=1453350&rev=1453350&view=diff
==============================================================================
--- 
tomcat/trunk/java/javax/websocket/server/ServerApplicationConfiguration.java 
(original)
+++ tomcat/trunk/java/javax/websocket/server/ServerApplicationConfig.java Wed 
Mar  6 14:45:24 2013
@@ -20,9 +20,9 @@ import java.util.Set;
 
 import javax.websocket.Endpoint;
 
-public interface ServerApplicationConfiguration {
+public interface ServerApplicationConfig {
 
-    Set<Class<? extends ServerEndpointConfiguration>> getEndpointConfiguration(
+    Set<Class<? extends ServerEndpointConfig>> getEndpointConfiguration(
             Set<Class<? extends Endpoint>> scanned);
 
     Set<Class<?>> getAnnotatedEndpointClasses(Set<Class<?>> scanned);

Modified: tomcat/trunk/java/javax/websocket/server/ServerEndpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/websocket/server/ServerEndpoint.java?rev=1453350&r1=1453349&r2=1453350&view=diff
==============================================================================
--- tomcat/trunk/java/javax/websocket/server/ServerEndpoint.java (original)
+++ tomcat/trunk/java/javax/websocket/server/ServerEndpoint.java Wed Mar  6 
14:45:24 2013
@@ -39,6 +39,6 @@ public @interface ServerEndpoint {
 
     Class<? extends Encoder>[] encoders() default {};
 
-    public Class<? extends ServerEndpointConfigurator> configurator()
-            default ServerEndpointConfigurator.class;
+    public Class<? extends ServerEndpointConfig.Configurator> configurator()
+            default ServerEndpointConfig.Configurator.class;
 }

Copied: tomcat/trunk/java/javax/websocket/server/ServerEndpointConfig.java 
(from r1452824, 
tomcat/trunk/java/javax/websocket/server/ServerEndpointConfiguration.java)
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/websocket/server/ServerEndpointConfig.java?p2=tomcat/trunk/java/javax/websocket/server/ServerEndpointConfig.java&p1=tomcat/trunk/java/javax/websocket/server/ServerEndpointConfiguration.java&r1=1452824&r2=1453350&rev=1453350&view=diff
==============================================================================
--- tomcat/trunk/java/javax/websocket/server/ServerEndpointConfiguration.java 
(original)
+++ tomcat/trunk/java/javax/websocket/server/ServerEndpointConfig.java Wed Mar  
6 14:45:24 2013
@@ -16,29 +16,198 @@
  */
 package javax.websocket.server;
 
+import java.net.URI;
+import java.util.Collections;
+import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
+import java.util.ServiceLoader;
 
+import javax.websocket.Decoder;
+import javax.websocket.Encoder;
 import javax.websocket.EndpointConfig;
 import javax.websocket.Extension;
+import javax.websocket.HandshakeResponse;
 
 /**
  * Provides configuration information for WebSocket endpoints published to a
  * server. Applications may provide their own implementation or use
- * {@link ServerEndpointConfigurationBuilder}.
+ * {@link Builder}.
  */
-public interface ServerEndpointConfiguration extends EndpointConfig {
+public interface ServerEndpointConfig extends EndpointConfig {
 
     Class<?> getEndpointClass();
 
-    List<String> getSubprotocols();
-
-    List<Extension> getExtensions();
-
     /**
      * Returns the path at which this WebSocket server endpoint has been
      * registered. It may be a path or a level 0 URI template.
      */
     String getPath();
 
-    ServerEndpointConfigurator getServerEndpointConfigurator();
+    List<String> getSubprotocols();
+
+    List<Extension> getExtensions();
+
+    Configurator getConfigurator();
+
+
+    public final class Builder {
+
+        public static Builder create(
+                Class<?> endpointClass, String path) {
+            return new Builder(endpointClass, path);
+        }
+
+
+        private final Class<?> endpointClass;
+        private final String path;
+        private List<Class<? extends Encoder>> encoders = 
Collections.EMPTY_LIST;
+        private List<Class<? extends Decoder>> decoders = 
Collections.EMPTY_LIST;
+        private List<String> subprotocols = Collections.EMPTY_LIST;
+        private List<Extension> extensions = Collections.EMPTY_LIST;
+        private Configurator configurator =
+                Configurator.fetchContainerDefaultConfigurator();
+
+
+        private Builder(Class<?> endpointClass,
+                String path) {
+            this.endpointClass = endpointClass;
+            this.path = path;
+        }
+
+        public ServerEndpointConfig build() {
+            return new DefaultServerEndpointConfig(endpointClass, path,
+                    subprotocols, extensions, encoders, decoders, 
configurator);
+        }
+
+
+        public Builder encoders(
+                List<Class<? extends Encoder>> encoders) {
+            if (encoders == null || encoders.size() == 0) {
+                this.encoders = Collections.EMPTY_LIST;
+            } else {
+                this.encoders = Collections.unmodifiableList(encoders);
+            }
+            return this;
+        }
+
+
+        public Builder decoders(
+                List<Class<? extends Decoder>> decoders) {
+            if (decoders == null || decoders.size() == 0) {
+                this.decoders = Collections.EMPTY_LIST;
+            } else {
+                this.decoders = Collections.unmodifiableList(decoders);
+            }
+            return this;
+        }
+
+
+        public Builder subprotocols(
+                List<String> subprotocols) {
+            if (subprotocols == null || subprotocols.size() == 0) {
+                this.subprotocols = Collections.EMPTY_LIST;
+            } else {
+                this.subprotocols = Collections.unmodifiableList(subprotocols);
+            }
+            return this;
+        }
+
+
+        public Builder extensions(
+                List<Extension> extensions) {
+            if (extensions == null || extensions.size() == 0) {
+                this.extensions = Collections.EMPTY_LIST;
+            } else {
+                this.extensions = Collections.unmodifiableList(extensions);
+            }
+            return this;
+        }
+
+
+        public Builder configurator(Configurator serverEndpointConfigurator) {
+            if (serverEndpointConfigurator == null) {
+                this.configurator = 
Configurator.fetchContainerDefaultConfigurator();
+            } else {
+                this.configurator = serverEndpointConfigurator;
+            }
+            return this;
+        }
+    }
+
+
+    public abstract class Configurator {
+
+        private static volatile Configurator defaultImpl = null;
+        private static final Object defaultImplLock = new Object();
+
+        private static final String DEFAULT_IMPL_CLASSNAME =
+                
"org.apache.tomcat.websocket.server.DefaultServerEndpointConfigurator";
+
+        static Configurator fetchContainerDefaultConfigurator() {
+            if (defaultImpl == null) {
+                synchronized (defaultImplLock) {
+                    if (defaultImpl == null) {
+                        defaultImpl = loadDefault();
+                    }
+                }
+            }
+            return defaultImpl;
+        }
+
+
+        private static Configurator loadDefault() {
+            Configurator result = null;
+
+            ServiceLoader<Configurator> serviceLoader =
+                    ServiceLoader.load(Configurator.class);
+
+            Iterator<Configurator> iter = serviceLoader.iterator();
+            while (result == null && iter.hasNext()) {
+                result = iter.next();
+            }
+
+            // Fall-back. Also used by unit tests
+            if (result == null) {
+                try {
+                    Class<Configurator> clazz =
+                            (Class<Configurator>) Class.forName(
+                                    DEFAULT_IMPL_CLASSNAME);
+                    result = clazz.newInstance();
+                } catch (ClassNotFoundException | InstantiationException |
+                        IllegalAccessException e) {
+                    // No options left. Just return null.
+                }
+            }
+            return result;
+        }
+
+        public String getNegotiatedSubprotocol(List<String> supported,
+                List<String> requested) {
+            return 
fetchContainerDefaultConfigurator().getNegotiatedSubprotocol(supported, 
requested);
+        }
+
+
+        public List<Extension> getNegotiatedExtensions(List<Extension> 
installed,
+                List<Extension> requested) {
+            return 
fetchContainerDefaultConfigurator().getNegotiatedExtensions(installed, 
requested);
+        }
+
+
+        public boolean checkOrigin(String originHeaderValue) {
+            return 
fetchContainerDefaultConfigurator().checkOrigin(originHeaderValue);
+        }
+
+
+        public boolean matchesURI(String path, URI requestUri,
+                Map<String, String> templateExpansion) {
+            return fetchContainerDefaultConfigurator().matchesURI(path, 
requestUri, templateExpansion);
+        }
+
+
+        public void modifyHandshake(ServerEndpointConfig sec,
+                HandshakeRequest request, HandshakeResponse response) {
+            fetchContainerDefaultConfigurator().modifyHandshake(sec, request, 
response);
+        }
+    }
 }

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsContainerProvider.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsContainerProvider.java?rev=1453350&r1=1453349&r2=1453350&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/WsContainerProvider.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/WsContainerProvider.java Wed 
Mar  6 14:45:24 2013
@@ -17,18 +17,12 @@
 package org.apache.tomcat.websocket;
 
 import javax.websocket.ContainerProvider;
+import javax.websocket.WebSocketContainer;
 
 public class WsContainerProvider extends ContainerProvider {
 
     @Override
-    protected <T> T getContainer(Class<T> containerClass) {
-        if (containerClass.isAssignableFrom(WsWebSocketContainer.class)) {
-            @SuppressWarnings("unchecked")
-            T result = (T) new WsWebSocketContainer();
-            return result;
-        } else {
-            // Not supported
-            return null;
-        }
+    protected WebSocketContainer getContainer() {
+        return new WsWebSocketContainer();
     }
 }

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpoint.java?rev=1453350&r1=1453349&r2=1453350&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpoint.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpoint.java Wed 
Mar  6 14:45:24 2013
@@ -24,7 +24,7 @@ import javax.websocket.Endpoint;
 import javax.websocket.EndpointConfig;
 import javax.websocket.MessageHandler;
 import javax.websocket.Session;
-import javax.websocket.server.ServerEndpointConfiguration;
+import javax.websocket.server.ServerEndpointConfig;
 
 /**
  * Wrapper class for instances of POJOs annotated with
@@ -47,8 +47,8 @@ public class PojoEndpoint extends Endpoi
     public void onOpen(Session session,
             EndpointConfig endpointConfiguration) {
 
-        ServerEndpointConfiguration sec =
-                (ServerEndpointConfiguration) endpointConfiguration;
+        ServerEndpointConfig sec =
+                (ServerEndpointConfig) endpointConfiguration;
 
         try {
             pojo = sec.getEndpointClass().newInstance();

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=1453350&r1=1453349&r2=1453350&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 14:45:24 2013
@@ -24,11 +24,10 @@ import java.util.Map;
 import javax.websocket.Extension;
 import javax.websocket.HandshakeResponse;
 import javax.websocket.server.HandshakeRequest;
-import javax.websocket.server.ServerEndpointConfiguration;
-import javax.websocket.server.ServerEndpointConfigurator;
+import javax.websocket.server.ServerEndpointConfig;
 
 public class DefaultServerEndpointConfigurator
-        extends ServerEndpointConfigurator {
+        extends ServerEndpointConfig.Configurator {
 
     @Override
     public String getNegotiatedSubprotocol(List<String> supported,
@@ -96,7 +95,7 @@ public class DefaultServerEndpointConfig
     }
 
     @Override
-    public void modifyHandshake(ServerEndpointConfiguration sec,
+    public void modifyHandshake(ServerEndpointConfig sec,
             HandshakeRequest request, HandshakeResponse response) {
         // NO-OP
     }

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/server/ServerContainerImpl.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/ServerContainerImpl.java?rev=1453350&r1=1453349&r2=1453350&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/tomcat/websocket/server/ServerContainerImpl.java 
(original)
+++ 
tomcat/trunk/java/org/apache/tomcat/websocket/server/ServerContainerImpl.java 
Wed Mar  6 14:45:24 2013
@@ -25,8 +25,7 @@ import javax.servlet.ServletContext;
 import javax.servlet.ServletRegistration;
 import javax.websocket.DeploymentException;
 import javax.websocket.server.ServerEndpoint;
-import javax.websocket.server.ServerEndpointConfiguration;
-import javax.websocket.server.ServerEndpointConfigurationBuilder;
+import javax.websocket.server.ServerEndpointConfig;
 
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
@@ -74,7 +73,7 @@ public class ServerContainerImpl extends
     private final WsWriteTimeout wsWriteTimeout = new WsWriteTimeout();
 
     private volatile ServletContext servletContext = null;
-    private final Map<String,ServerEndpointConfiguration> configMap =
+    private final Map<String,ServerEndpointConfig> configMap =
             new ConcurrentHashMap<>();
     private final Map<String,UriTemplate> templateMap =
             new ConcurrentHashMap<>();
@@ -114,7 +113,7 @@ public class ServerContainerImpl extends
      * @param sec   The configuration to use when creating endpoint instances
      * @throws DeploymentException
      */
-    public void deploy(ServerEndpointConfiguration sec)
+    public void deploy(ServerEndpointConfig sec)
             throws DeploymentException {
         if (servletContext == null) {
             throw new DeploymentException(
@@ -142,7 +141,7 @@ public class ServerContainerImpl extends
 
 
     /**
-     * Provides the equivalent of {@link #deploy(ServerEndpointConfiguration)}
+     * Provides the equivalent of {@link #deploy(ServerEndpointConfig)}
      * for publishing plain old java objects (POJOs) that have been annotated 
as
      * WebSocket endpoints.
      *
@@ -189,9 +188,9 @@ public class ServerContainerImpl extends
     }
 
 
-    public ServerEndpointConfiguration getServerEndpointConfiguration(
+    public ServerEndpointConfig getServerEndpointConfiguration(
             String servletPath, Map<String,String> pathParameters) {
-        ServerEndpointConfiguration sec = configMap.get(servletPath);
+        ServerEndpointConfig sec = configMap.get(servletPath);
         if (sec != null) {
             return sec;
         }
@@ -199,7 +198,7 @@ public class ServerContainerImpl extends
         if (pojo != null) {
             PojoMethodMapping methodMapping = pojoMethodMap.get(pojo);
             if (methodMapping != null) {
-                sec = ServerEndpointConfigurationBuilder.create(
+                sec = ServerEndpointConfig.Builder.create(
                         pojo, methodMapping.getWsPath()).build();
                 sec.getUserProperties().put(
                         PojoEndpoint.POJO_PATH_PARAM_KEY, pathParameters);

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=1453350&r1=1453349&r2=1453350&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 14:45:24 2013
@@ -41,7 +41,7 @@ import javax.servlet.http.HttpServletRes
 import javax.servlet.http.HttpUpgradeHandler;
 import javax.websocket.Endpoint;
 import javax.websocket.Extension;
-import javax.websocket.server.ServerEndpointConfiguration;
+import javax.websocket.server.ServerEndpointConfig;
 import javax.xml.bind.DatatypeConverter;
 
 import org.apache.tomcat.websocket.Constants;
@@ -95,11 +95,11 @@ public class WsServlet extends HttpServl
         ServerContainerImpl sc = ServerContainerImpl.getServerContainer();
         Map<String,String> pathParameters = sc.getPathParameters(
                 req.getServletPath(),  req.getPathInfo());
-        ServerEndpointConfiguration sec = sc.getServerEndpointConfiguration(
+        ServerEndpointConfig sec = sc.getServerEndpointConfiguration(
                 req.getServletPath(), pathParameters);
         // Origin check
         String origin = req.getHeader("Origin");
-        if (!sec.getServerEndpointConfigurator().checkOrigin(origin)) {
+        if (!sec.getConfigurator().checkOrigin(origin)) {
             resp.sendError(HttpServletResponse.SC_FORBIDDEN);
             return;
         }
@@ -107,7 +107,7 @@ public class WsServlet extends HttpServl
         List<String> subProtocols = getTokensFromHeader(req,
                 "Sec-WebSocket-Protocol");
         if (!subProtocols.isEmpty()) {
-            subProtocol = sec.getServerEndpointConfigurator().
+            subProtocol = sec.getConfigurator().
                     getNegotiatedSubprotocol(
                             sec.getSubprotocols(), subProtocols);
         }

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=1453350&r1=1453349&r2=1453350&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java 
(original)
+++ tomcat/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java 
Wed Mar  6 14:45:24 2013
@@ -27,7 +27,7 @@ import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
 
 import javax.servlet.ServletContextEvent;
-import javax.websocket.ClientEndpointConfig.Builder;
+import javax.websocket.ClientEndpointConfig;
 import javax.websocket.ContainerProvider;
 import javax.websocket.DeploymentException;
 import javax.websocket.Endpoint;
@@ -37,7 +37,7 @@ import javax.websocket.OnMessage;
 import javax.websocket.Session;
 import javax.websocket.WebSocketContainer;
 import javax.websocket.server.ServerEndpoint;
-import javax.websocket.server.ServerEndpointConfigurationBuilder;
+import javax.websocket.server.ServerEndpointConfig;
 
 import org.junit.Assert;
 import org.junit.Test;
@@ -84,7 +84,7 @@ public class TestWsWebSocketContainer ex
         WebSocketContainer wsContainer =
                 ContainerProvider.getWebSocketContainer();
         Session wsSession = wsContainer.connectToServer(TesterEndpoint.class,
-                Builder.create().build(),
+                ClientEndpointConfig.Builder.create().build(),
                 new URI("http://localhost:"; + getPort() +
                         TesterEchoServer.Config.PATH_ASYNC));
         CountDownLatch latch = new CountDownLatch(1);
@@ -115,7 +115,7 @@ public class TestWsWebSocketContainer ex
         WebSocketContainer wsContainer =
                 ContainerProvider.getWebSocketContainer();
         wsContainer.connectToServer(TesterEndpoint.class,
-                Builder.create().build(),
+                ClientEndpointConfig.Builder.create().build(),
                 new URI("ftp://localhost:"; + getPort() +
                         TesterEchoServer.Config.PATH_ASYNC));
     }
@@ -134,7 +134,7 @@ public class TestWsWebSocketContainer ex
         WebSocketContainer wsContainer =
                 ContainerProvider.getWebSocketContainer();
         wsContainer.connectToServer(TesterEndpoint.class,
-                Builder.create().build(),
+                ClientEndpointConfig.Builder.create().build(),
                 new URI("http://"; + TesterEchoServer.Config.PATH_ASYNC));
     }
 
@@ -222,7 +222,7 @@ public class TestWsWebSocketContainer ex
         tomcat.start();
 
         Session wsSession = wsContainer.connectToServer(TesterEndpoint.class,
-                Builder.create().build(),
+                ClientEndpointConfig.Builder.create().build(),
                         new URI("http://localhost:"; + getPort() +
                                 TesterEchoServer.Config.PATH_BASIC));
         BasicHandler<?> handler;
@@ -293,7 +293,7 @@ public class TestWsWebSocketContainer ex
         tomcat.start();
 
         Session wsSession = wsContainer.connectToServer(TesterEndpoint.class,
-                Builder.create().build(),
+                ClientEndpointConfig.Builder.create().build(),
                 new URI("http://localhost:"; + getPort() + 
BlockingConfig.PATH));
 
         if (!setTimeoutOnContainer) {
@@ -374,7 +374,7 @@ public class TestWsWebSocketContainer ex
         tomcat.start();
 
         Session wsSession = wsContainer.connectToServer(TesterEndpoint.class,
-                Builder.create().build(),
+                ClientEndpointConfig.Builder.create().build(),
                 new URI("http://localhost:"; + getPort() +
                         ConstantTxConfig.PATH));
 
@@ -524,7 +524,7 @@ public class TestWsWebSocketContainer ex
             super.contextInitialized(sce);
             ServerContainerImpl sc = ServerContainerImpl.getServerContainer();
             try {
-                sc.deploy(ServerEndpointConfigurationBuilder.create(
+                sc.deploy(ServerEndpointConfig.Builder.create(
                         ConstantTxEndpoint.class, PATH).build());
                 if (TestWsWebSocketContainer.timoutOnContainer) {
                     sc.setAsyncSendTimeout(TIMEOUT_MS);
@@ -668,7 +668,7 @@ public class TestWsWebSocketContainer ex
     private Session connectToEchoServerBasic(WebSocketContainer wsContainer,
             Class<? extends Endpoint> clazz) throws Exception {
         return wsContainer.connectToServer(clazz,
-                Builder.create().build(),
+                ClientEndpointConfig.Builder.create().build(),
                 new URI("http://localhost:"; + getPort() +
                         TesterEchoServer.Config.PATH_BASIC));
     }

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=1453350&r1=1453349&r2=1453350&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 14:45:24 2013
@@ -19,7 +19,7 @@ package websocket.echo;
 import javax.servlet.ServletContextEvent;
 import javax.servlet.annotation.WebListener;
 import javax.websocket.DeploymentException;
-import javax.websocket.server.ServerEndpointConfigurationBuilder;
+import javax.websocket.server.ServerEndpointConfig;
 
 import org.apache.tomcat.websocket.server.ServerContainerImpl;
 import org.apache.tomcat.websocket.server.WsListener;
@@ -32,7 +32,7 @@ public class WsConfigListener extends Ws
         super.contextInitialized(sce);
         ServerContainerImpl sc = ServerContainerImpl.getServerContainer();
         try {
-            sc.deploy(ServerEndpointConfigurationBuilder.create(
+            sc.deploy(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