selectedExtensions) {
- // shouldn't matter for processing but must be unique
+ // Shouldn't matter for processing but must be unique
String endpointPath = "/" + random.nextLong();
ServerEndpointRegistration endpointConfig = new ServerEndpointRegistration(endpointPath, endpoint);
endpointConfig.setSubprotocols(Arrays.asList(selectedProtocol));
@@ -148,23 +192,21 @@ public abstract class AbstractGlassFishRequestUpgradeStrategy extends AbstractSt
endpointConfig.getConfigurator()));
}
- /**
- * Create the actual TyrusEndpoint
- * @param endpoint The WebSocket endpoint
- * @return The configured WebSocketApplication, most likely {@code TyrusEndpoint}
- */
- abstract protected WebSocketApplication createTyrusEndpoint(EndpointWrapper endpoint);
-
private Connection createConnection(TyrusHttpUpgradeHandler handler, HttpServletResponse response) {
try {
- String name = "org.glassfish.tyrus.servlet.ConnectionImpl";
- Class> clazz = ClassUtils.forName(name, GlassFishRequestUpgradeStrategy.class.getClassLoader());
- Constructor> constructor = clazz.getDeclaredConstructor(TyrusHttpUpgradeHandler.class, HttpServletResponse.class);
- ReflectionUtils.makeAccessible(constructor);
- return (Connection) constructor.newInstance(handler, response);
+ return (Connection) tyrusConnectionConstructor.newInstance(handler, response);
+ }
+ catch (Exception ex) {
+ throw new IllegalStateException("Failed to create GlassFish connection", ex);
+ }
+ }
+
+ protected WebSocketApplication createTyrusEndpoint(EndpointWrapper endpoint) {
+ try {
+ return (WebSocketApplication) tyrusEndpointConstructor.newInstance(endpoint);
}
catch (Exception ex) {
- throw new IllegalStateException("Failed to instantiate GlassFish connection", ex);
+ throw new IllegalStateException("Failed to create GlassFish endpoint", ex);
}
}
diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/server/support/ServerEndpointExporter.java b/spring-websocket/src/main/java/org/springframework/web/socket/server/standard/ServerEndpointExporter.java
similarity index 99%
rename from spring-websocket/src/main/java/org/springframework/web/socket/server/support/ServerEndpointExporter.java
rename to spring-websocket/src/main/java/org/springframework/web/socket/server/standard/ServerEndpointExporter.java
index fb3b926c497..3171f1f6ce4 100644
--- a/spring-websocket/src/main/java/org/springframework/web/socket/server/support/ServerEndpointExporter.java
+++ b/spring-websocket/src/main/java/org/springframework/web/socket/server/standard/ServerEndpointExporter.java
@@ -14,14 +14,13 @@
* limitations under the License.
*/
-package org.springframework.web.socket.server.support;
+package org.springframework.web.socket.server.standard;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
-
import javax.websocket.DeploymentException;
import javax.websocket.server.ServerContainer;
import javax.websocket.server.ServerEndpoint;
@@ -29,6 +28,7 @@ import javax.websocket.server.ServerEndpointConfig;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.config.BeanPostProcessor;
diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/server/support/ServerEndpointRegistration.java b/spring-websocket/src/main/java/org/springframework/web/socket/server/standard/ServerEndpointRegistration.java
similarity index 98%
rename from spring-websocket/src/main/java/org/springframework/web/socket/server/support/ServerEndpointRegistration.java
rename to spring-websocket/src/main/java/org/springframework/web/socket/server/standard/ServerEndpointRegistration.java
index 24da19b28c6..bf8da81ff48 100644
--- a/spring-websocket/src/main/java/org/springframework/web/socket/server/support/ServerEndpointRegistration.java
+++ b/spring-websocket/src/main/java/org/springframework/web/socket/server/standard/ServerEndpointRegistration.java
@@ -14,13 +14,12 @@
* limitations under the License.
*/
-package org.springframework.web.socket.server.support;
+package org.springframework.web.socket.server.standard;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-
import javax.websocket.Decoder;
import javax.websocket.Encoder;
import javax.websocket.Endpoint;
@@ -33,7 +32,7 @@ import org.springframework.beans.BeansException;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.BeanFactoryAware;
import org.springframework.util.Assert;
-import org.springframework.web.socket.support.BeanCreatingHandlerProvider;
+import org.springframework.web.socket.handler.BeanCreatingHandlerProvider;
/**
* An implementation of {@link javax.websocket.server.ServerEndpointConfig} for use in
diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/server/support/ServletServerContainerFactoryBean.java b/spring-websocket/src/main/java/org/springframework/web/socket/server/standard/ServletServerContainerFactoryBean.java
similarity index 95%
rename from spring-websocket/src/main/java/org/springframework/web/socket/server/support/ServletServerContainerFactoryBean.java
rename to spring-websocket/src/main/java/org/springframework/web/socket/server/standard/ServletServerContainerFactoryBean.java
index a6c99c1823c..eb4580c94fc 100644
--- a/spring-websocket/src/main/java/org/springframework/web/socket/server/support/ServletServerContainerFactoryBean.java
+++ b/spring-websocket/src/main/java/org/springframework/web/socket/server/standard/ServletServerContainerFactoryBean.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.web.socket.server.support;
+package org.springframework.web.socket.server.standard;
import javax.servlet.ServletContext;
import javax.websocket.WebSocketContainer;
@@ -33,7 +33,7 @@ import org.springframework.web.context.ServletContextAware;
* configuration.
*
* This is useful even if the {@code ServerContainer} is not injected into any other
- * bean. For example, an application can configure a {@link DefaultHandshakeHandler}, a
+ * bean. For example, an application can configure a {@link org.springframework.web.socket.server.support.DefaultHandshakeHandler}, a
* {@link org.springframework.web.socket.sockjs.SockJsService}, or {@link ServerEndpointExporter},
* and separately declare this FactoryBean in order to customize the properties of the
* (one and only) {@code ServerContainer} instance.
diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/server/support/SpringConfigurator.java b/spring-websocket/src/main/java/org/springframework/web/socket/server/standard/SpringConfigurator.java
similarity index 98%
rename from spring-websocket/src/main/java/org/springframework/web/socket/server/support/SpringConfigurator.java
rename to spring-websocket/src/main/java/org/springframework/web/socket/server/standard/SpringConfigurator.java
index 202833f3148..9ee7cb77487 100644
--- a/spring-websocket/src/main/java/org/springframework/web/socket/server/support/SpringConfigurator.java
+++ b/spring-websocket/src/main/java/org/springframework/web/socket/server/standard/SpringConfigurator.java
@@ -14,16 +14,16 @@
* limitations under the License.
*/
-package org.springframework.web.socket.server.support;
+package org.springframework.web.socket.server.standard;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
-
import javax.websocket.server.ServerEndpoint;
import javax.websocket.server.ServerEndpointConfig.Configurator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+
import org.springframework.core.annotation.AnnotationUtils;
import org.springframework.stereotype.Component;
import org.springframework.util.ClassUtils;
diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/server/support/TomcatRequestUpgradeStrategy.java b/spring-websocket/src/main/java/org/springframework/web/socket/server/standard/TomcatRequestUpgradeStrategy.java
similarity index 98%
rename from spring-websocket/src/main/java/org/springframework/web/socket/server/support/TomcatRequestUpgradeStrategy.java
rename to spring-websocket/src/main/java/org/springframework/web/socket/server/standard/TomcatRequestUpgradeStrategy.java
index 5af90542ba1..157079e79f9 100644
--- a/spring-websocket/src/main/java/org/springframework/web/socket/server/support/TomcatRequestUpgradeStrategy.java
+++ b/spring-websocket/src/main/java/org/springframework/web/socket/server/standard/TomcatRequestUpgradeStrategy.java
@@ -14,14 +14,13 @@
* limitations under the License.
*/
-package org.springframework.web.socket.server.support;
+package org.springframework.web.socket.server.standard;
import java.io.IOException;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
-
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -29,6 +28,7 @@ import javax.websocket.Endpoint;
import javax.websocket.Extension;
import org.apache.tomcat.websocket.server.WsServerContainer;
+
import org.springframework.http.server.ServerHttpRequest;
import org.springframework.http.server.ServerHttpResponse;
import org.springframework.http.server.ServletServerHttpRequest;
diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/server/standard/package-info.java b/spring-websocket/src/main/java/org/springframework/web/socket/server/standard/package-info.java
new file mode 100644
index 00000000000..a015a6eaa4f
--- /dev/null
+++ b/spring-websocket/src/main/java/org/springframework/web/socket/server/standard/package-info.java
@@ -0,0 +1,21 @@
+/*
+ * Copyright 2002-2013 the original author or authors.
+ *
+ * Licensed 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.
+ */
+
+/**
+ * Server-side classes for use with standard Java WebSocket endpoints.
+ */
+package org.springframework.web.socket.server.standard;
+
diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/server/support/DefaultHandshakeHandler.java b/spring-websocket/src/main/java/org/springframework/web/socket/server/support/DefaultHandshakeHandler.java
index dc1ff0575d7..d8fd5c8f82c 100644
--- a/spring-websocket/src/main/java/org/springframework/web/socket/server/support/DefaultHandshakeHandler.java
+++ b/spring-websocket/src/main/java/org/springframework/web/socket/server/support/DefaultHandshakeHandler.java
@@ -33,26 +33,26 @@ import org.springframework.http.server.ServerHttpRequest;
import org.springframework.http.server.ServerHttpResponse;
import org.springframework.util.ClassUtils;
import org.springframework.util.StringUtils;
+import org.springframework.web.socket.SubProtocolCapable;
+import org.springframework.web.socket.WebSocketExtension;
import org.springframework.web.socket.WebSocketHandler;
import org.springframework.web.socket.server.HandshakeFailureException;
import org.springframework.web.socket.server.HandshakeHandler;
import org.springframework.web.socket.server.RequestUpgradeStrategy;
-import org.springframework.web.socket.support.SubProtocolCapable;
-import org.springframework.web.socket.WebSocketExtension;
-import org.springframework.web.socket.support.WebSocketHandlerDecorator;
-import org.springframework.web.socket.support.WebSocketHttpHeaders;
+import org.springframework.web.socket.handler.WebSocketHandlerDecorator;
+import org.springframework.web.socket.WebSocketHttpHeaders;
/**
- * A default {@link org.springframework.web.socket.server.HandshakeHandler} implementation. Performs initial validation of the
- * WebSocket handshake request -- possibly rejecting it through the appropriate HTTP
- * status code -- while also allowing sub-classes to override various parts of the
- * negotiation process (e.g. origin validation, sub-protocol negotiation,
+ * A default {@link org.springframework.web.socket.server.HandshakeHandler} implementation.
+ * Performs initial validation of the WebSocket handshake request -- possibly rejecting it
+ * through the appropriate HTTP status code -- while also allowing sub-classes to override
+ * various parts of the negotiation process (e.g. origin validation, sub-protocol negotiation,
* extensions negotiation, etc).
*
*
If the negotiation succeeds, the actual upgrade is delegated to a server-specific
- * {@link org.springframework.web.socket.server.RequestUpgradeStrategy}, which will update the response as necessary and
- * initialize the WebSocket. Currently supported servers are Tomcat 7 and 8, Jetty 9, and
- * Glassfish 4.
+ * {@link org.springframework.web.socket.server.RequestUpgradeStrategy}, which will update
+ * the response as necessary and initialize the WebSocket. Currently supported servers are
+ * Tomcat 7 and 8, Jetty 9, and GlassFish 4.
*
* @author Rossen Stoyanchev
* @since 4.0
@@ -61,17 +61,14 @@ public class DefaultHandshakeHandler implements HandshakeHandler {
protected Log logger = LogFactory.getLog(getClass());
- private static final boolean tomcatWsPresent = ClassUtils.isPresent(
- "org.apache.tomcat.websocket.server.WsHttpUpgradeHandler", HandshakeHandler.class.getClassLoader());
-
private static final boolean jettyWsPresent = ClassUtils.isPresent(
- "org.eclipse.jetty.websocket.server.WebSocketServerFactory", HandshakeHandler.class.getClassLoader());
+ "org.eclipse.jetty.websocket.server.WebSocketServerFactory", DefaultHandshakeHandler.class.getClassLoader());
- private static final boolean glassFishWsPresent = ClassUtils.isPresent(
- "org.glassfish.tyrus.servlet.TyrusHttpUpgradeHandler", HandshakeHandler.class.getClassLoader());
+ private static final boolean tomcatWsPresent = ClassUtils.isPresent(
+ "org.apache.tomcat.websocket.server.WsHttpUpgradeHandler", DefaultHandshakeHandler.class.getClassLoader());
- private static final boolean glassFish40WsPresent = ClassUtils.isPresent(
- "org.glassfish.tyrus.server.TyrusEndpoint", HandshakeHandler.class.getClassLoader());
+ private static final boolean glassFishWsPresent = ClassUtils.isPresent(
+ "org.glassfish.tyrus.servlet.TyrusHttpUpgradeHandler", DefaultHandshakeHandler.class.getClassLoader());
private final RequestUpgradeStrategy requestUpgradeStrategy;
@@ -90,29 +87,24 @@ public class DefaultHandshakeHandler implements HandshakeHandler {
private static RequestUpgradeStrategy initRequestUpgradeStrategy() {
String className;
- if (tomcatWsPresent) {
- className = "org.springframework.web.socket.server.support.TomcatRequestUpgradeStrategy";
+ if (jettyWsPresent) {
+ className = "org.springframework.web.socket.server.jetty.JettyRequestUpgradeStrategy";
}
- else if (jettyWsPresent) {
- className = "org.springframework.web.socket.server.support.JettyRequestUpgradeStrategy";
+ else if (tomcatWsPresent) {
+ className = "org.springframework.web.socket.server.standard.TomcatRequestUpgradeStrategy";
}
else if (glassFishWsPresent) {
- if (glassFish40WsPresent) {
- className = "org.springframework.web.socket.server.support.GlassFish40RequestUpgradeStrategy";
- }
- else {
- className = "org.springframework.web.socket.server.support.GlassFishRequestUpgradeStrategy";
- }
+ className = "org.springframework.web.socket.server.standard.GlassFishRequestUpgradeStrategy";
}
else {
- throw new IllegalStateException("No suitable " + RequestUpgradeStrategy.class.getSimpleName());
+ throw new IllegalStateException("No suitable default RequestUpgradeStrategy found");
}
try {
Class> clazz = ClassUtils.forName(className, DefaultHandshakeHandler.class.getClassLoader());
return (RequestUpgradeStrategy) BeanUtils.instantiateClass(clazz.getConstructor());
}
- catch (Throwable t) {
- throw new IllegalStateException("Failed to instantiate " + className, t);
+ catch (Throwable ex) {
+ throw new IllegalStateException("Failed to instantiate RequestUpgradeStrategy: " + className, ex);
}
}
diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/server/support/GlassFish40RequestUpgradeStrategy.java b/spring-websocket/src/main/java/org/springframework/web/socket/server/support/GlassFish40RequestUpgradeStrategy.java
deleted file mode 100644
index cd7d88336bd..00000000000
--- a/spring-websocket/src/main/java/org/springframework/web/socket/server/support/GlassFish40RequestUpgradeStrategy.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright 2002-2013 the original author or authors.
- *
- * Licensed 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.springframework.web.socket.server.support;
-
-import java.lang.reflect.Constructor;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.websocket.WebSocketContainer;
-
-import org.glassfish.tyrus.core.EndpointWrapper;
-import org.glassfish.tyrus.spi.SPIEndpoint;
-import org.glassfish.tyrus.websockets.WebSocketApplication;
-import org.springframework.util.ClassUtils;
-import org.springframework.web.socket.WebSocketExtension;
-
-/**
- * Extension of the {@link AbstractGlassFishRequestUpgradeStrategy} that provides support
- * for only GlassFish 4.0.
- *
- * @author Rossen Stoyanchev
- * @author Michael Irwin
- * @since 4.0
- */
-public class GlassFish40RequestUpgradeStrategy extends AbstractGlassFishRequestUpgradeStrategy {
-
- protected List getInstalledExtensions(WebSocketContainer container) {
- try {
- return super.getInstalledExtensions(container);
- }
- catch (UnsupportedOperationException e) {
- return new ArrayList();
- }
- }
-
- protected WebSocketApplication createTyrusEndpoint(EndpointWrapper endpoint) {
- try {
- String name = "org.glassfish.tyrus.server.TyrusEndpoint";
- Class> clazz = ClassUtils.forName(name, this.getClass().getClassLoader());
- Constructor> constructor = clazz.getConstructor(SPIEndpoint.class);
- return (WebSocketApplication) constructor.newInstance(endpoint);
- }
- catch (ReflectiveOperationException exception) {
- throw new RuntimeException(exception);
- }
- }
-
-}
diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/server/support/HandshakeInterceptorChain.java b/spring-websocket/src/main/java/org/springframework/web/socket/server/support/HandshakeInterceptorChain.java
index af514cee080..2e1be47bbab 100644
--- a/spring-websocket/src/main/java/org/springframework/web/socket/server/support/HandshakeInterceptorChain.java
+++ b/spring-websocket/src/main/java/org/springframework/web/socket/server/support/HandshakeInterceptorChain.java
@@ -22,6 +22,7 @@ import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+
import org.springframework.http.server.ServerHttpRequest;
import org.springframework.http.server.ServerHttpResponse;
import org.springframework.web.socket.WebSocketHandler;
@@ -35,7 +36,7 @@ import org.springframework.web.socket.server.HandshakeInterceptor;
*/
public class HandshakeInterceptorChain {
- private static final Log logger = LogFactory.getLog(WebSocketHttpRequestHandler.class);
+ private static final Log logger = LogFactory.getLog(HandshakeInterceptorChain.class);
private final List interceptors;
diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/server/support/HttpSessionHandshakeInterceptor.java b/spring-websocket/src/main/java/org/springframework/web/socket/server/support/HttpSessionHandshakeInterceptor.java
index afcb7888f04..611f37f1cd6 100644
--- a/spring-websocket/src/main/java/org/springframework/web/socket/server/support/HttpSessionHandshakeInterceptor.java
+++ b/spring-websocket/src/main/java/org/springframework/web/socket/server/support/HttpSessionHandshakeInterceptor.java
@@ -19,11 +19,11 @@ package org.springframework.web.socket.server.support;
import java.util.Collection;
import java.util.Enumeration;
import java.util.Map;
-
import javax.servlet.http.HttpSession;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+
import org.springframework.http.server.ServerHttpRequest;
import org.springframework.http.server.ServerHttpResponse;
import org.springframework.http.server.ServletServerHttpRequest;
diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/server/support/WebSocketHttpRequestHandler.java b/spring-websocket/src/main/java/org/springframework/web/socket/server/support/WebSocketHttpRequestHandler.java
index 80c87f07588..f768e33556b 100644
--- a/spring-websocket/src/main/java/org/springframework/web/socket/server/support/WebSocketHttpRequestHandler.java
+++ b/spring-websocket/src/main/java/org/springframework/web/socket/server/support/WebSocketHttpRequestHandler.java
@@ -35,8 +35,8 @@ import org.springframework.web.socket.WebSocketHandler;
import org.springframework.web.socket.server.HandshakeFailureException;
import org.springframework.web.socket.server.HandshakeHandler;
import org.springframework.web.socket.server.HandshakeInterceptor;
-import org.springframework.web.socket.support.ExceptionWebSocketHandlerDecorator;
-import org.springframework.web.socket.support.LoggingWebSocketHandlerDecorator;
+import org.springframework.web.socket.handler.ExceptionWebSocketHandlerDecorator;
+import org.springframework.web.socket.handler.LoggingWebSocketHandlerDecorator;
/**
* A {@link HttpRequestHandler} for processing WebSocket handshake requests.
diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/SockJsHttpRequestHandler.java b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/SockJsHttpRequestHandler.java
index cacc71ccbdf..477a912155f 100644
--- a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/SockJsHttpRequestHandler.java
+++ b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/SockJsHttpRequestHandler.java
@@ -30,8 +30,8 @@ import org.springframework.util.Assert;
import org.springframework.web.HttpRequestHandler;
import org.springframework.web.servlet.HandlerMapping;
import org.springframework.web.socket.WebSocketHandler;
-import org.springframework.web.socket.support.ExceptionWebSocketHandlerDecorator;
-import org.springframework.web.socket.support.LoggingWebSocketHandlerDecorator;
+import org.springframework.web.socket.handler.ExceptionWebSocketHandlerDecorator;
+import org.springframework.web.socket.handler.LoggingWebSocketHandlerDecorator;
/**
* An {@link HttpRequestHandler} that allows mapping a {@link SockJsService} to requests
diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/SockJsService.java b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/SockJsService.java
index b6acc14d364..a5375e16133 100644
--- a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/SockJsService.java
+++ b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/SockJsService.java
@@ -19,7 +19,7 @@ package org.springframework.web.socket.sockjs;
import org.springframework.http.server.ServerHttpRequest;
import org.springframework.http.server.ServerHttpResponse;
import org.springframework.web.socket.WebSocketHandler;
-import org.springframework.web.socket.support.ExceptionWebSocketHandlerDecorator;
+import org.springframework.web.socket.handler.ExceptionWebSocketHandlerDecorator;
/**
* The main entry point for processing HTTP requests from SockJS clients.
diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/handler/SockJsWebSocketHandler.java b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/handler/SockJsWebSocketHandler.java
index c96d5920bf2..42c9c01d324 100644
--- a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/handler/SockJsWebSocketHandler.java
+++ b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/handler/SockJsWebSocketHandler.java
@@ -23,7 +23,7 @@ import org.springframework.web.socket.CloseStatus;
import org.springframework.web.socket.TextMessage;
import org.springframework.web.socket.WebSocketHandler;
import org.springframework.web.socket.WebSocketSession;
-import org.springframework.web.socket.adapter.TextWebSocketHandlerAdapter;
+import org.springframework.web.socket.handler.TextWebSocketHandler;
import org.springframework.web.socket.sockjs.transport.session.SockJsServiceConfig;
import org.springframework.web.socket.sockjs.transport.session.WebSocketServerSockJsSession;
@@ -42,7 +42,7 @@ import org.springframework.web.socket.sockjs.transport.session.WebSocketServerSo
* @author Rossen Stoyanchev
* @since 4.0
*/
-public class SockJsWebSocketHandler extends TextWebSocketHandlerAdapter {
+public class SockJsWebSocketHandler extends TextWebSocketHandler {
private final SockJsServiceConfig sockJsServiceConfig;
diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/support/SubProtocolCapable.java b/spring-websocket/src/main/java/org/springframework/web/socket/support/SubProtocolCapable.java
deleted file mode 100644
index 75449a8a25b..00000000000
--- a/spring-websocket/src/main/java/org/springframework/web/socket/support/SubProtocolCapable.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.springframework.web.socket.support;
-
-import java.util.List;
-
-/**
- * An interface for WebSocket handlers that support sub-protocols as defined in RFC 6455.
- *
- * @author Rossen Stoyanchev
- * @since 4.0
- * @see RFC-6455 section 1.9
- */
-public interface SubProtocolCapable {
-
- /**
- * Return the list of supported sub-protocols.
- */
- List getSubProtocols();
-}
diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/AbstractWebSocketIntegrationTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/AbstractWebSocketIntegrationTests.java
index 043374edc74..29dcc584ba5 100644
--- a/spring-websocket/src/test/java/org/springframework/web/socket/AbstractWebSocketIntegrationTests.java
+++ b/spring-websocket/src/test/java/org/springframework/web/socket/AbstractWebSocketIntegrationTests.java
@@ -31,8 +31,8 @@ import org.springframework.web.context.support.AnnotationConfigWebApplicationCon
import org.springframework.web.socket.client.WebSocketClient;
import org.springframework.web.socket.server.support.DefaultHandshakeHandler;
import org.springframework.web.socket.server.RequestUpgradeStrategy;
-import org.springframework.web.socket.server.support.JettyRequestUpgradeStrategy;
-import org.springframework.web.socket.server.support.TomcatRequestUpgradeStrategy;
+import org.springframework.web.socket.server.jetty.JettyRequestUpgradeStrategy;
+import org.springframework.web.socket.server.standard.TomcatRequestUpgradeStrategy;
/**
* Base class for WebSocket integration tests.
diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/WebSocketIntegrationTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/WebSocketIntegrationTests.java
index 14c88ad4d6b..a2d5ec37121 100644
--- a/spring-websocket/src/test/java/org/springframework/web/socket/WebSocketIntegrationTests.java
+++ b/spring-websocket/src/test/java/org/springframework/web/socket/WebSocketIntegrationTests.java
@@ -26,15 +26,14 @@ import org.junit.runners.Parameterized;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
-import org.springframework.web.socket.adapter.TextWebSocketHandlerAdapter;
-import org.springframework.web.socket.adapter.WebSocketHandlerAdapter;
-import org.springframework.web.socket.client.endpoint.StandardWebSocketClient;
+import org.springframework.web.socket.handler.TextWebSocketHandler;
+import org.springframework.web.socket.handler.AbstractWebSocketHandler;
+import org.springframework.web.socket.client.standard.StandardWebSocketClient;
import org.springframework.web.socket.client.jetty.JettyWebSocketClient;
import org.springframework.web.socket.server.support.DefaultHandshakeHandler;
import org.springframework.web.socket.config.annotation.EnableWebSocket;
import org.springframework.web.socket.config.annotation.WebSocketConfigurer;
import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry;
-import org.springframework.web.socket.support.WebSocketHttpHeaders;
import static org.junit.Assert.*;
@@ -67,7 +66,7 @@ public class WebSocketIntegrationTests extends AbstractWebSocketIntegrationTest
headers.setSecWebSocketProtocol("foo");
WebSocketSession session = this.webSocketClient.doHandshake(
- new WebSocketHandlerAdapter(), headers, new URI(getWsBaseUrl() + "/ws")).get();
+ new AbstractWebSocketHandler() {}, headers, new URI(getWsBaseUrl() + "/ws")).get();
assertEquals("foo", session.getAcceptedProtocol());
}
@@ -92,7 +91,7 @@ public class WebSocketIntegrationTests extends AbstractWebSocketIntegrationTest
}
}
- private static class TestServerWebSocketHandler extends TextWebSocketHandlerAdapter {
+ private static class TestServerWebSocketHandler extends TextWebSocketHandler {
}
}
diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/adapter/ConvertingEncoderDecoderSupportTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/adapter/ConvertingEncoderDecoderSupportTests.java
index ff2bb7486d5..f08b2bb2648 100644
--- a/spring-websocket/src/test/java/org/springframework/web/socket/adapter/ConvertingEncoderDecoderSupportTests.java
+++ b/spring-websocket/src/test/java/org/springframework/web/socket/adapter/ConvertingEncoderDecoderSupportTests.java
@@ -39,12 +39,13 @@ import org.springframework.core.convert.support.GenericConversionService;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.socket.ContextLoaderTestUtils;
+import org.springframework.web.socket.adapter.standard.ConvertingEncoderDecoderSupport;
import static org.hamcrest.Matchers.*;
import static org.junit.Assert.*;
/**
- * Test for {@link ConvertingEncoderDecoderSupport}.
+ * Test for {@link org.springframework.web.socket.adapter.standard.ConvertingEncoderDecoderSupport}.
*
* @author Phillip Webb
*/
diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/adapter/JettyWebSocketHandlerAdapterTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/adapter/JettyWebSocketHandlerAdapterTests.java
index cd797a92aa1..964fc967f88 100644
--- a/spring-websocket/src/test/java/org/springframework/web/socket/adapter/JettyWebSocketHandlerAdapterTests.java
+++ b/spring-websocket/src/test/java/org/springframework/web/socket/adapter/JettyWebSocketHandlerAdapterTests.java
@@ -21,11 +21,13 @@ import org.junit.Before;
import org.junit.Test;
import org.springframework.web.socket.CloseStatus;
import org.springframework.web.socket.WebSocketHandler;
+import org.springframework.web.socket.adapter.jetty.JettyWebSocketHandlerAdapter;
+import org.springframework.web.socket.adapter.jetty.JettyWebSocketSession;
import static org.mockito.Mockito.*;
/**
- * Test fixture for {@link JettyWebSocketHandlerAdapter}.
+ * Test fixture for {@link org.springframework.web.socket.adapter.jetty.JettyWebSocketHandlerAdapter}.
*
* @author Rossen Stoyanchev
*/
diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/adapter/StandardWebSocketHandlerAdapterTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/adapter/StandardWebSocketHandlerAdapterTests.java
index 6a3b071adf7..19366b6c9c1 100644
--- a/spring-websocket/src/test/java/org/springframework/web/socket/adapter/StandardWebSocketHandlerAdapterTests.java
+++ b/spring-websocket/src/test/java/org/springframework/web/socket/adapter/StandardWebSocketHandlerAdapterTests.java
@@ -25,13 +25,15 @@ import org.junit.Before;
import org.junit.Test;
import org.springframework.web.socket.CloseStatus;
import org.springframework.web.socket.WebSocketHandler;
+import org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter;
+import org.springframework.web.socket.adapter.standard.StandardWebSocketSession;
import static org.junit.Assert.*;
import static org.mockito.Matchers.*;
import static org.mockito.Mockito.*;
/**
- * Test fixture for {@link StandardWebSocketHandlerAdapter}.
+ * Test fixture for {@link org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter}.
*
* @author Rossen Stoyanchev
*/
diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/client/WebSocketConnectionManagerTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/client/WebSocketConnectionManagerTests.java
index 0a4c4ec7c4f..2c7827a9d00 100644
--- a/spring-websocket/src/test/java/org/springframework/web/socket/client/WebSocketConnectionManagerTests.java
+++ b/spring-websocket/src/test/java/org/springframework/web/socket/client/WebSocketConnectionManagerTests.java
@@ -28,10 +28,10 @@ import org.springframework.util.concurrent.ListenableFuture;
import org.springframework.util.concurrent.ListenableFutureTask;
import org.springframework.web.socket.WebSocketHandler;
import org.springframework.web.socket.WebSocketSession;
-import org.springframework.web.socket.adapter.WebSocketHandlerAdapter;
-import org.springframework.web.socket.support.LoggingWebSocketHandlerDecorator;
-import org.springframework.web.socket.support.WebSocketHandlerDecorator;
-import org.springframework.web.socket.support.WebSocketHttpHeaders;
+import org.springframework.web.socket.handler.AbstractWebSocketHandler;
+import org.springframework.web.socket.handler.LoggingWebSocketHandlerDecorator;
+import org.springframework.web.socket.handler.WebSocketHandlerDecorator;
+import org.springframework.web.socket.WebSocketHttpHeaders;
import org.springframework.web.util.UriComponentsBuilder;
import static org.junit.Assert.*;
@@ -45,11 +45,11 @@ public class WebSocketConnectionManagerTests {
@Test
public void openConnection() throws Exception {
-
List subprotocols = Arrays.asList("abc");
TestLifecycleWebSocketClient client = new TestLifecycleWebSocketClient(false);
- WebSocketHandler handler = new WebSocketHandlerAdapter();
+ WebSocketHandler handler = new AbstractWebSocketHandler() {
+ };
WebSocketConnectionManager manager = new WebSocketConnectionManager(client, handler , "/path/{id}", "123");
manager.setSubProtocols(subprotocols);
@@ -69,9 +69,9 @@ public class WebSocketConnectionManagerTests {
@Test
public void syncClientLifecycle() throws Exception {
-
TestLifecycleWebSocketClient client = new TestLifecycleWebSocketClient(false);
- WebSocketHandler handler = new WebSocketHandlerAdapter();
+ WebSocketHandler handler = new AbstractWebSocketHandler() {
+ };
WebSocketConnectionManager manager = new WebSocketConnectionManager(client, handler , "/a");
manager.startInternal();
@@ -85,7 +85,8 @@ public class WebSocketConnectionManagerTests {
public void dontSyncClientLifecycle() throws Exception {
TestLifecycleWebSocketClient client = new TestLifecycleWebSocketClient(true);
- WebSocketHandler handler = new WebSocketHandlerAdapter();
+ WebSocketHandler handler = new AbstractWebSocketHandler() {
+ };
WebSocketConnectionManager manager = new WebSocketConnectionManager(client, handler , "/a");
manager.startInternal();
diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/client/jetty/JettyWebSocketClientTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/client/jetty/JettyWebSocketClientTests.java
index 7eb973817fc..87d437d32ea 100644
--- a/spring-websocket/src/test/java/org/springframework/web/socket/client/jetty/JettyWebSocketClientTests.java
+++ b/spring-websocket/src/test/java/org/springframework/web/socket/client/jetty/JettyWebSocketClientTests.java
@@ -32,10 +32,10 @@ import org.springframework.util.CollectionUtils;
import org.springframework.util.SocketUtils;
import org.springframework.web.socket.WebSocketHandler;
import org.springframework.web.socket.WebSocketSession;
-import org.springframework.web.socket.adapter.JettyWebSocketHandlerAdapter;
-import org.springframework.web.socket.adapter.JettyWebSocketSession;
-import org.springframework.web.socket.adapter.TextWebSocketHandlerAdapter;
-import org.springframework.web.socket.support.WebSocketHttpHeaders;
+import org.springframework.web.socket.adapter.jetty.JettyWebSocketHandlerAdapter;
+import org.springframework.web.socket.adapter.jetty.JettyWebSocketSession;
+import org.springframework.web.socket.handler.TextWebSocketHandler;
+import org.springframework.web.socket.WebSocketHttpHeaders;
import static org.junit.Assert.*;
@@ -59,7 +59,7 @@ public class JettyWebSocketClientTests {
int port = SocketUtils.findAvailableTcpPort();
- this.server = new TestJettyWebSocketServer(port, new TextWebSocketHandlerAdapter());
+ this.server = new TestJettyWebSocketServer(port, new TextWebSocketHandler());
this.server.start();
this.client = new JettyWebSocketClient();
@@ -82,7 +82,7 @@ public class JettyWebSocketClientTests {
WebSocketHttpHeaders headers = new WebSocketHttpHeaders();
headers.setSecWebSocketProtocol(Arrays.asList("echo"));
- this.wsSession = this.client.doHandshake(new TextWebSocketHandlerAdapter(), headers, new URI(this.wsUrl)).get();
+ this.wsSession = this.client.doHandshake(new TextWebSocketHandler(), headers, new URI(this.wsUrl)).get();
assertEquals(this.wsUrl, this.wsSession.getUri().toString());
assertEquals("echo", this.wsSession.getAcceptedProtocol());
diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/client/endpoint/StandardWebSocketClientTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/client/standard/StandardWebSocketClientTests.java
similarity index 94%
rename from spring-websocket/src/test/java/org/springframework/web/socket/client/endpoint/StandardWebSocketClientTests.java
rename to spring-websocket/src/test/java/org/springframework/web/socket/client/standard/StandardWebSocketClientTests.java
index 30b2a80bf1b..c57ec07f277 100644
--- a/spring-websocket/src/test/java/org/springframework/web/socket/client/endpoint/StandardWebSocketClientTests.java
+++ b/spring-websocket/src/test/java/org/springframework/web/socket/client/standard/StandardWebSocketClientTests.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.web.socket.client.endpoint;
+package org.springframework.web.socket.client.standard;
import java.net.URI;
import java.util.Arrays;
@@ -22,7 +22,6 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-
import javax.websocket.ClientEndpointConfig;
import javax.websocket.Endpoint;
import javax.websocket.WebSocketContainer;
@@ -30,10 +29,11 @@ import javax.websocket.WebSocketContainer;
import org.junit.Before;
import org.junit.Test;
import org.mockito.ArgumentCaptor;
+
import org.springframework.web.socket.WebSocketHandler;
import org.springframework.web.socket.WebSocketSession;
-import org.springframework.web.socket.adapter.WebSocketHandlerAdapter;
-import org.springframework.web.socket.support.WebSocketHttpHeaders;
+import org.springframework.web.socket.handler.AbstractWebSocketHandler;
+import org.springframework.web.socket.WebSocketHttpHeaders;
import static org.junit.Assert.*;
import static org.mockito.Mockito.*;
@@ -57,7 +57,8 @@ public class StandardWebSocketClientTests {
@Before
public void setup() {
this.headers = new WebSocketHttpHeaders();
- this.wsHandler = new WebSocketHandlerAdapter();
+ this.wsHandler = new AbstractWebSocketHandler() {
+ };
this.wsContainer = mock(WebSocketContainer.class);
this.wsClient = new StandardWebSocketClient(this.wsContainer);
}
diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/config/MessageBrokerBeanDefinitionParserTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/config/MessageBrokerBeanDefinitionParserTests.java
index a0e105b39b4..499bea77ab1 100644
--- a/spring-websocket/src/test/java/org/springframework/web/socket/config/MessageBrokerBeanDefinitionParserTests.java
+++ b/spring-websocket/src/test/java/org/springframework/web/socket/config/MessageBrokerBeanDefinitionParserTests.java
@@ -39,7 +39,7 @@ import org.springframework.web.socket.messaging.StompSubProtocolHandler;
import org.springframework.web.socket.messaging.SubProtocolWebSocketHandler;
import org.springframework.web.socket.server.support.WebSocketHttpRequestHandler;
import org.springframework.web.socket.sockjs.SockJsHttpRequestHandler;
-import org.springframework.web.socket.support.WebSocketHandlerDecorator;
+import org.springframework.web.socket.handler.WebSocketHandlerDecorator;
import java.util.Arrays;
import java.util.List;
diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/config/annotation/AbstractWebSocketHandlerRegistrationTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/config/annotation/AbstractWebSocketHandlerRegistrationTests.java
index 1115bb837e3..745b9b7b5f5 100644
--- a/spring-websocket/src/test/java/org/springframework/web/socket/config/annotation/AbstractWebSocketHandlerRegistrationTests.java
+++ b/spring-websocket/src/test/java/org/springframework/web/socket/config/annotation/AbstractWebSocketHandlerRegistrationTests.java
@@ -25,8 +25,7 @@ import org.junit.Test;
import org.mockito.Mockito;
import org.springframework.scheduling.TaskScheduler;
import org.springframework.web.socket.WebSocketHandler;
-import org.springframework.web.socket.adapter.TextWebSocketHandlerAdapter;
-import org.springframework.web.socket.config.annotation.AbstractWebSocketHandlerRegistration;
+import org.springframework.web.socket.handler.TextWebSocketHandler;
import org.springframework.web.socket.server.support.DefaultHandshakeHandler;
import org.springframework.web.socket.server.HandshakeHandler;
import org.springframework.web.socket.server.HandshakeInterceptor;
@@ -59,7 +58,7 @@ public class AbstractWebSocketHandlerRegistrationTests {
@Test
public void minimal() {
- WebSocketHandler wsHandler = new TextWebSocketHandlerAdapter();
+ WebSocketHandler wsHandler = new TextWebSocketHandler();
this.registration.addHandler(wsHandler, "/foo", "/bar");
List mappings = this.registration.getMappings();
@@ -77,7 +76,7 @@ public class AbstractWebSocketHandlerRegistrationTests {
@Test
public void interceptors() {
- WebSocketHandler wsHandler = new TextWebSocketHandlerAdapter();
+ WebSocketHandler wsHandler = new TextWebSocketHandler();
HttpSessionHandshakeInterceptor interceptor = new HttpSessionHandshakeInterceptor();
this.registration.addHandler(wsHandler, "/foo").addInterceptors(interceptor);
@@ -94,7 +93,7 @@ public class AbstractWebSocketHandlerRegistrationTests {
@Test
public void interceptorsPassedToSockJsRegistration() {
- WebSocketHandler wsHandler = new TextWebSocketHandlerAdapter();
+ WebSocketHandler wsHandler = new TextWebSocketHandler();
HttpSessionHandshakeInterceptor interceptor = new HttpSessionHandshakeInterceptor();
this.registration.addHandler(wsHandler, "/foo").addInterceptors(interceptor).withSockJS();
@@ -112,7 +111,7 @@ public class AbstractWebSocketHandlerRegistrationTests {
@Test
public void handshakeHandler() {
- WebSocketHandler wsHandler = new TextWebSocketHandlerAdapter();
+ WebSocketHandler wsHandler = new TextWebSocketHandler();
HandshakeHandler handshakeHandler = new DefaultHandshakeHandler();
this.registration.addHandler(wsHandler, "/foo").setHandshakeHandler(handshakeHandler);
@@ -129,7 +128,7 @@ public class AbstractWebSocketHandlerRegistrationTests {
@Test
public void handshakeHandlerPassedToSockJsRegistration() {
- WebSocketHandler wsHandler = new TextWebSocketHandlerAdapter();
+ WebSocketHandler wsHandler = new TextWebSocketHandler();
HandshakeHandler handshakeHandler = new DefaultHandshakeHandler();
this.registration.addHandler(wsHandler, "/foo").setHandshakeHandler(handshakeHandler).withSockJS();
diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/config/annotation/WebSocketConfigurationTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/config/annotation/WebSocketConfigurationTests.java
index 3f3d0c732e5..24949e432a5 100644
--- a/spring-websocket/src/test/java/org/springframework/web/socket/config/annotation/WebSocketConfigurationTests.java
+++ b/spring-websocket/src/test/java/org/springframework/web/socket/config/annotation/WebSocketConfigurationTests.java
@@ -31,12 +31,9 @@ import org.springframework.web.socket.AbstractWebSocketIntegrationTests;
import org.springframework.web.socket.JettyWebSocketTestServer;
import org.springframework.web.socket.TomcatWebSocketTestServer;
import org.springframework.web.socket.WebSocketSession;
-import org.springframework.web.socket.adapter.WebSocketHandlerAdapter;
-import org.springframework.web.socket.client.endpoint.StandardWebSocketClient;
+import org.springframework.web.socket.handler.AbstractWebSocketHandler;
+import org.springframework.web.socket.client.standard.StandardWebSocketClient;
import org.springframework.web.socket.client.jetty.JettyWebSocketClient;
-import org.springframework.web.socket.config.annotation.EnableWebSocket;
-import org.springframework.web.socket.config.annotation.WebSocketConfigurer;
-import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry;
import org.springframework.web.socket.server.HandshakeHandler;
import org.springframework.web.socket.sockjs.transport.handler.WebSocketTransportHandler;
@@ -68,7 +65,7 @@ public class WebSocketConfigurationTests extends AbstractWebSocketIntegrationTes
public void registerWebSocketHandler() throws Exception {
WebSocketSession session = this.webSocketClient.doHandshake(
- new WebSocketHandlerAdapter(), getWsBaseUrl() + "/ws").get();
+ new AbstractWebSocketHandler() {}, getWsBaseUrl() + "/ws").get();
TestWebSocketHandler serverHandler = this.wac.getBean(TestWebSocketHandler.class);
assertTrue(serverHandler.connectLatch.await(2, TimeUnit.SECONDS));
@@ -80,7 +77,7 @@ public class WebSocketConfigurationTests extends AbstractWebSocketIntegrationTes
public void registerWebSocketHandlerWithSockJS() throws Exception {
WebSocketSession session = this.webSocketClient.doHandshake(
- new WebSocketHandlerAdapter(), getWsBaseUrl() + "/sockjs/websocket").get();
+ new AbstractWebSocketHandler() {}, getWsBaseUrl() + "/sockjs/websocket").get();
TestWebSocketHandler serverHandler = this.wac.getBean(TestWebSocketHandler.class);
assertTrue(serverHandler.connectLatch.await(2, TimeUnit.SECONDS));
@@ -113,7 +110,7 @@ public class WebSocketConfigurationTests extends AbstractWebSocketIntegrationTes
}
}
- private static class TestWebSocketHandler extends WebSocketHandlerAdapter {
+ private static class TestWebSocketHandler extends AbstractWebSocketHandler {
private CountDownLatch connectLatch = new CountDownLatch(1);
diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/config/annotation/WebSocketMessageBrokerConfigurationSupportTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/config/annotation/WebSocketMessageBrokerConfigurationSupportTests.java
index bbd50c0e96e..f38ba1be1bd 100644
--- a/spring-websocket/src/test/java/org/springframework/web/socket/config/annotation/WebSocketMessageBrokerConfigurationSupportTests.java
+++ b/spring-websocket/src/test/java/org/springframework/web/socket/config/annotation/WebSocketMessageBrokerConfigurationSupportTests.java
@@ -42,12 +42,9 @@ import org.springframework.stereotype.Controller;
import org.springframework.web.servlet.HandlerMapping;
import org.springframework.web.servlet.handler.SimpleUrlHandlerMapping;
import org.springframework.web.socket.TextMessage;
-import org.springframework.web.socket.config.annotation.DelegatingWebSocketMessageBrokerConfiguration;
-import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
-import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer;
import org.springframework.web.socket.messaging.StompTextMessageBuilder;
import org.springframework.web.socket.messaging.SubProtocolWebSocketHandler;
-import org.springframework.web.socket.support.TestWebSocketSession;
+import org.springframework.web.socket.handler.TestWebSocketSession;
import static org.junit.Assert.*;
diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/support/BeanCreatingHandlerProviderTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/handler/BeanCreatingHandlerProviderTests.java
similarity index 98%
rename from spring-websocket/src/test/java/org/springframework/web/socket/support/BeanCreatingHandlerProviderTests.java
rename to spring-websocket/src/test/java/org/springframework/web/socket/handler/BeanCreatingHandlerProviderTests.java
index 6267b758896..a252ec8df05 100644
--- a/spring-websocket/src/test/java/org/springframework/web/socket/support/BeanCreatingHandlerProviderTests.java
+++ b/spring-websocket/src/test/java/org/springframework/web/socket/handler/BeanCreatingHandlerProviderTests.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.web.socket.support;
+package org.springframework.web.socket.handler;
import org.junit.Test;
import org.springframework.beans.BeanInstantiationException;
diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/support/ExceptionWebSocketHandlerDecoratorTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/handler/ExceptionWebSocketHandlerDecoratorTests.java
similarity index 98%
rename from spring-websocket/src/test/java/org/springframework/web/socket/support/ExceptionWebSocketHandlerDecoratorTests.java
rename to spring-websocket/src/test/java/org/springframework/web/socket/handler/ExceptionWebSocketHandlerDecoratorTests.java
index f1d7d86667d..d1364c13046 100644
--- a/spring-websocket/src/test/java/org/springframework/web/socket/support/ExceptionWebSocketHandlerDecoratorTests.java
+++ b/spring-websocket/src/test/java/org/springframework/web/socket/handler/ExceptionWebSocketHandlerDecoratorTests.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.web.socket.support;
+package org.springframework.web.socket.handler;
import org.junit.Before;
import org.junit.Test;
diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/support/PerConnectionWebSocketHandlerTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/handler/PerConnectionWebSocketHandlerTests.java
similarity index 90%
rename from spring-websocket/src/test/java/org/springframework/web/socket/support/PerConnectionWebSocketHandlerTests.java
rename to spring-websocket/src/test/java/org/springframework/web/socket/handler/PerConnectionWebSocketHandlerTests.java
index 76cefcb6d31..4a6550d8dec 100644
--- a/spring-websocket/src/test/java/org/springframework/web/socket/support/PerConnectionWebSocketHandlerTests.java
+++ b/spring-websocket/src/test/java/org/springframework/web/socket/handler/PerConnectionWebSocketHandlerTests.java
@@ -14,14 +14,13 @@
* limitations under the License.
*/
-package org.springframework.web.socket.support;
+package org.springframework.web.socket.handler;
import org.junit.Test;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.web.socket.CloseStatus;
import org.springframework.web.socket.WebSocketSession;
-import org.springframework.web.socket.adapter.WebSocketHandlerAdapter;
import static org.junit.Assert.*;
@@ -57,7 +56,7 @@ public class PerConnectionWebSocketHandlerTests {
}
- public static class EchoHandler extends WebSocketHandlerAdapter implements DisposableBean {
+ public static class EchoHandler extends AbstractWebSocketHandler implements DisposableBean {
private static int initCount;
diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/support/TestPrincipal.java b/spring-websocket/src/test/java/org/springframework/web/socket/handler/TestPrincipal.java
similarity index 96%
rename from spring-websocket/src/test/java/org/springframework/web/socket/support/TestPrincipal.java
rename to spring-websocket/src/test/java/org/springframework/web/socket/handler/TestPrincipal.java
index 7503b8c55f0..5f159d9334b 100644
--- a/spring-websocket/src/test/java/org/springframework/web/socket/support/TestPrincipal.java
+++ b/spring-websocket/src/test/java/org/springframework/web/socket/handler/TestPrincipal.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.web.socket.support;
+package org.springframework.web.socket.handler;
import java.security.Principal;
diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/support/TestWebSocketSession.java b/spring-websocket/src/test/java/org/springframework/web/socket/handler/TestWebSocketSession.java
similarity index 98%
rename from spring-websocket/src/test/java/org/springframework/web/socket/support/TestWebSocketSession.java
rename to spring-websocket/src/test/java/org/springframework/web/socket/handler/TestWebSocketSession.java
index dd8f90817e3..d9f2031732c 100644
--- a/spring-websocket/src/test/java/org/springframework/web/socket/support/TestWebSocketSession.java
+++ b/spring-websocket/src/test/java/org/springframework/web/socket/handler/TestWebSocketSession.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.web.socket.support;
+package org.springframework.web.socket.handler;
import java.io.IOException;
import java.net.InetSocketAddress;
diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/support/WebSocketHandlerDecoratorTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/handler/WebSocketHandlerDecoratorTests.java
similarity index 85%
rename from spring-websocket/src/test/java/org/springframework/web/socket/support/WebSocketHandlerDecoratorTests.java
rename to spring-websocket/src/test/java/org/springframework/web/socket/handler/WebSocketHandlerDecoratorTests.java
index b75e8e86239..78949645f28 100644
--- a/spring-websocket/src/test/java/org/springframework/web/socket/support/WebSocketHandlerDecoratorTests.java
+++ b/spring-websocket/src/test/java/org/springframework/web/socket/handler/WebSocketHandlerDecoratorTests.java
@@ -14,10 +14,9 @@
* limitations under the License.
*/
-package org.springframework.web.socket.support;
+package org.springframework.web.socket.handler;
import org.junit.Test;
-import org.springframework.web.socket.adapter.WebSocketHandlerAdapter;
import static org.junit.Assert.*;
@@ -28,10 +27,10 @@ import static org.junit.Assert.*;
*/
public class WebSocketHandlerDecoratorTests {
-
@Test
public void getLastHandler() {
- WebSocketHandlerAdapter h1 = new WebSocketHandlerAdapter();
+ AbstractWebSocketHandler h1 = new AbstractWebSocketHandler() {
+ };
WebSocketHandlerDecorator h2 = new WebSocketHandlerDecorator(h1);
WebSocketHandlerDecorator h3 = new WebSocketHandlerDecorator(h2);
diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/support/WebSocketHttpHeadersTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/handler/WebSocketHttpHeadersTests.java
similarity index 93%
rename from spring-websocket/src/test/java/org/springframework/web/socket/support/WebSocketHttpHeadersTests.java
rename to spring-websocket/src/test/java/org/springframework/web/socket/handler/WebSocketHttpHeadersTests.java
index 58161b9bfdf..4297fa0f441 100644
--- a/spring-websocket/src/test/java/org/springframework/web/socket/support/WebSocketHttpHeadersTests.java
+++ b/spring-websocket/src/test/java/org/springframework/web/socket/handler/WebSocketHttpHeadersTests.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.web.socket.support;
+package org.springframework.web.socket.handler;
import java.util.ArrayList;
import java.util.List;
@@ -23,6 +23,7 @@ import org.hamcrest.Matchers;
import org.junit.Before;
import org.junit.Test;
import org.springframework.web.socket.WebSocketExtension;
+import org.springframework.web.socket.WebSocketHttpHeaders;
import static org.junit.Assert.*;
diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/messaging/SimpAnnotationMethodIntegrationTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/messaging/SimpAnnotationMethodIntegrationTests.java
index 2e25fee6847..1352b61323c 100644
--- a/spring-websocket/src/test/java/org/springframework/web/socket/messaging/SimpAnnotationMethodIntegrationTests.java
+++ b/spring-websocket/src/test/java/org/springframework/web/socket/messaging/SimpAnnotationMethodIntegrationTests.java
@@ -47,8 +47,8 @@ import org.springframework.web.socket.JettyWebSocketTestServer;
import org.springframework.web.socket.TextMessage;
import org.springframework.web.socket.TomcatWebSocketTestServer;
import org.springframework.web.socket.WebSocketSession;
-import org.springframework.web.socket.adapter.TextWebSocketHandlerAdapter;
-import org.springframework.web.socket.client.endpoint.StandardWebSocketClient;
+import org.springframework.web.socket.handler.TextWebSocketHandler;
+import org.springframework.web.socket.client.standard.StandardWebSocketClient;
import org.springframework.web.socket.client.jetty.JettyWebSocketClient;
import org.springframework.web.socket.config.annotation.DelegatingWebSocketMessageBrokerConfiguration;
import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
@@ -170,7 +170,7 @@ public class SimpAnnotationMethodIntegrationTests extends AbstractWebSocketInteg
}
- private static class TestClientWebSocketHandler extends TextWebSocketHandlerAdapter {
+ private static class TestClientWebSocketHandler extends TextWebSocketHandler {
private final TextMessage[] messagesToSend;
diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/messaging/StompSubProtocolHandlerTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/messaging/StompSubProtocolHandlerTests.java
index 8dcc2de53d3..d0b143e5aa3 100644
--- a/spring-websocket/src/test/java/org/springframework/web/socket/messaging/StompSubProtocolHandlerTests.java
+++ b/spring-websocket/src/test/java/org/springframework/web/socket/messaging/StompSubProtocolHandlerTests.java
@@ -34,7 +34,7 @@ import org.springframework.messaging.simp.stomp.StompDecoder;
import org.springframework.messaging.simp.stomp.StompHeaderAccessor;
import org.springframework.messaging.support.MessageBuilder;
import org.springframework.web.socket.TextMessage;
-import org.springframework.web.socket.support.TestWebSocketSession;
+import org.springframework.web.socket.handler.TestWebSocketSession;
import static org.junit.Assert.*;
import static org.mockito.Mockito.*;
diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/messaging/SubProtocolWebSocketHandlerTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/messaging/SubProtocolWebSocketHandlerTests.java
index 0ddce92313f..399a7d1a36e 100644
--- a/spring-websocket/src/test/java/org/springframework/web/socket/messaging/SubProtocolWebSocketHandlerTests.java
+++ b/spring-websocket/src/test/java/org/springframework/web/socket/messaging/SubProtocolWebSocketHandlerTests.java
@@ -24,7 +24,7 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.SubscribableChannel;
-import org.springframework.web.socket.support.TestWebSocketSession;
+import org.springframework.web.socket.handler.TestWebSocketSession;
import static org.mockito.Mockito.*;
diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/server/DefaultHandshakeHandlerTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/server/DefaultHandshakeHandlerTests.java
index db8021c7576..f336cd7621d 100644
--- a/spring-websocket/src/test/java/org/springframework/web/socket/server/DefaultHandshakeHandlerTests.java
+++ b/spring-websocket/src/test/java/org/springframework/web/socket/server/DefaultHandshakeHandlerTests.java
@@ -27,11 +27,11 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.springframework.web.socket.AbstractHttpRequestTests;
import org.springframework.web.socket.server.support.DefaultHandshakeHandler;
-import org.springframework.web.socket.support.SubProtocolCapable;
+import org.springframework.web.socket.SubProtocolCapable;
import org.springframework.web.socket.WebSocketExtension;
import org.springframework.web.socket.WebSocketHandler;
-import org.springframework.web.socket.adapter.TextWebSocketHandlerAdapter;
-import org.springframework.web.socket.support.WebSocketHttpHeaders;
+import org.springframework.web.socket.handler.TextWebSocketHandler;
+import org.springframework.web.socket.WebSocketHttpHeaders;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.*;
@@ -72,7 +72,7 @@ public class DefaultHandshakeHandlerTests extends AbstractHttpRequestTests {
headers.setSecWebSocketKey("82/ZS2YHjEnUN97HLL8tbw==");
headers.setSecWebSocketProtocol("STOMP");
- WebSocketHandler handler = new TextWebSocketHandlerAdapter();
+ WebSocketHandler handler = new TextWebSocketHandler();
Map attributes = Collections.emptyMap();
this.handshakeHandler.doHandshake(this.request, this.response, handler, attributes);
@@ -125,7 +125,7 @@ public class DefaultHandshakeHandlerTests extends AbstractHttpRequestTests {
}
- private static class SubProtocolCapableHandler extends TextWebSocketHandlerAdapter implements SubProtocolCapable {
+ private static class SubProtocolCapableHandler extends TextWebSocketHandler implements SubProtocolCapable {
private final List subProtocols;
diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/server/endpoint/ServerEndpointExporterTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/server/standard/ServerEndpointExporterTests.java
similarity index 90%
rename from spring-websocket/src/test/java/org/springframework/web/socket/server/endpoint/ServerEndpointExporterTests.java
rename to spring-websocket/src/test/java/org/springframework/web/socket/server/standard/ServerEndpointExporterTests.java
index b3d509d3919..9f25850a8cf 100644
--- a/spring-websocket/src/test/java/org/springframework/web/socket/server/endpoint/ServerEndpointExporterTests.java
+++ b/spring-websocket/src/test/java/org/springframework/web/socket/server/standard/ServerEndpointExporterTests.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.web.socket.server.endpoint;
+package org.springframework.web.socket.server.standard;
import javax.websocket.Endpoint;
import javax.websocket.EndpointConfig;
@@ -28,13 +28,11 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.mock.web.test.MockServletContext;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
-import org.springframework.web.socket.server.support.ServerEndpointExporter;
-import org.springframework.web.socket.server.support.ServerEndpointRegistration;
import static org.mockito.Mockito.*;
/**
- * Test fixture for {@link org.springframework.web.socket.server.support.ServerEndpointExporter}.
+ * Test fixture for {@link ServerEndpointExporter}.
*
* @author Rossen Stoyanchev
*/
diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/server/endpoint/ServerEndpointRegistrationTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/server/standard/ServerEndpointRegistrationTests.java
similarity index 91%
rename from spring-websocket/src/test/java/org/springframework/web/socket/server/endpoint/ServerEndpointRegistrationTests.java
rename to spring-websocket/src/test/java/org/springframework/web/socket/server/standard/ServerEndpointRegistrationTests.java
index 2b5a21303d5..0ace6121eff 100644
--- a/spring-websocket/src/test/java/org/springframework/web/socket/server/endpoint/ServerEndpointRegistrationTests.java
+++ b/spring-websocket/src/test/java/org/springframework/web/socket/server/standard/ServerEndpointRegistrationTests.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.web.socket.server.endpoint;
+package org.springframework.web.socket.server.standard;
import javax.websocket.Endpoint;
import javax.websocket.EndpointConfig;
@@ -26,12 +26,11 @@ import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
-import org.springframework.web.socket.server.support.ServerEndpointRegistration;
import static org.junit.Assert.*;
/**
- * Test fixture for {@link org.springframework.web.socket.server.support.ServerEndpointRegistration}.
+ * Test fixture for {@link ServerEndpointRegistration}.
*
* @author Rossen Stoyanchev
*/
diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/server/endpoint/SpringConfiguratorTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/server/standard/SpringConfiguratorTests.java
similarity index 96%
rename from spring-websocket/src/test/java/org/springframework/web/socket/server/endpoint/SpringConfiguratorTests.java
rename to spring-websocket/src/test/java/org/springframework/web/socket/server/standard/SpringConfiguratorTests.java
index a4614570565..548825e7711 100644
--- a/spring-websocket/src/test/java/org/springframework/web/socket/server/endpoint/SpringConfiguratorTests.java
+++ b/spring-websocket/src/test/java/org/springframework/web/socket/server/standard/SpringConfiguratorTests.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.web.socket.server.endpoint;
+package org.springframework.web.socket.server.standard;
import javax.websocket.server.ServerEndpoint;
@@ -29,7 +29,6 @@ import org.springframework.mock.web.test.MockServletContext;
import org.springframework.stereotype.Component;
import org.springframework.web.context.ContextLoader;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
-import org.springframework.web.socket.server.support.SpringConfigurator;
import static org.junit.Assert.*;
diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/transport/session/AbstractSockJsSessionTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/transport/session/AbstractSockJsSessionTests.java
index 093318d471a..962d09ab253 100644
--- a/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/transport/session/AbstractSockJsSessionTests.java
+++ b/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/transport/session/AbstractSockJsSessionTests.java
@@ -29,7 +29,7 @@ import org.springframework.web.socket.WebSocketHandler;
import org.springframework.web.socket.sockjs.SockJsMessageDeliveryException;
import org.springframework.web.socket.sockjs.SockJsTransportFailureException;
import org.springframework.web.socket.sockjs.support.frame.SockJsFrame;
-import org.springframework.web.socket.support.ExceptionWebSocketHandlerDecorator;
+import org.springframework.web.socket.handler.ExceptionWebSocketHandlerDecorator;
import static org.junit.Assert.*;
import static org.mockito.Matchers.*;
diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/transport/session/WebSocketServerSockJsSessionTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/transport/session/WebSocketServerSockJsSessionTests.java
index 8dda7374dde..5ae1cbb69b7 100644
--- a/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/transport/session/WebSocketServerSockJsSessionTests.java
+++ b/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/transport/session/WebSocketServerSockJsSessionTests.java
@@ -29,7 +29,7 @@ import org.springframework.web.socket.CloseStatus;
import org.springframework.web.socket.TextMessage;
import org.springframework.web.socket.WebSocketHandler;
import org.springframework.web.socket.sockjs.transport.session.WebSocketServerSockJsSessionTests.TestWebSocketServerSockJsSession;
-import org.springframework.web.socket.support.TestWebSocketSession;
+import org.springframework.web.socket.handler.TestWebSocketSession;
import static org.junit.Assert.*;
import static org.mockito.Matchers.*;