From 5273af0ecf1aae26225bed2416d4548b98a05f41 Mon Sep 17 00:00:00 2001 From: Kulwant Singh Date: Mon, 31 Oct 2022 22:49:29 +0100 Subject: [PATCH 1/6] Used Standard Charsets object --- .../handler/HttpReceivingTransportHandlerTests.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/transport/handler/HttpReceivingTransportHandlerTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/transport/handler/HttpReceivingTransportHandlerTests.java index 9d9639cd5bf0..1bfe9d300b1b 100644 --- a/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/transport/handler/HttpReceivingTransportHandlerTests.java +++ b/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/transport/handler/HttpReceivingTransportHandlerTests.java @@ -26,6 +26,8 @@ import org.springframework.web.socket.sockjs.transport.session.StubSockJsServiceConfig; import org.springframework.web.socket.sockjs.transport.session.TestHttpSockJsSession; +import java.nio.charset.StandardCharsets; + import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; @@ -44,7 +46,7 @@ public class HttpReceivingTransportHandlerTests extends AbstractHttpRequestTests @Test public void readMessagesXhr() throws Exception { - this.servletRequest.setContent("[\"x\"]".getBytes("UTF-8")); + this.servletRequest.setContent("[\"x\"]".getBytes(StandardCharsets.UTF_8)); handleRequest(new XhrReceivingTransportHandler()); assertThat(this.servletResponse.getStatus()).isEqualTo(204); @@ -52,10 +54,10 @@ public void readMessagesXhr() throws Exception { @Test public void readMessagesBadContent() throws Exception { - this.servletRequest.setContent("".getBytes("UTF-8")); + this.servletRequest.setContent("".getBytes(StandardCharsets.UTF_8)); handleRequestAndExpectFailure(); - this.servletRequest.setContent("[\"x]".getBytes("UTF-8")); + this.servletRequest.setContent("[\"x]".getBytes(StandardCharsets.UTF_8)); handleRequestAndExpectFailure(); } @@ -69,7 +71,7 @@ public void readMessagesNoSession() throws Exception { @Test public void delegateMessageException() throws Exception { StubSockJsServiceConfig sockJsConfig = new StubSockJsServiceConfig(); - this.servletRequest.setContent("[\"x\"]".getBytes("UTF-8")); + this.servletRequest.setContent("[\"x\"]".getBytes(StandardCharsets.UTF_8)); WebSocketHandler wsHandler = mock(WebSocketHandler.class); TestHttpSockJsSession session = new TestHttpSockJsSession("1", sockJsConfig, wsHandler, null); From 57abf3df4a3e4c23741b90180e4b1915262e5760 Mon Sep 17 00:00:00 2001 From: Kulwant Singh Date: Mon, 31 Oct 2022 22:53:56 +0100 Subject: [PATCH 2/6] Removed unnecessary call to toString --- .../web/socket/messaging/SessionDisconnectEvent.java | 2 +- .../standard/ConvertingEncoderDecoderSupportTests.java | 4 ++-- .../socket/sockjs/client/RestTemplateXhrTransportTests.java | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/messaging/SessionDisconnectEvent.java b/spring-websocket/src/main/java/org/springframework/web/socket/messaging/SessionDisconnectEvent.java index dd0269e0fbca..4a5241a9db6c 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/messaging/SessionDisconnectEvent.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/messaging/SessionDisconnectEvent.java @@ -89,7 +89,7 @@ public CloseStatus getCloseStatus() { @Override public String toString() { - return "SessionDisconnectEvent[sessionId=" + this.sessionId + ", " + this.status.toString() + "]"; + return "SessionDisconnectEvent[sessionId=" + this.sessionId + ", " + this.status + "]"; } } diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/adapter/standard/ConvertingEncoderDecoderSupportTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/adapter/standard/ConvertingEncoderDecoderSupportTests.java index 486cb4a07c6f..f52480e756c4 100644 --- a/spring-websocket/src/test/java/org/springframework/web/socket/adapter/standard/ConvertingEncoderDecoderSupportTests.java +++ b/spring-websocket/src/test/java/org/springframework/web/socket/adapter/standard/ConvertingEncoderDecoderSupportTests.java @@ -244,7 +244,7 @@ public boolean equals(Object obj) { private static class MyTypeToStringConverter implements Converter { @Override public String convert(MyType source) { - return "_" + source.toString(); + return "_" + source; } } @@ -252,7 +252,7 @@ public String convert(MyType source) { private static class MyTypeToBytesConverter implements Converter { @Override public byte[] convert(MyType source) { - return ("~" + source.toString()).getBytes(); + return ("~" + source).getBytes(); } } diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/client/RestTemplateXhrTransportTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/client/RestTemplateXhrTransportTests.java index c90f8c73d851..ea1309584254 100644 --- a/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/client/RestTemplateXhrTransportTests.java +++ b/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/client/RestTemplateXhrTransportTests.java @@ -91,7 +91,7 @@ public void connectReceiveAndCloseWithPrelude() throws Exception { for (int i = 0; i < 2048; i++) { sb.append('h'); } - String body = sb.toString() + "\n" + "o\n" + "a[\"foo\"]\n" + "c[3000,\"Go away!\"]"; + String body = sb + "\n" + "o\n" + "a[\"foo\"]\n" + "c[3000,\"Go away!\"]"; ClientHttpResponse response = response(HttpStatus.OK, body); connect(response); From 938ea47ca1162e15f49b0670dbec0a06ba2aeb5d Mon Sep 17 00:00:00 2001 From: Kulwant Singh Date: Mon, 31 Oct 2022 22:56:47 +0100 Subject: [PATCH 3/6] Replaced concatenated strings with text blocks --- .../sockjs/support/AbstractSockJsService.java | 33 +++++------ .../handler/HtmlFileTransportHandler.java | 25 +++++---- .../StompSubProtocolHandlerTests.java | 56 +++++++++++++++---- .../client/RestTemplateXhrTransportTests.java | 11 +++- 4 files changed, 84 insertions(+), 41 deletions(-) diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/support/AbstractSockJsService.java b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/support/AbstractSockJsService.java index 196330b55861..0f30ca986825 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/support/AbstractSockJsService.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/support/AbstractSockJsService.java @@ -614,22 +614,23 @@ else if (request.getMethod() == HttpMethod.OPTIONS) { private class IframeHandler implements SockJsRequestHandler { private static final String IFRAME_CONTENT = - "\n" + - "\n" + - "\n" + - " \n" + - " \n" + - " \n" + - " \n" + - "\n" + - "\n" + - "

Don't panic!

\n" + - "

This is a SockJS hidden iframe. It's used for cross domain magic.

\n" + - "\n" + - ""; + """ + + + + + + + + + +

Don't panic!

+

This is a SockJS hidden iframe. It's used for cross domain magic.

+ + """; @Override public void handle(ServerHttpRequest request, ServerHttpResponse response) throws IOException { diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/handler/HtmlFileTransportHandler.java b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/handler/HtmlFileTransportHandler.java index 13b09e2cb1c0..cc72de22767c 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/handler/HtmlFileTransportHandler.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/handler/HtmlFileTransportHandler.java @@ -60,18 +60,19 @@ public class HtmlFileTransportHandler extends AbstractHttpSendingTransportHandle static { StringBuilder sb = new StringBuilder( - "\n" + - "\n" + - " \n" + - " \n" + - "

Don't panic!

\n" + - " " + """ + + + + +

Don't panic!

+ """ ); while (sb.length() < MINIMUM_PARTIAL_HTML_CONTENT_LENGTH) { 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 6744cbc3d873..a9932bfb998d 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 @@ -109,7 +109,11 @@ public void handleMessageToClientWithConnectedFrame() { assertThat(this.session.getSentMessages().size()).isEqualTo(1); WebSocketMessage textMessage = this.session.getSentMessages().get(0); - assertThat(textMessage.getPayload()).isEqualTo(("CONNECTED\n" + "user-name:joe\n" + "\n" + "\u0000")); + assertThat(textMessage.getPayload()).isEqualTo((""" + CONNECTED + user-name:joe + + \u0000""")); } @Test @@ -123,7 +127,11 @@ public void handleMessageToClientWithDestinationUserNameProvider() { assertThat(this.session.getSentMessages().size()).isEqualTo(1); WebSocketMessage textMessage = this.session.getSentMessages().get(0); - assertThat(textMessage.getPayload()).isEqualTo(("CONNECTED\n" + "user-name:joe\n" + "\n" + "\u0000")); + assertThat(textMessage.getPayload()).isEqualTo((""" + CONNECTED + user-name:joe + + \u0000""")); } @Test @@ -142,8 +150,13 @@ public void handleMessageToClientWithSimpConnectAck() { assertThat(this.session.getSentMessages().size()).isEqualTo(1); TextMessage actual = (TextMessage) this.session.getSentMessages().get(0); - assertThat(actual.getPayload()).isEqualTo(("CONNECTED\n" + "version:1.2\n" + "heart-beat:15000,15000\n" + - "user-name:joe\n" + "\n" + "\u0000")); + assertThat(actual.getPayload()).isEqualTo((""" + CONNECTED + version:1.2 + heart-beat:15000,15000 + user-name:joe + + \u0000""")); } @Test @@ -161,8 +174,13 @@ public void handleMessageToClientWithSimpConnectAckDefaultHeartBeat() { assertThat(this.session.getSentMessages().size()).isEqualTo(1); TextMessage actual = (TextMessage) this.session.getSentMessages().get(0); - assertThat(actual.getPayload()).isEqualTo(("CONNECTED\n" + "version:1.0\n" + "heart-beat:0,0\n" + - "user-name:joe\n" + "\n" + "\u0000")); + assertThat(actual.getPayload()).isEqualTo((""" + CONNECTED + version:1.0 + heart-beat:0,0 + user-name:joe + + \u0000""")); } @Test @@ -178,8 +196,12 @@ public void handleMessageToClientWithSimpDisconnectAck() { assertThat(this.session.getSentMessages().size()).isEqualTo(1); TextMessage actual = (TextMessage) this.session.getSentMessages().get(0); - assertThat(actual.getPayload()).isEqualTo(("ERROR\n" + "message:Session closed.\n" + "content-length:0\n" + - "\n\u0000")); + assertThat(actual.getPayload()).isEqualTo((""" + ERROR + message:Session closed. + content-length:0 + + \u0000""")); } @Test @@ -196,7 +218,11 @@ public void handleMessageToClientWithSimpDisconnectAckAndReceipt() { assertThat(this.session.getSentMessages().size()).isEqualTo(1); TextMessage actual = (TextMessage) this.session.getSentMessages().get(0); - assertThat(actual.getPayload()).isEqualTo(("RECEIPT\n" + "receipt-id:message-123\n" + "\n\u0000")); + assertThat(actual.getPayload()).isEqualTo((""" + RECEIPT + receipt-id:message-123 + + \u0000""")); } @Test @@ -391,7 +417,11 @@ public void handleMessageFromClientWithTokenAuthentication() { assertThat(this.session.getSentMessages()).hasSize(1); WebSocketMessage textMessage = this.session.getSentMessages().get(0); assertThat(textMessage.getPayload()) - .isEqualTo("CONNECTED\n" + "user-name:__pete__@gmail.com\n" + "\n" + "\u0000"); + .isEqualTo(""" + CONNECTED + user-name:__pete__@gmail.com + + \u0000"""); } @Test @@ -470,7 +500,11 @@ public void eventPublicationWithExceptions() { assertThat(this.session.getSentMessages().size()).isEqualTo(1); textMessage = (TextMessage) this.session.getSentMessages().get(0); - assertThat(textMessage.getPayload()).isEqualTo(("CONNECTED\n" + "user-name:joe\n" + "\n" + "\u0000")); + assertThat(textMessage.getPayload()).isEqualTo((""" + CONNECTED + user-name:joe + + \u0000""")); this.protocolHandler.afterSessionEnded(this.session, CloseStatus.BAD_DATA, this.channel); diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/client/RestTemplateXhrTransportTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/client/RestTemplateXhrTransportTests.java index ea1309584254..ed6e51b95b00 100644 --- a/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/client/RestTemplateXhrTransportTests.java +++ b/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/client/RestTemplateXhrTransportTests.java @@ -75,7 +75,10 @@ public class RestTemplateXhrTransportTests { @Test public void connectReceiveAndClose() throws Exception { - String body = "o\n" + "a[\"foo\"]\n" + "c[3000,\"Go away!\"]"; + String body = """ + o + a["foo"] + c[3000,"Go away!"]"""; ClientHttpResponse response = response(HttpStatus.OK, body); connect(response); @@ -157,7 +160,11 @@ public void errorResponseStatus() throws Exception { @Test public void responseClosedAfterDisconnected() throws Exception { - String body = "o\n" + "c[3000,\"Go away!\"]\n" + "a[\"foo\"]\n"; + String body = """ + o + c[3000,"Go away!"] + a["foo"] + """; ClientHttpResponse response = response(HttpStatus.OK, body); connect(response); From fdae5f1e59eeca21c098f057d05c59f34252c662 Mon Sep 17 00:00:00 2001 From: Kulwant Singh Date: Mon, 31 Oct 2022 23:01:16 +0100 Subject: [PATCH 4/6] Removed Arrays.asList call with too few arguments --- .../client/WebSocketConnectionManagerTests.java | 3 +-- ...WebMvcStompWebSocketEndpointRegistrationTests.java | 11 +++++------ .../messaging/SubProtocolWebSocketHandlerTests.java | 7 ++++--- .../support/OriginHandshakeInterceptorTests.java | 2 +- .../transport/handler/DefaultSockJsServiceTests.java | 4 ++-- .../session/WebSocketServerSockJsSessionTests.java | 2 +- 6 files changed, 14 insertions(+), 15 deletions(-) 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 395c54d009eb..0e03ca55cb23 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 @@ -17,7 +17,6 @@ package org.springframework.web.socket.client; import java.net.URI; -import java.util.Arrays; import java.util.List; import java.util.concurrent.CompletableFuture; @@ -45,7 +44,7 @@ public class WebSocketConnectionManagerTests { @Test public void openConnection() throws Exception { - List subprotocols = Arrays.asList("abc"); + List subprotocols = List.of("abc"); TestLifecycleWebSocketClient client = new TestLifecycleWebSocketClient(false); WebSocketHandler handler = new TextWebSocketHandler(); diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/config/annotation/WebMvcStompWebSocketEndpointRegistrationTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/config/annotation/WebMvcStompWebSocketEndpointRegistrationTests.java index 3129a68d4be9..ddb0e83fe23c 100644 --- a/spring-websocket/src/test/java/org/springframework/web/socket/config/annotation/WebMvcStompWebSocketEndpointRegistrationTests.java +++ b/spring-websocket/src/test/java/org/springframework/web/socket/config/annotation/WebMvcStompWebSocketEndpointRegistrationTests.java @@ -16,7 +16,6 @@ package org.springframework.web.socket.config.annotation; -import java.util.Arrays; import java.util.List; import java.util.Map; @@ -72,7 +71,7 @@ public void minimalRegistration() { Map.Entry> entry = mappings.entrySet().iterator().next(); assertThat(((WebSocketHttpRequestHandler) entry.getKey()).getWebSocketHandler()).isNotNull(); assertThat(((WebSocketHttpRequestHandler) entry.getKey()).getHandshakeInterceptors().size()).isEqualTo(1); - assertThat(entry.getValue()).isEqualTo(Arrays.asList("/foo")); + assertThat(entry.getValue()).isEqualTo(List.of("/foo")); } @Test @@ -190,7 +189,7 @@ public void handshakeHandlerAndInterceptor() { assertThat(mappings.size()).isEqualTo(1); Map.Entry> entry = mappings.entrySet().iterator().next(); - assertThat(entry.getValue()).isEqualTo(Arrays.asList("/foo")); + assertThat(entry.getValue()).isEqualTo(List.of("/foo")); WebSocketHttpRequestHandler requestHandler = (WebSocketHttpRequestHandler) entry.getKey(); assertThat(requestHandler.getWebSocketHandler()).isNotNull(); @@ -214,7 +213,7 @@ public void handshakeHandlerAndInterceptorWithAllowedOrigins() { assertThat(mappings.size()).isEqualTo(1); Map.Entry> entry = mappings.entrySet().iterator().next(); - assertThat(entry.getValue()).isEqualTo(Arrays.asList("/foo")); + assertThat(entry.getValue()).isEqualTo(List.of("/foo")); WebSocketHttpRequestHandler requestHandler = (WebSocketHttpRequestHandler) entry.getKey(); assertThat(requestHandler.getWebSocketHandler()).isNotNull(); @@ -238,7 +237,7 @@ public void handshakeHandlerInterceptorWithSockJsService() { assertThat(mappings.size()).isEqualTo(1); Map.Entry> entry = mappings.entrySet().iterator().next(); - assertThat(entry.getValue()).isEqualTo(Arrays.asList("/foo/**")); + assertThat(entry.getValue()).isEqualTo(List.of("/foo/**")); SockJsHttpRequestHandler requestHandler = (SockJsHttpRequestHandler) entry.getKey(); assertThat(requestHandler.getWebSocketHandler()).isNotNull(); @@ -270,7 +269,7 @@ public void handshakeHandlerInterceptorWithSockJsServiceAndAllowedOrigins() { assertThat(mappings.size()).isEqualTo(1); Map.Entry> entry = mappings.entrySet().iterator().next(); - assertThat(entry.getValue()).isEqualTo(Arrays.asList("/foo/**")); + assertThat(entry.getValue()).isEqualTo(List.of("/foo/**")); SockJsHttpRequestHandler requestHandler = (SockJsHttpRequestHandler) entry.getKey(); assertThat(requestHandler.getWebSocketHandler()).isNotNull(); 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 7144c485e5fb..0bef882c44d9 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 @@ -17,6 +17,7 @@ package org.springframework.web.socket.messaging; import java.util.Arrays; +import java.util.List; import java.util.Map; import org.junit.jupiter.api.BeforeEach; @@ -70,7 +71,7 @@ public class SubProtocolWebSocketHandlerTests { public void setup() { this.webSocketHandler = new SubProtocolWebSocketHandler(this.inClientChannel, this.outClientChannel); given(stompHandler.getSupportedProtocols()).willReturn(Arrays.asList("v10.stomp", "v11.stomp", "v12.stomp")); - given(mqttHandler.getSupportedProtocols()).willReturn(Arrays.asList("MQTT")); + given(mqttHandler.getSupportedProtocols()).willReturn(List.of("MQTT")); this.session = new TestWebSocketSession(); this.session.setId("1"); this.session.setOpen(true); @@ -133,7 +134,7 @@ public void emptySubProtocol() throws Exception { @Test public void noSubProtocolOneHandler() throws Exception { - this.webSocketHandler.setProtocolHandlers(Arrays.asList(stompHandler)); + this.webSocketHandler.setProtocolHandlers(List.of(stompHandler)); this.webSocketHandler.afterConnectionEstablished(session); verify(this.stompHandler).afterSessionStarted( @@ -164,7 +165,7 @@ public void checkSession() throws Exception { session1.setAcceptedProtocol("v12.stomp"); session2.setAcceptedProtocol("v12.stomp"); - this.webSocketHandler.setProtocolHandlers(Arrays.asList(this.stompHandler)); + this.webSocketHandler.setProtocolHandlers(List.of(this.stompHandler)); this.webSocketHandler.afterConnectionEstablished(session1); this.webSocketHandler.afterConnectionEstablished(session2); diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/server/support/OriginHandshakeInterceptorTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/server/support/OriginHandshakeInterceptorTests.java index a53ef5c11807..409ea18c63f3 100644 --- a/spring-websocket/src/test/java/org/springframework/web/socket/server/support/OriginHandshakeInterceptorTests.java +++ b/spring-websocket/src/test/java/org/springframework/web/socket/server/support/OriginHandshakeInterceptorTests.java @@ -120,7 +120,7 @@ public void sameOriginMatchWithEmptyAllowedOrigins() throws Exception { public void sameOriginMatchWithAllowedOrigins() throws Exception { this.servletRequest.addHeader(HttpHeaders.ORIGIN, "http://mydomain2.example"); this.servletRequest.setServerName("mydomain2.example"); - OriginHandshakeInterceptor interceptor = new OriginHandshakeInterceptor(Arrays.asList("http://mydomain1.example")); + OriginHandshakeInterceptor interceptor = new OriginHandshakeInterceptor(List.of("http://mydomain1.example")); assertThat(interceptor.beforeHandshake(request, response, wsHandler, attributes)).isTrue(); assertThat(HttpStatus.FORBIDDEN.value()).isNotEqualTo(servletResponse.getStatus()); } diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/transport/handler/DefaultSockJsServiceTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/transport/handler/DefaultSockJsServiceTests.java index fbd16e581a37..423a0ef7f9f1 100644 --- a/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/transport/handler/DefaultSockJsServiceTests.java +++ b/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/transport/handler/DefaultSockJsServiceTests.java @@ -187,7 +187,7 @@ public void handleTransportRequestXhrAllowedOriginsNoMatch() throws Exception { public void handleTransportRequestXhrSameOrigin() throws Exception { String sockJsPath = sessionUrlPrefix + "xhr"; setRequest("POST", sockJsPrefix + sockJsPath); - this.service.setAllowedOrigins(Arrays.asList("https://mydomain1.example")); + this.service.setAllowedOrigins(List.of("https://mydomain1.example")); this.servletRequest.addHeader(HttpHeaders.ORIGIN, "https://mydomain1.example"); this.servletRequest.setServerName("mydomain2.example"); this.service.handleRequest(this.request, this.response, sockJsPath, this.wsHandler); @@ -199,7 +199,7 @@ public void handleTransportRequestXhrSameOrigin() throws Exception { public void handleInvalidTransportType() throws Exception { String sockJsPath = sessionUrlPrefix + "invalid"; setRequest("POST", sockJsPrefix + sockJsPath); - this.service.setAllowedOrigins(Arrays.asList("https://mydomain1.example")); + this.service.setAllowedOrigins(List.of("https://mydomain1.example")); this.servletRequest.addHeader(HttpHeaders.ORIGIN, "https://mydomain2.example"); this.servletRequest.setServerName("mydomain2.example"); this.service.handleRequest(this.request, this.response, sockJsPath, this.wsHandler); 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 dcccff5ffc3a..eab7e4c52766 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 @@ -79,7 +79,7 @@ public void isActive() throws Exception { public void afterSessionInitialized() throws Exception { this.session.initializeDelegateSession(this.webSocketSession); assertThat(this.webSocketSession.getSentMessages()).isEqualTo(Collections.singletonList(new TextMessage("o"))); - assertThat(this.session.heartbeatSchedulingEvents).isEqualTo(Arrays.asList("schedule")); + assertThat(this.session.heartbeatSchedulingEvents).isEqualTo(List.of("schedule")); verify(this.webSocketHandler).afterConnectionEstablished(this.session); verifyNoMoreInteractions(this.taskScheduler, this.webSocketHandler); } From 994660114de4e52da9586aff89d4d2e74ee4a73f Mon Sep 17 00:00:00 2001 From: Kulwant Singh Date: Mon, 31 Oct 2022 23:03:38 +0100 Subject: [PATCH 5/6] Fixed Javadoc links --- .../client/standard/AnnotatedEndpointConnectionManager.java | 2 +- .../web/socket/config/annotation/SockJsServiceRegistration.java | 2 +- .../web/socket/sockjs/frame/AbstractSockJsMessageCodec.java | 2 +- .../web/socket/sockjs/support/AbstractSockJsService.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/client/standard/AnnotatedEndpointConnectionManager.java b/spring-websocket/src/main/java/org/springframework/web/socket/client/standard/AnnotatedEndpointConnectionManager.java index debc3ebecbe4..9bac8da20907 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/client/standard/AnnotatedEndpointConnectionManager.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/client/standard/AnnotatedEndpointConnectionManager.java @@ -33,7 +33,7 @@ /** * WebSocket {@link ConnectionManagerSupport connection manager} that connects * to the server via {@link WebSocketContainer} and handles the session with an - * {@link javax.websocket.ClientEndpoint @ClientEndpoint} endpoint. + * {@link jakarta.websocket.ClientEndpoint @ClientEndpoint} endpoint. * * @author Rossen Stoyanchev * @since 4.0 diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/config/annotation/SockJsServiceRegistration.java b/spring-websocket/src/main/java/org/springframework/web/socket/config/annotation/SockJsServiceRegistration.java index c18cb0ea6ec6..ffbeb699632c 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/config/annotation/SockJsServiceRegistration.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/config/annotation/SockJsServiceRegistration.java @@ -102,7 +102,7 @@ public SockJsServiceRegistration setTaskScheduler(TaskScheduler scheduler) { * server. Since the iframe needs to load the SockJS javascript client library, * this property allows specifying where to load it from. *

By default this is set to point to - * "https://cdn.jsdelivr.net/sockjs/0.3.4/sockjs.min.js". However it can + * "sockjs.min.js". However, it can * also be set to point to a URL served by the application. *

Note that it's possible to specify a relative URL in which case the URL * must be relative to the iframe URL. For example assuming a SockJS endpoint diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/frame/AbstractSockJsMessageCodec.java b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/frame/AbstractSockJsMessageCodec.java index dbf3461f8bc6..6fb86f4df4d8 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/frame/AbstractSockJsMessageCodec.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/frame/AbstractSockJsMessageCodec.java @@ -46,7 +46,7 @@ public String encode(String... messages) { } /** - * Apply standard JSON string quoting (see https://www.json.org/). + * Apply standard JSON string quoting (see json.org). */ protected abstract char[] applyJsonQuoting(String content); diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/support/AbstractSockJsService.java b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/support/AbstractSockJsService.java index 0f30ca986825..2ab5ce0a8163 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/support/AbstractSockJsService.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/support/AbstractSockJsService.java @@ -149,7 +149,7 @@ public String getName() { * server. Since the iframe needs to load the SockJS javascript client library, * this property allows specifying where to load it from. *

By default this is set to point to - * "https://cdn.jsdelivr.net/sockjs/1.0.0/sockjs.min.js". + * "sockjs.min.js". * However, it can also be set to point to a URL served by the application. *

Note that it's possible to specify a relative URL in which case the URL * must be relative to the iframe URL. For example assuming a SockJS endpoint From bb634ae7f89f26504afe3dc378dd4ae268727b5b Mon Sep 17 00:00:00 2001 From: Kulwant Singh Date: Tue, 1 Nov 2022 18:03:14 +0100 Subject: [PATCH 6/6] Fixed tests and checkstyle violations --- .../sockjs/support/AbstractSockJsService.java | 18 ++++++++--------- .../handler/HtmlFileTransportHandler.java | 20 +++++++++---------- .../sockjs/support/SockJsServiceTests.java | 6 +++--- .../HttpReceivingTransportHandlerTests.java | 4 ++-- 4 files changed, 24 insertions(+), 24 deletions(-) diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/support/AbstractSockJsService.java b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/support/AbstractSockJsService.java index 2ab5ce0a8163..843cb95abc60 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/support/AbstractSockJsService.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/support/AbstractSockJsService.java @@ -618,17 +618,17 @@ private class IframeHandler implements SockJsRequestHandler { - - - - + + + + -

Don't panic!

-

This is a SockJS hidden iframe. It's used for cross domain magic.

+

Don't panic!

+

This is a SockJS hidden iframe. It's used for cross domain magic.

"""; diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/handler/HtmlFileTransportHandler.java b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/handler/HtmlFileTransportHandler.java index cc72de22767c..39a74841974d 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/handler/HtmlFileTransportHandler.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/handler/HtmlFileTransportHandler.java @@ -61,18 +61,18 @@ public class HtmlFileTransportHandler extends AbstractHttpSendingTransportHandle static { StringBuilder sb = new StringBuilder( """ - + - - + +

Don't panic!

- """ + """ ); while (sb.length() < MINIMUM_PARTIAL_HTML_CONTENT_LENGTH) { diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/support/SockJsServiceTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/support/SockJsServiceTests.java index 39f9a619f1ad..5b8eb2a08ec0 100644 --- a/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/support/SockJsServiceTests.java +++ b/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/support/SockJsServiceTests.java @@ -238,14 +238,14 @@ public void handleIframeRequest() throws IOException { assertThat(this.servletResponse.getContentType()).isEqualTo("text/html;charset=UTF-8"); assertThat(this.servletResponse.getContentAsString().startsWith("\n")).isTrue(); - assertThat(this.servletResponse.getContentLength()).isEqualTo(490); + assertThat(this.servletResponse.getContentLength()).isEqualTo(479); assertThat(this.response.getHeaders().getCacheControl()).isEqualTo("no-store, no-cache, must-revalidate, max-age=0"); - assertThat(this.response.getHeaders().getETag()).isEqualTo("\"0096cbd37f2a5218c33bb0826a7c74cbf\""); + assertThat(this.response.getHeaders().getETag()).isEqualTo("\"096aaf2482e2a85effc0ab65a61993ae0\""); } @Test public void handleIframeRequestNotModified() { - this.servletRequest.addHeader("If-None-Match", "\"0096cbd37f2a5218c33bb0826a7c74cbf\""); + this.servletRequest.addHeader("If-None-Match", "\"096aaf2482e2a85effc0ab65a61993ae0\""); resetResponseAndHandleRequest("GET", "/echo/iframe.html", HttpStatus.NOT_MODIFIED); } diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/transport/handler/HttpReceivingTransportHandlerTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/transport/handler/HttpReceivingTransportHandlerTests.java index 1bfe9d300b1b..e1500ea43c8e 100644 --- a/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/transport/handler/HttpReceivingTransportHandlerTests.java +++ b/spring-websocket/src/test/java/org/springframework/web/socket/sockjs/transport/handler/HttpReceivingTransportHandlerTests.java @@ -16,6 +16,8 @@ package org.springframework.web.socket.sockjs.transport.handler; +import java.nio.charset.StandardCharsets; + import org.junit.jupiter.api.Test; import org.springframework.web.socket.AbstractHttpRequestTests; @@ -26,8 +28,6 @@ import org.springframework.web.socket.sockjs.transport.session.StubSockJsServiceConfig; import org.springframework.web.socket.sockjs.transport.session.TestHttpSockJsSession; -import java.nio.charset.StandardCharsets; - import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;