Skip to content

Commit 861ab90

Browse files
committed
Switch to single message method for WebSocketHandler
1 parent 5f22cf0 commit 861ab90

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+356
-279
lines changed

spring-websocket/src/main/java/org/springframework/sockjs/AbstractSockJsSession.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public abstract class AbstractSockJsSession implements WebSocketSession {
5757
* @param sessionId
5858
* @param handlerProvider the recipient of SockJS messages
5959
*/
60-
public AbstractSockJsSession(String sessionId, HandlerProvider<WebSocketHandler> handlerProvider) {
60+
public AbstractSockJsSession(String sessionId, HandlerProvider<WebSocketHandler<?>> handlerProvider) {
6161
Assert.notNull(sessionId, "sessionId is required");
6262
Assert.notNull(handlerProvider, "handlerProvider is required");
6363
this.sessionId = sessionId;
@@ -136,12 +136,12 @@ protected void tryCloseWithSockJsTransportError(Throwable ex, CloseStatus closeS
136136

137137
public void delegateMessages(String[] messages) {
138138
for (String message : messages) {
139-
this.handler.handleTextMessage(new TextMessage(message), this);
139+
this.handler.handleMessage(this, new TextMessage(message));
140140
}
141141
}
142142

143143
public void delegateError(Throwable ex) {
144-
this.handler.handleTransportError(ex, this);
144+
this.handler.handleTransportError(this, ex);
145145
}
146146

147147
/**
@@ -160,7 +160,7 @@ public final void delegateConnectionClosed(CloseStatus status) {
160160
}
161161
finally {
162162
this.state = State.CLOSED;
163-
this.handler.afterConnectionClosed(status, this);
163+
this.handler.afterConnectionClosed(this, status);
164164
}
165165
}
166166
}
@@ -190,7 +190,7 @@ public final void close(CloseStatus status) throws IOException {
190190
}
191191
finally {
192192
this.state = State.CLOSED;
193-
this.handler.afterConnectionClosed(status, this);
193+
this.handler.afterConnectionClosed(this, status);
194194
}
195195
}
196196
}

spring-websocket/src/main/java/org/springframework/sockjs/SockJsSessionFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,6 @@ public interface SockJsSessionFactory<S extends WebSocketSession>{
3535
* @param handler the underlying {@link WebSocketHandler}
3636
* @return a new non-null session
3737
*/
38-
S createSession(String sessionId, HandlerProvider<WebSocketHandler> handler);
38+
S createSession(String sessionId, HandlerProvider<WebSocketHandler<?>> handler);
3939

4040
}

spring-websocket/src/main/java/org/springframework/sockjs/server/AbstractServerSockJsSession.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public abstract class AbstractServerSockJsSession extends AbstractSockJsSession
4545

4646

4747
public AbstractServerSockJsSession(String sessionId, SockJsConfiguration config,
48-
HandlerProvider<WebSocketHandler> handler) {
48+
HandlerProvider<WebSocketHandler<?>> handler) {
4949

5050
super(sessionId, handler);
5151
this.sockJsConfig = config;

spring-websocket/src/main/java/org/springframework/sockjs/server/AbstractSockJsService.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ public boolean isWebSocketEnabled() {
200200
* @throws Exception
201201
*/
202202
public final void handleRequest(ServerHttpRequest request, ServerHttpResponse response,
203-
String sockJsPath, HandlerProvider<WebSocketHandler> handler)
203+
String sockJsPath, HandlerProvider<WebSocketHandler<?>> handler)
204204
throws IOException, TransportErrorException {
205205

206206
logger.debug(request.getMethod() + " [" + sockJsPath + "]");
@@ -255,10 +255,10 @@ else if (sockJsPath.equals("/websocket")) {
255255
}
256256

257257
protected abstract void handleRawWebSocketRequest(ServerHttpRequest request, ServerHttpResponse response,
258-
HandlerProvider<WebSocketHandler> handler) throws IOException;
258+
HandlerProvider<WebSocketHandler<?>> handler) throws IOException;
259259

260260
protected abstract void handleTransportRequest(ServerHttpRequest request, ServerHttpResponse response,
261-
String sessionId, TransportType transportType, HandlerProvider<WebSocketHandler> handler)
261+
String sessionId, TransportType transportType, HandlerProvider<WebSocketHandler<?>> handler)
262262
throws IOException, TransportErrorException;
263263

264264

spring-websocket/src/main/java/org/springframework/sockjs/server/SockJsService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,6 @@
3030
public interface SockJsService {
3131

3232
void handleRequest(ServerHttpRequest request, ServerHttpResponse response, String sockJsPath,
33-
HandlerProvider<WebSocketHandler> handler) throws IOException, TransportErrorException;
33+
HandlerProvider<WebSocketHandler<?>> handler) throws IOException, TransportErrorException;
3434

3535
}

spring-websocket/src/main/java/org/springframework/sockjs/server/TransportHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,6 @@ public interface TransportHandler {
3131
TransportType getTransportType();
3232

3333
void handleRequest(ServerHttpRequest request, ServerHttpResponse response,
34-
HandlerProvider<WebSocketHandler> handler, AbstractSockJsSession session) throws TransportErrorException;
34+
HandlerProvider<WebSocketHandler<?>> handler, AbstractSockJsSession session) throws TransportErrorException;
3535

3636
}

spring-websocket/src/main/java/org/springframework/sockjs/server/support/DefaultSockJsService.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ public Map<TransportType, TransportHandler> getTransportHandlers() {
143143

144144
@Override
145145
protected void handleRawWebSocketRequest(ServerHttpRequest request, ServerHttpResponse response,
146-
HandlerProvider<WebSocketHandler> handler) throws IOException {
146+
HandlerProvider<WebSocketHandler<?>> handler) throws IOException {
147147

148148
if (isWebSocketEnabled()) {
149149
TransportHandler transportHandler = this.transportHandlers.get(TransportType.WEBSOCKET);
@@ -160,7 +160,7 @@ protected void handleRawWebSocketRequest(ServerHttpRequest request, ServerHttpRe
160160

161161
@Override
162162
protected void handleTransportRequest(ServerHttpRequest request, ServerHttpResponse response,
163-
String sessionId, TransportType transportType, HandlerProvider<WebSocketHandler> handler)
163+
String sessionId, TransportType transportType, HandlerProvider<WebSocketHandler<?>> handler)
164164
throws IOException, TransportErrorException {
165165

166166
TransportHandler transportHandler = this.transportHandlers.get(transportType);
@@ -210,7 +210,7 @@ protected void handleTransportRequest(ServerHttpRequest request, ServerHttpRespo
210210
transportHandler.handleRequest(request, response, handler, session);
211211
}
212212

213-
public AbstractSockJsSession getSockJsSession(String sessionId, HandlerProvider<WebSocketHandler> handler,
213+
public AbstractSockJsSession getSockJsSession(String sessionId, HandlerProvider<WebSocketHandler<?>> handler,
214214
TransportHandler transportHandler) {
215215

216216
AbstractSockJsSession session = this.sessions.get(sessionId);

spring-websocket/src/main/java/org/springframework/sockjs/server/support/SockJsHttpRequestHandler.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public class SockJsHttpRequestHandler implements HttpRequestHandler {
4545

4646
private final SockJsService sockJsService;
4747

48-
private final HandlerProvider<WebSocketHandler> handlerProvider;
48+
private final HandlerProvider<WebSocketHandler<?>> handlerProvider;
4949

5050
private final UrlPathHelper urlPathHelper = new UrlPathHelper();
5151

@@ -65,7 +65,7 @@ public SockJsHttpRequestHandler(String prefix, SockJsService sockJsService, WebS
6565

6666
this.prefix = prefix;
6767
this.sockJsService = sockJsService;
68-
this.handlerProvider = new SimpleHandlerProvider<WebSocketHandler>(handler);
68+
this.handlerProvider = new SimpleHandlerProvider<WebSocketHandler<?>>(handler);
6969
}
7070

7171
/**
@@ -76,7 +76,7 @@ public SockJsHttpRequestHandler(String prefix, SockJsService sockJsService, WebS
7676
* Servlet container this is the path within the current servlet mapping.
7777
*/
7878
public SockJsHttpRequestHandler(String prefix, SockJsService sockJsService,
79-
HandlerProvider<WebSocketHandler> handlerProvider) {
79+
HandlerProvider<WebSocketHandler<?>> handlerProvider) {
8080

8181
Assert.hasText(prefix, "prefix is required");
8282
Assert.notNull(sockJsService, "sockJsService is required");

spring-websocket/src/main/java/org/springframework/sockjs/server/transport/AbstractHttpReceivingTransportHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public ObjectMapper getObjectMapper() {
5555

5656
@Override
5757
public final void handleRequest(ServerHttpRequest request, ServerHttpResponse response,
58-
HandlerProvider<WebSocketHandler> webSocketHandler, AbstractSockJsSession session)
58+
HandlerProvider<WebSocketHandler<?>> webSocketHandler, AbstractSockJsSession session)
5959
throws TransportErrorException {
6060

6161
if (session == null) {

spring-websocket/src/main/java/org/springframework/sockjs/server/transport/AbstractHttpSendingTransportHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public SockJsConfiguration getSockJsConfig() {
5858

5959
@Override
6060
public final void handleRequest(ServerHttpRequest request, ServerHttpResponse response,
61-
HandlerProvider<WebSocketHandler> webSocketHandler, AbstractSockJsSession session)
61+
HandlerProvider<WebSocketHandler<?>> webSocketHandler, AbstractSockJsSession session)
6262
throws TransportErrorException {
6363

6464
// Set content type before writing

spring-websocket/src/main/java/org/springframework/sockjs/server/transport/AbstractHttpServerSockJsSession.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public abstract class AbstractHttpServerSockJsSession extends AbstractServerSock
5151

5252

5353
public AbstractHttpServerSockJsSession(String sessionId, SockJsConfiguration sockJsConfig,
54-
HandlerProvider<WebSocketHandler> handler) {
54+
HandlerProvider<WebSocketHandler<?>> handler) {
5555

5656
super(sessionId, sockJsConfig, handler);
5757
}

spring-websocket/src/main/java/org/springframework/sockjs/server/transport/EventSourceTransportHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ protected MediaType getContentType() {
4747
}
4848

4949
@Override
50-
public StreamingServerSockJsSession createSession(String sessionId, HandlerProvider<WebSocketHandler> handler) {
50+
public StreamingServerSockJsSession createSession(String sessionId, HandlerProvider<WebSocketHandler<?>> handler) {
5151
Assert.notNull(getSockJsConfig(), "This transport requires SockJsConfiguration");
5252
return new StreamingServerSockJsSession(sessionId, getSockJsConfig(), handler) {
5353
@Override

spring-websocket/src/main/java/org/springframework/sockjs/server/transport/HtmlFileTransportHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ protected MediaType getContentType() {
8181
}
8282

8383
@Override
84-
public StreamingServerSockJsSession createSession(String sessionId, HandlerProvider<WebSocketHandler> handler) {
84+
public StreamingServerSockJsSession createSession(String sessionId, HandlerProvider<WebSocketHandler<?>> handler) {
8585
Assert.notNull(getSockJsConfig(), "This transport requires SockJsConfiguration");
8686

8787
return new StreamingServerSockJsSession(sessionId, getSockJsConfig(), handler) {

spring-websocket/src/main/java/org/springframework/sockjs/server/transport/JsonpPollingTransportHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ protected MediaType getContentType() {
5151
}
5252

5353
@Override
54-
public PollingServerSockJsSession createSession(String sessionId, HandlerProvider<WebSocketHandler> handler) {
54+
public PollingServerSockJsSession createSession(String sessionId, HandlerProvider<WebSocketHandler<?>> handler) {
5555
Assert.notNull(getSockJsConfig(), "This transport requires SockJsConfiguration");
5656
return new PollingServerSockJsSession(sessionId, getSockJsConfig(), handler);
5757
}

spring-websocket/src/main/java/org/springframework/sockjs/server/transport/PollingServerSockJsSession.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
public class PollingServerSockJsSession extends AbstractHttpServerSockJsSession {
2727

2828
public PollingServerSockJsSession(String sessionId, SockJsConfiguration sockJsConfig,
29-
HandlerProvider<WebSocketHandler> handler) {
29+
HandlerProvider<WebSocketHandler<?>> handler) {
3030

3131
super(sessionId, sockJsConfig, handler);
3232
}

spring-websocket/src/main/java/org/springframework/sockjs/server/transport/SockJsWebSocketHandler.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@
2727
import org.springframework.websocket.CloseStatus;
2828
import org.springframework.websocket.HandlerProvider;
2929
import org.springframework.websocket.TextMessage;
30-
import org.springframework.websocket.TextWebSocketHandlerAdapter;
3130
import org.springframework.websocket.WebSocketHandler;
3231
import org.springframework.websocket.WebSocketSession;
32+
import org.springframework.websocket.adapter.TextWebSocketHandlerAdapter;
3333

3434
import com.fasterxml.jackson.databind.ObjectMapper;
3535

@@ -45,7 +45,7 @@ public class SockJsWebSocketHandler extends TextWebSocketHandlerAdapter {
4545

4646
private final SockJsConfiguration sockJsConfig;
4747

48-
private final HandlerProvider<WebSocketHandler> handlerProvider;
48+
private final HandlerProvider<WebSocketHandler<?>> handlerProvider;
4949

5050
private WebSocketServerSockJsSession sockJsSession;
5151

@@ -55,7 +55,7 @@ public class SockJsWebSocketHandler extends TextWebSocketHandlerAdapter {
5555
private final ObjectMapper objectMapper = new ObjectMapper();
5656

5757

58-
public SockJsWebSocketHandler(SockJsConfiguration config, HandlerProvider<WebSocketHandler> handlerProvider) {
58+
public SockJsWebSocketHandler(SockJsConfiguration config, HandlerProvider<WebSocketHandler<?>> handlerProvider) {
5959
Assert.notNull(config, "sockJsConfig is required");
6060
Assert.notNull(handlerProvider, "handlerProvider is required");
6161
this.sockJsConfig = config;
@@ -74,17 +74,17 @@ public void afterConnectionEstablished(WebSocketSession wsSession) {
7474
}
7575

7676
@Override
77-
public void handleTextMessage(TextMessage message, WebSocketSession wsSession) {
77+
public void handleMessage(WebSocketSession wsSession, TextMessage message) {
7878
this.sockJsSession.handleMessage(message, wsSession);
7979
}
8080

8181
@Override
82-
public void afterConnectionClosed(CloseStatus status, WebSocketSession wsSession) {
82+
public void afterConnectionClosed(WebSocketSession wsSession, CloseStatus status) {
8383
this.sockJsSession.delegateConnectionClosed(status);
8484
}
8585

8686
@Override
87-
public void handleTransportError(Throwable exception, WebSocketSession webSocketSession) {
87+
public void handleTransportError(WebSocketSession webSocketSession, Throwable exception) {
8888
this.sockJsSession.delegateError(exception);
8989
}
9090

spring-websocket/src/main/java/org/springframework/sockjs/server/transport/StreamingServerSockJsSession.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public class StreamingServerSockJsSession extends AbstractHttpServerSockJsSessio
3333

3434

3535
public StreamingServerSockJsSession(String sessionId, SockJsConfiguration sockJsConfig,
36-
HandlerProvider<WebSocketHandler> handler) {
36+
HandlerProvider<WebSocketHandler<?>> handler) {
3737

3838
super(sessionId, sockJsConfig, handler);
3939
}

spring-websocket/src/main/java/org/springframework/sockjs/server/transport/WebSocketTransportHandler.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,11 @@ public void setSockJsConfiguration(SockJsConfiguration sockJsConfig) {
6565

6666
@Override
6767
public void handleRequest(ServerHttpRequest request, ServerHttpResponse response,
68-
HandlerProvider<WebSocketHandler> handler, AbstractSockJsSession session) throws TransportErrorException {
68+
HandlerProvider<WebSocketHandler<?>> handler, AbstractSockJsSession session) throws TransportErrorException {
6969

7070
try {
71-
WebSocketHandler sockJsWrapper = new SockJsWebSocketHandler(this.sockJsConfig, handler);
72-
this.handshakeHandler.doHandshake(request, response, new SimpleHandlerProvider<WebSocketHandler>(sockJsWrapper));
71+
WebSocketHandler<?> sockJsWrapper = new SockJsWebSocketHandler(this.sockJsConfig, handler);
72+
this.handshakeHandler.doHandshake(request, response, new SimpleHandlerProvider<WebSocketHandler<?>>(sockJsWrapper));
7373
}
7474
catch (Throwable t) {
7575
throw new TransportErrorException("Failed to start handshake request", t, session.getId());
@@ -80,7 +80,7 @@ public void handleRequest(ServerHttpRequest request, ServerHttpResponse response
8080

8181
@Override
8282
public boolean doHandshake(ServerHttpRequest request, ServerHttpResponse response,
83-
HandlerProvider<WebSocketHandler> handler) throws IOException {
83+
HandlerProvider<WebSocketHandler<?>> handler) throws IOException {
8484

8585
return this.handshakeHandler.doHandshake(request, response, handler);
8686
}

spring-websocket/src/main/java/org/springframework/sockjs/server/transport/XhrPollingTransportHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ protected FrameFormat getFrameFormat(ServerHttpRequest request) {
5151
return new DefaultFrameFormat("%s\n");
5252
}
5353

54-
public PollingServerSockJsSession createSession(String sessionId, HandlerProvider<WebSocketHandler> handler) {
54+
public PollingServerSockJsSession createSession(String sessionId, HandlerProvider<WebSocketHandler<?>> handler) {
5555
Assert.notNull(getSockJsConfig(), "This transport requires SockJsConfiguration");
5656
return new PollingServerSockJsSession(sessionId, getSockJsConfig(), handler);
5757
}

spring-websocket/src/main/java/org/springframework/sockjs/server/transport/XhrStreamingTransportHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ protected MediaType getContentType() {
4848
}
4949

5050
@Override
51-
public StreamingServerSockJsSession createSession(String sessionId, HandlerProvider<WebSocketHandler> handler) {
51+
public StreamingServerSockJsSession createSession(String sessionId, HandlerProvider<WebSocketHandler<?>> handler) {
5252
Assert.notNull(getSockJsConfig(), "This transport requires SockJsConfiguration");
5353

5454
return new StreamingServerSockJsSession(sessionId, getSockJsConfig(), handler) {

spring-websocket/src/main/java/org/springframework/websocket/BinaryMessage.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@
1919
import java.io.InputStream;
2020
import java.nio.ByteBuffer;
2121

22-
import org.springframework.util.Assert;
23-
2422

2523
/**
2624
* A {@link WebSocketMessage} that contains a binary {@link ByteBuffer} payload.

spring-websocket/src/main/java/org/springframework/websocket/BinaryWebSocketHandlerAdapter.java

Lines changed: 0 additions & 38 deletions
This file was deleted.

0 commit comments

Comments
 (0)