From f83bb7183ec28c8f0da4b3cddb0ecb72e0834a86 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Tue, 6 Oct 2020 15:31:34 +0200 Subject: [PATCH] Polishing --- .../simp/stomp/DefaultStompSession.java | 5 ++- .../support/NativeMessageHeaderAccessor.java | 35 +++++++++++++++---- .../MockHttpServletRequestBuilder.java | 4 +-- .../springframework/http/ResponseCookie.java | 8 ++--- .../reactive/JettyClientHttpRequest.java | 6 +--- 5 files changed, 37 insertions(+), 21 deletions(-) diff --git a/spring-messaging/src/main/java/org/springframework/messaging/simp/stomp/DefaultStompSession.java b/spring-messaging/src/main/java/org/springframework/messaging/simp/stomp/DefaultStompSession.java index 228abd915fb..5e8b5083409 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/simp/stomp/DefaultStompSession.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/simp/stomp/DefaultStompSession.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2019 the original author or authors. + * Copyright 2002-2020 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. @@ -272,8 +272,7 @@ public class DefaultStompSession implements ConnectionHandlingStompSession { } private boolean isEmpty(@Nullable Object payload) { - return payload == null || StringUtils.isEmpty(payload) || - (payload instanceof byte[] && ((byte[]) payload).length == 0); + return (StringUtils.isEmpty(payload) || (payload instanceof byte[] && ((byte[]) payload).length == 0)); } private void execute(Message message) { diff --git a/spring-messaging/src/main/java/org/springframework/messaging/support/NativeMessageHeaderAccessor.java b/spring-messaging/src/main/java/org/springframework/messaging/support/NativeMessageHeaderAccessor.java index 5fbb9ead26d..fbd70f3598d 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/support/NativeMessageHeaderAccessor.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/support/NativeMessageHeaderAccessor.java @@ -82,7 +82,7 @@ public class NativeMessageHeaderAccessor extends MessageHeaderAccessor { /** - * Sub-classes can use this method to access the "native" headers sub-map. + * Subclasses can use this method to access the "native" headers sub-map. */ @SuppressWarnings("unchecked") @Nullable @@ -139,6 +139,7 @@ public class NativeMessageHeaderAccessor extends MessageHeaderAccessor { /** * Whether the native header map contains the give header name. + * @param headerName the name of the header */ public boolean containsNativeHeader(String headerName) { Map> map = getNativeHeaders(); @@ -146,7 +147,9 @@ public class NativeMessageHeaderAccessor extends MessageHeaderAccessor { } /** - * Return the values for the specified native header, if present. + * Return all values for the specified native header, if present. + * @param headerName the name of the header + * @return the associated values, or {@code null} if none */ @Nullable public List getNativeHeader(String headerName) { @@ -156,13 +159,15 @@ public class NativeMessageHeaderAccessor extends MessageHeaderAccessor { /** * Return the first value for the specified native header, if present. + * @param headerName the name of the header + * @return the associated value, or {@code null} if none */ @Nullable public String getFirstNativeHeader(String headerName) { Map> map = getNativeHeaders(); if (map != null) { List values = map.get(headerName); - if (values != null) { + if (!CollectionUtils.isEmpty(values)) { return values.get(0); } } @@ -200,6 +205,8 @@ public class NativeMessageHeaderAccessor extends MessageHeaderAccessor { * Add the specified native header value to existing values. *

In order for this to work, the accessor must be {@link #isMutable() * mutable}. See {@link MessageHeaderAccessor} for details. + * @param name the name of the header + * @param value the header value to set */ public void addNativeHeader(String name, @Nullable String value) { Assert.state(isMutable(), "Already immutable"); @@ -216,6 +223,10 @@ public class NativeMessageHeaderAccessor extends MessageHeaderAccessor { setModified(true); } + /** + * Add the specified native headers to existing values. + * @param headers the headers to set + */ public void addNativeHeaders(@Nullable MultiValueMap headers) { if (headers == null) { return; @@ -227,24 +238,34 @@ public class NativeMessageHeaderAccessor extends MessageHeaderAccessor { * Remove the specified native header value replacing existing values. *

In order for this to work, the accessor must be {@link #isMutable() * mutable}. See {@link MessageHeaderAccessor} for details. + * @param headerName the name of the header + * @return the associated values, or {@code null} if the header was not present */ @Nullable - public List removeNativeHeader(String name) { + public List removeNativeHeader(String headerName) { Assert.state(isMutable(), "Already immutable"); Map> nativeHeaders = getNativeHeaders(); - if (nativeHeaders == null) { + if (CollectionUtils.isEmpty(nativeHeaders)) { return null; } - return nativeHeaders.remove(name); + return nativeHeaders.remove(headerName); } + + /** + * Return the first value for the specified native header, + * or {@code null} if none. + * @param headerName the name of the header + * @param headers the headers map to introspect + * @return the associated value, or {@code null} if none + */ @SuppressWarnings("unchecked") @Nullable public static String getFirstNativeHeader(String headerName, Map headers) { Map> map = (Map>) headers.get(NATIVE_HEADERS); if (map != null) { List values = map.get(headerName); - if (values != null) { + if (!CollectionUtils.isEmpty(values)) { return values.get(0); } } diff --git a/spring-test/src/main/java/org/springframework/test/web/servlet/request/MockHttpServletRequestBuilder.java b/spring-test/src/main/java/org/springframework/test/web/servlet/request/MockHttpServletRequestBuilder.java index 8b844e5b1d3..7a73e731f5e 100644 --- a/spring-test/src/main/java/org/springframework/test/web/servlet/request/MockHttpServletRequestBuilder.java +++ b/spring-test/src/main/java/org/springframework/test/web/servlet/request/MockHttpServletRequestBuilder.java @@ -700,8 +700,8 @@ public class MockHttpServletRequestBuilder String query = this.url.getRawQuery(); if (!this.queryParams.isEmpty()) { - String s = UriComponentsBuilder.newInstance().queryParams(this.queryParams).build().encode().getQuery(); - query = StringUtils.isEmpty(query) ? s : query + "&" + s; + String str = UriComponentsBuilder.newInstance().queryParams(this.queryParams).build().encode().getQuery(); + query = StringUtils.hasLength(query) ? (query + "&" + str) : str; } if (query != null) { request.setQueryString(query); diff --git a/spring-web/src/main/java/org/springframework/http/ResponseCookie.java b/spring-web/src/main/java/org/springframework/http/ResponseCookie.java index 0e1e81d93e2..05ea8d372fc 100644 --- a/spring-web/src/main/java/org/springframework/http/ResponseCookie.java +++ b/spring-web/src/main/java/org/springframework/http/ResponseCookie.java @@ -245,10 +245,10 @@ public final class ResponseCookie extends HttpCookie { @Nullable private String initDomain(String domain) { - if (lenient && !StringUtils.isEmpty(domain)) { - String s = domain.trim(); - if (s.startsWith("\"") && s.endsWith("\"")) { - if (s.substring(1, s.length() - 1).trim().isEmpty()) { + if (lenient && StringUtils.hasLength(domain)) { + String str = domain.trim(); + if (str.startsWith("\"") && str.endsWith("\"")) { + if (str.substring(1, str.length() - 1).trim().isEmpty()) { return null; } } diff --git a/spring-web/src/main/java/org/springframework/http/client/reactive/JettyClientHttpRequest.java b/spring-web/src/main/java/org/springframework/http/client/reactive/JettyClientHttpRequest.java index 89a23b165b8..cf1b3ee3ee1 100644 --- a/spring-web/src/main/java/org/springframework/http/client/reactive/JettyClientHttpRequest.java +++ b/spring-web/src/main/java/org/springframework/http/client/reactive/JettyClientHttpRequest.java @@ -38,7 +38,6 @@ import org.springframework.core.io.buffer.PooledDataBuffer; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; import org.springframework.http.MediaType; -import org.springframework.util.Assert; /** * {@link ClientHttpRequest} implementation for the Jetty ReactiveStreams HTTP client. @@ -62,9 +61,7 @@ class JettyClientHttpRequest extends AbstractClientHttpRequest { @Override public HttpMethod getMethod() { - HttpMethod method = HttpMethod.resolve(this.jettyRequest.getMethod()); - Assert.state(method != null, "Method must not be null"); - return method; + return HttpMethod.valueOf(this.jettyRequest.getMethod()); } @Override @@ -117,7 +114,6 @@ class JettyClientHttpRequest extends AbstractClientHttpRequest { public void succeeded() { DataBufferUtils.release(buffer); } - @Override public void failed(Throwable x) { DataBufferUtils.release(buffer);