Skip to content

Commit 0c1b329

Browse files
committed
Remove HandlerProvider
1 parent 861ab90 commit 0c1b329

40 files changed

+279
-366
lines changed

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

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import org.apache.commons.logging.LogFactory;
2424
import org.springframework.util.Assert;
2525
import org.springframework.websocket.CloseStatus;
26-
import org.springframework.websocket.HandlerProvider;
2726
import org.springframework.websocket.TextMessage;
2827
import org.springframework.websocket.WebSocketHandler;
2928
import org.springframework.websocket.WebSocketSession;
@@ -53,15 +52,14 @@ public abstract class AbstractSockJsSession implements WebSocketSession {
5352

5453

5554
/**
56-
*
5755
* @param sessionId
58-
* @param handlerProvider the recipient of SockJS messages
56+
* @param webSocketHandler the recipient of SockJS messages
5957
*/
60-
public AbstractSockJsSession(String sessionId, HandlerProvider<WebSocketHandler<?>> handlerProvider) {
58+
public AbstractSockJsSession(String sessionId, WebSocketHandler<?> webSocketHandler) {
6159
Assert.notNull(sessionId, "sessionId is required");
62-
Assert.notNull(handlerProvider, "handlerProvider is required");
60+
Assert.notNull(webSocketHandler, "webSocketHandler is required");
6361
this.sessionId = sessionId;
64-
this.handler = new WebSocketHandlerInvoker(handlerProvider).setLogger(logger);
62+
this.handler = new WebSocketHandlerInvoker(webSocketHandler).setLogger(logger);
6563
}
6664

6765
public String getId() {

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
package org.springframework.sockjs;
1818

19-
import org.springframework.websocket.HandlerProvider;
2019
import org.springframework.websocket.WebSocketHandler;
2120
import org.springframework.websocket.WebSocketSession;
2221

@@ -32,9 +31,9 @@ public interface SockJsSessionFactory<S extends WebSocketSession>{
3231
/**
3332
* Create a new SockJS session.
3433
* @param sessionId the ID of the session
35-
* @param handler the underlying {@link WebSocketHandler}
34+
* @param webSocketHandler the underlying {@link WebSocketHandler}
3635
* @return a new non-null session
3736
*/
38-
S createSession(String sessionId, HandlerProvider<WebSocketHandler<?>> handler);
37+
S createSession(String sessionId, WebSocketHandler<?> webSocketHandler);
3938

4039
}

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

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
import org.springframework.sockjs.AbstractSockJsSession;
2626
import org.springframework.util.Assert;
2727
import org.springframework.websocket.CloseStatus;
28-
import org.springframework.websocket.HandlerProvider;
2928
import org.springframework.websocket.TextMessage;
3029
import org.springframework.websocket.WebSocketHandler;
3130
import org.springframework.websocket.WebSocketMessage;
@@ -44,9 +43,7 @@ public abstract class AbstractServerSockJsSession extends AbstractSockJsSession
4443
private ScheduledFuture<?> heartbeatTask;
4544

4645

47-
public AbstractServerSockJsSession(String sessionId, SockJsConfiguration config,
48-
HandlerProvider<WebSocketHandler<?>> handler) {
49-
46+
public AbstractServerSockJsSession(String sessionId, SockJsConfiguration config, WebSocketHandler<?> handler) {
5047
super(sessionId, handler);
5148
this.sockJsConfig = config;
5249
}

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

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
import org.springframework.util.DigestUtils;
3737
import org.springframework.util.ObjectUtils;
3838
import org.springframework.util.StringUtils;
39-
import org.springframework.websocket.HandlerProvider;
4039
import org.springframework.websocket.WebSocketHandler;
4140

4241
/**
@@ -200,8 +199,7 @@ public boolean isWebSocketEnabled() {
200199
* @throws Exception
201200
*/
202201
public final void handleRequest(ServerHttpRequest request, ServerHttpResponse response,
203-
String sockJsPath, HandlerProvider<WebSocketHandler<?>> handler)
204-
throws IOException, TransportErrorException {
202+
String sockJsPath, WebSocketHandler<?> webSocketHandler) throws IOException, TransportErrorException {
205203

206204
logger.debug(request.getMethod() + " [" + sockJsPath + "]");
207205

@@ -227,7 +225,7 @@ else if (sockJsPath.matches("/iframe[0-9-.a-z_]*.html")) {
227225
return;
228226
}
229227
else if (sockJsPath.equals("/websocket")) {
230-
handleRawWebSocketRequest(request, response, handler);
228+
handleRawWebSocketRequest(request, response, webSocketHandler);
231229
return;
232230
}
233231

@@ -247,18 +245,18 @@ else if (sockJsPath.equals("/websocket")) {
247245
return;
248246
}
249247

250-
handleTransportRequest(request, response, sessionId, TransportType.fromValue(transport), handler);
248+
handleTransportRequest(request, response, sessionId, TransportType.fromValue(transport), webSocketHandler);
251249
}
252250
finally {
253251
response.flush();
254252
}
255253
}
256254

257-
protected abstract void handleRawWebSocketRequest(ServerHttpRequest request, ServerHttpResponse response,
258-
HandlerProvider<WebSocketHandler<?>> handler) throws IOException;
255+
protected abstract void handleRawWebSocketRequest(ServerHttpRequest request,
256+
ServerHttpResponse response, WebSocketHandler<?> webSocketHandler) throws IOException;
259257

260258
protected abstract void handleTransportRequest(ServerHttpRequest request, ServerHttpResponse response,
261-
String sessionId, TransportType transportType, HandlerProvider<WebSocketHandler<?>> handler)
259+
String sessionId, TransportType transportType, WebSocketHandler<?> webSocketHandler)
262260
throws IOException, TransportErrorException;
263261

264262

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
package org.springframework.sockjs.server;
1818

1919
import org.springframework.scheduling.TaskScheduler;
20-
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
2120

2221
/**
2322
* @author Rossen Stoyanchev

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020

2121
import org.springframework.http.server.ServerHttpRequest;
2222
import org.springframework.http.server.ServerHttpResponse;
23-
import org.springframework.websocket.HandlerProvider;
2423
import org.springframework.websocket.WebSocketHandler;
2524

2625
/**
@@ -29,7 +28,8 @@
2928
*/
3029
public interface SockJsService {
3130

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

3535
}

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import org.springframework.http.server.ServerHttpRequest;
2020
import org.springframework.http.server.ServerHttpResponse;
2121
import org.springframework.sockjs.AbstractSockJsSession;
22-
import org.springframework.websocket.HandlerProvider;
2322
import org.springframework.websocket.WebSocketHandler;
2423

2524
/**
@@ -31,6 +30,6 @@ public interface TransportHandler {
3130
TransportType getTransportType();
3231

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

3635
}

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

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@
5151
import org.springframework.sockjs.server.transport.XhrStreamingTransportHandler;
5252
import org.springframework.sockjs.server.transport.XhrTransportHandler;
5353
import org.springframework.util.CollectionUtils;
54-
import org.springframework.websocket.HandlerProvider;
5554
import org.springframework.websocket.WebSocketHandler;
5655
import org.springframework.websocket.server.DefaultHandshakeHandler;
5756
import org.springframework.websocket.server.HandshakeHandler;
@@ -143,13 +142,13 @@ public Map<TransportType, TransportHandler> getTransportHandlers() {
143142

144143
@Override
145144
protected void handleRawWebSocketRequest(ServerHttpRequest request, ServerHttpResponse response,
146-
HandlerProvider<WebSocketHandler<?>> handler) throws IOException {
145+
WebSocketHandler<?> webSocketHandler) throws IOException {
147146

148147
if (isWebSocketEnabled()) {
149148
TransportHandler transportHandler = this.transportHandlers.get(TransportType.WEBSOCKET);
150149
if (transportHandler != null) {
151150
if (transportHandler instanceof HandshakeHandler) {
152-
((HandshakeHandler) transportHandler).doHandshake(request, response, handler);
151+
((HandshakeHandler) transportHandler).doHandshake(request, response, webSocketHandler);
153152
return;
154153
}
155154
}
@@ -160,7 +159,7 @@ protected void handleRawWebSocketRequest(ServerHttpRequest request, ServerHttpRe
160159

161160
@Override
162161
protected void handleTransportRequest(ServerHttpRequest request, ServerHttpResponse response,
163-
String sessionId, TransportType transportType, HandlerProvider<WebSocketHandler<?>> handler)
162+
String sessionId, TransportType transportType, WebSocketHandler<?> webSocketHandler)
164163
throws IOException, TransportErrorException {
165164

166165
TransportHandler transportHandler = this.transportHandlers.get(transportType);
@@ -188,7 +187,7 @@ protected void handleTransportRequest(ServerHttpRequest request, ServerHttpRespo
188187
return;
189188
}
190189

191-
AbstractSockJsSession session = getSockJsSession(sessionId, handler, transportHandler);
190+
AbstractSockJsSession session = getSockJsSession(sessionId, webSocketHandler, transportHandler);
192191

193192
if (session != null) {
194193
if (transportType.setsNoCacheHeader()) {
@@ -207,11 +206,11 @@ protected void handleTransportRequest(ServerHttpRequest request, ServerHttpRespo
207206
}
208207
}
209208

210-
transportHandler.handleRequest(request, response, handler, session);
209+
transportHandler.handleRequest(request, response, webSocketHandler, session);
211210
}
212211

213-
public AbstractSockJsSession getSockJsSession(String sessionId, HandlerProvider<WebSocketHandler<?>> handler,
214-
TransportHandler transportHandler) {
212+
public AbstractSockJsSession getSockJsSession(String sessionId,
213+
WebSocketHandler<?> webSocketHandler, TransportHandler transportHandler) {
215214

216215
AbstractSockJsSession session = this.sessions.get(sessionId);
217216
if (session != null) {
@@ -230,7 +229,7 @@ public AbstractSockJsSession getSockJsSession(String sessionId, HandlerProvider<
230229
scheduleSessionTask();
231230
}
232231
logger.debug("Creating new session with session id \"" + sessionId + "\"");
233-
session = (AbstractSockJsSession) sessionFactory.createSession(sessionId, handler);
232+
session = (AbstractSockJsSession) sessionFactory.createSession(sessionId, webSocketHandler);
234233
this.sessions.put(sessionId, session);
235234
return session;
236235
}

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

Lines changed: 5 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,7 @@
3131
import org.springframework.web.HttpRequestHandler;
3232
import org.springframework.web.util.NestedServletException;
3333
import org.springframework.web.util.UrlPathHelper;
34-
import org.springframework.websocket.HandlerProvider;
3534
import org.springframework.websocket.WebSocketHandler;
36-
import org.springframework.websocket.support.SimpleHandlerProvider;
3735

3836
/**
3937
* @author Rossen Stoyanchev
@@ -45,7 +43,7 @@ public class SockJsHttpRequestHandler implements HttpRequestHandler {
4543

4644
private final SockJsService sockJsService;
4745

48-
private final HandlerProvider<WebSocketHandler<?>> handlerProvider;
46+
private final WebSocketHandler<?> webSocketHandler;
4947

5048
private final UrlPathHelper urlPathHelper = new UrlPathHelper();
5149

@@ -57,37 +55,17 @@ public class SockJsHttpRequestHandler implements HttpRequestHandler {
5755
* that begins with the specified prefix will be handled by this service. In a
5856
* Servlet container this is the path within the current servlet mapping.
5957
*/
60-
public SockJsHttpRequestHandler(String prefix, SockJsService sockJsService, WebSocketHandler handler) {
58+
public SockJsHttpRequestHandler(String prefix, SockJsService sockJsService, WebSocketHandler webSocketHandler) {
6159

6260
Assert.hasText(prefix, "prefix is required");
6361
Assert.notNull(sockJsService, "sockJsService is required");
64-
Assert.notNull(handler, "webSocketHandler is required");
62+
Assert.notNull(webSocketHandler, "webSocketHandler is required");
6563

6664
this.prefix = prefix;
6765
this.sockJsService = sockJsService;
68-
this.handlerProvider = new SimpleHandlerProvider<WebSocketHandler<?>>(handler);
66+
this.webSocketHandler = webSocketHandler;
6967
}
7068

71-
/**
72-
* Class constructor with {@link SockJsHandler} type (per request) ...
73-
*
74-
* @param prefix the path prefix for the SockJS service. All requests with a path
75-
* that begins with the specified prefix will be handled by this service. In a
76-
* Servlet container this is the path within the current servlet mapping.
77-
*/
78-
public SockJsHttpRequestHandler(String prefix, SockJsService sockJsService,
79-
HandlerProvider<WebSocketHandler<?>> handlerProvider) {
80-
81-
Assert.hasText(prefix, "prefix is required");
82-
Assert.notNull(sockJsService, "sockJsService is required");
83-
Assert.notNull(handlerProvider, "handlerProvider is required");
84-
85-
this.prefix = prefix;
86-
this.sockJsService = sockJsService;
87-
this.handlerProvider = handlerProvider;
88-
}
89-
90-
9169
public String getPrefix() {
9270
return this.prefix;
9371
}
@@ -111,7 +89,7 @@ public void handleRequest(HttpServletRequest request, HttpServletResponse respon
11189
ServerHttpResponse httpResponse = new ServletServerHttpResponse(response);
11290

11391
try {
114-
this.sockJsService.handleRequest(httpRequest, httpResponse, sockJsPath, this.handlerProvider);
92+
this.sockJsService.handleRequest(httpRequest, httpResponse, sockJsPath, this.webSocketHandler);
11593
}
11694
catch (Exception ex) {
11795
// TODO

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
import org.springframework.sockjs.AbstractSockJsSession;
3030
import org.springframework.sockjs.server.TransportErrorException;
3131
import org.springframework.sockjs.server.TransportHandler;
32-
import org.springframework.websocket.HandlerProvider;
3332
import org.springframework.websocket.WebSocketHandler;
3433

3534
import com.fasterxml.jackson.databind.JsonMappingException;
@@ -55,7 +54,7 @@ public ObjectMapper getObjectMapper() {
5554

5655
@Override
5756
public final void handleRequest(ServerHttpRequest request, ServerHttpResponse response,
58-
HandlerProvider<WebSocketHandler<?>> webSocketHandler, AbstractSockJsSession session)
57+
WebSocketHandler<?> webSocketHandler, AbstractSockJsSession session)
5958
throws TransportErrorException {
6059

6160
if (session == null) {

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,8 @@
2828
import org.springframework.sockjs.server.ConfigurableTransportHandler;
2929
import org.springframework.sockjs.server.SockJsConfiguration;
3030
import org.springframework.sockjs.server.SockJsFrame;
31-
import org.springframework.sockjs.server.TransportErrorException;
3231
import org.springframework.sockjs.server.SockJsFrame.FrameFormat;
33-
import org.springframework.websocket.HandlerProvider;
32+
import org.springframework.sockjs.server.TransportErrorException;
3433
import org.springframework.websocket.WebSocketHandler;
3534

3635
/**
@@ -58,7 +57,7 @@ public SockJsConfiguration getSockJsConfig() {
5857

5958
@Override
6059
public final void handleRequest(ServerHttpRequest request, ServerHttpResponse response,
61-
HandlerProvider<WebSocketHandler<?>> webSocketHandler, AbstractSockJsSession session)
60+
WebSocketHandler<?> webSocketHandler, AbstractSockJsSession session)
6261
throws TransportErrorException {
6362

6463
// Set content type before writing

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

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,10 @@
2626
import org.springframework.sockjs.server.AbstractServerSockJsSession;
2727
import org.springframework.sockjs.server.SockJsConfiguration;
2828
import org.springframework.sockjs.server.SockJsFrame;
29-
import org.springframework.sockjs.server.TransportErrorException;
3029
import org.springframework.sockjs.server.SockJsFrame.FrameFormat;
30+
import org.springframework.sockjs.server.TransportErrorException;
3131
import org.springframework.util.Assert;
3232
import org.springframework.websocket.CloseStatus;
33-
import org.springframework.websocket.HandlerProvider;
3433
import org.springframework.websocket.WebSocketHandler;
3534

3635
/**
@@ -50,10 +49,8 @@ public abstract class AbstractHttpServerSockJsSession extends AbstractServerSock
5049
private ServerHttpResponse response;
5150

5251

53-
public AbstractHttpServerSockJsSession(String sessionId, SockJsConfiguration sockJsConfig,
54-
HandlerProvider<WebSocketHandler<?>> handler) {
55-
56-
super(sessionId, sockJsConfig, handler);
52+
public AbstractHttpServerSockJsSession(String sessionId, SockJsConfiguration config, WebSocketHandler<?> handler) {
53+
super(sessionId, config, handler);
5754
}
5855

5956
public synchronized void setInitialRequest(ServerHttpRequest request, ServerHttpResponse response,

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
import org.springframework.sockjs.server.SockJsFrame.FrameFormat;
2626
import org.springframework.sockjs.server.TransportType;
2727
import org.springframework.util.Assert;
28-
import org.springframework.websocket.HandlerProvider;
2928
import org.springframework.websocket.WebSocketHandler;
3029

3130
/**
@@ -47,7 +46,7 @@ protected MediaType getContentType() {
4746
}
4847

4948
@Override
50-
public StreamingServerSockJsSession createSession(String sessionId, HandlerProvider<WebSocketHandler<?>> handler) {
49+
public StreamingServerSockJsSession createSession(String sessionId, WebSocketHandler<?> handler) {
5150
Assert.notNull(getSockJsConfig(), "This transport requires SockJsConfiguration");
5251
return new StreamingServerSockJsSession(sessionId, getSockJsConfig(), handler) {
5352
@Override

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import org.springframework.util.Assert;
3131
import org.springframework.util.StringUtils;
3232
import org.springframework.web.util.JavaScriptUtils;
33-
import org.springframework.websocket.HandlerProvider;
3433
import org.springframework.websocket.WebSocketHandler;
3534

3635
/**
@@ -81,7 +80,7 @@ protected MediaType getContentType() {
8180
}
8281

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

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

0 commit comments

Comments
 (0)