Browse Source

Polishing

pull/33048/head
Juergen Hoeller 2 years ago
parent
commit
ee3e1591de
  1. 16
      spring-aop/src/main/java/org/springframework/aop/aspectj/annotation/AspectMetadata.java
  2. 6
      spring-core/src/main/java/org/springframework/util/MultiValueMapAdapter.java
  3. 11
      spring-core/src/main/java/org/springframework/util/StringUtils.java
  4. 4
      spring-jdbc/src/main/java/org/springframework/jdbc/support/rowset/ResultSetWrappingSqlRowSet.java
  5. 7
      spring-jms/src/main/java/org/springframework/jms/core/JmsMessagingTemplate.java
  6. 14
      spring-jms/src/main/java/org/springframework/jms/core/JmsOperations.java
  7. 5
      spring-messaging/src/main/java/org/springframework/messaging/core/AbstractMessageSendingTemplate.java
  8. 3
      spring-web/src/main/java/org/springframework/http/ResponseEntity.java
  9. 5
      spring-web/src/main/java/org/springframework/http/client/reactive/HttpComponentsClientHttpRequest.java
  10. 4
      spring-webmvc/src/main/java/org/springframework/web/servlet/support/AbstractFlashMapManager.java

16
spring-aop/src/main/java/org/springframework/aop/aspectj/annotation/AspectMetadata.java

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2022 the original author or authors. * Copyright 2002-2024 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -124,10 +124,16 @@ public class AspectMetadata implements Serializable {
* Extract contents from String of form {@code pertarget(contents)}. * Extract contents from String of form {@code pertarget(contents)}.
*/ */
private String findPerClause(Class<?> aspectClass) { private String findPerClause(Class<?> aspectClass) {
String str = aspectClass.getAnnotation(Aspect.class).value(); Aspect ann = aspectClass.getAnnotation(Aspect.class);
int beginIndex = str.indexOf('(') + 1; if (ann == null) {
int endIndex = str.length() - 1; return "";
return str.substring(beginIndex, endIndex); }
String value = ann.value();
int beginIndex = value.indexOf('(');
if (beginIndex < 0) {
return "";
}
return value.substring(beginIndex + 1, value.length() - 1);
} }

6
spring-core/src/main/java/org/springframework/util/MultiValueMapAdapter.java

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2023 the original author or authors. * Copyright 2002-2024 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -59,7 +59,7 @@ public class MultiValueMapAdapter<K, V> implements MultiValueMap<K, V>, Serializ
@Nullable @Nullable
public V getFirst(K key) { public V getFirst(K key) {
List<V> values = this.targetMap.get(key); List<V> values = this.targetMap.get(key);
return (values != null && !values.isEmpty() ? values.get(0) : null); return (!CollectionUtils.isEmpty(values) ? values.get(0) : null);
} }
@Override @Override
@ -95,7 +95,7 @@ public class MultiValueMapAdapter<K, V> implements MultiValueMap<K, V>, Serializ
public Map<K, V> toSingleValueMap() { public Map<K, V> toSingleValueMap() {
Map<K, V> singleValueMap = CollectionUtils.newLinkedHashMap(this.targetMap.size()); Map<K, V> singleValueMap = CollectionUtils.newLinkedHashMap(this.targetMap.size());
this.targetMap.forEach((key, values) -> { this.targetMap.forEach((key, values) -> {
if (values != null && !values.isEmpty()) { if (!CollectionUtils.isEmpty(values)) {
singleValueMap.put(key, values.get(0)); singleValueMap.put(key, values.get(0));
} }
}); });

11
spring-core/src/main/java/org/springframework/util/StringUtils.java

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2023 the original author or authors. * Copyright 2002-2024 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -123,7 +123,7 @@ public abstract class StringUtils {
* @see #hasText(CharSequence) * @see #hasText(CharSequence)
*/ */
public static boolean hasLength(@Nullable CharSequence str) { public static boolean hasLength(@Nullable CharSequence str) {
return (str != null && str.length() > 0); return (str != null && !str.isEmpty()); // as of JDK 15
} }
/** /**
@ -791,6 +791,7 @@ public abstract class StringUtils {
* and {@code "0"} through {@code "9"} stay the same.</li> * and {@code "0"} through {@code "9"} stay the same.</li>
* <li>Special characters {@code "-"}, {@code "_"}, {@code "."}, and {@code "*"} stay the same.</li> * <li>Special characters {@code "-"}, {@code "_"}, {@code "."}, and {@code "*"} stay the same.</li>
* <li>A sequence "{@code %<i>xy</i>}" is interpreted as a hexadecimal representation of the character.</li> * <li>A sequence "{@code %<i>xy</i>}" is interpreted as a hexadecimal representation of the character.</li>
* <li>For all other characters (including those already decoded), the output is undefined.</li>
* </ul> * </ul>
* @param source the encoded String * @param source the encoded String
* @param charset the character set * @param charset the character set
@ -839,7 +840,7 @@ public abstract class StringUtils {
* the {@link Locale#toString} format as well as BCP 47 language tags as * the {@link Locale#toString} format as well as BCP 47 language tags as
* specified by {@link Locale#forLanguageTag}. * specified by {@link Locale#forLanguageTag}.
* @param localeValue the locale value: following either {@code Locale's} * @param localeValue the locale value: following either {@code Locale's}
* {@code toString()} format ("en", "en_UK", etc), also accepting spaces as * {@code toString()} format ("en", "en_UK", etc.), also accepting spaces as
* separators (as an alternative to underscores), or BCP 47 (e.g. "en-UK") * separators (as an alternative to underscores), or BCP 47 (e.g. "en-UK")
* @return a corresponding {@code Locale} instance, or {@code null} if none * @return a corresponding {@code Locale} instance, or {@code null} if none
* @throws IllegalArgumentException in case of an invalid locale specification * @throws IllegalArgumentException in case of an invalid locale specification
@ -868,7 +869,7 @@ public abstract class StringUtils {
* <p><b>Note: This delegate does not accept the BCP 47 language tag format. * <p><b>Note: This delegate does not accept the BCP 47 language tag format.
* Please use {@link #parseLocale} for lenient parsing of both formats.</b> * Please use {@link #parseLocale} for lenient parsing of both formats.</b>
* @param localeString the locale {@code String}: following {@code Locale's} * @param localeString the locale {@code String}: following {@code Locale's}
* {@code toString()} format ("en", "en_UK", etc), also accepting spaces as * {@code toString()} format ("en", "en_UK", etc.), also accepting spaces as
* separators (as an alternative to underscores) * separators (as an alternative to underscores)
* @return a corresponding {@code Locale} instance, or {@code null} if none * @return a corresponding {@code Locale} instance, or {@code null} if none
* @throws IllegalArgumentException in case of an invalid locale specification * @throws IllegalArgumentException in case of an invalid locale specification
@ -876,7 +877,7 @@ public abstract class StringUtils {
@SuppressWarnings("deprecation") // for Locale constructors on JDK 19 @SuppressWarnings("deprecation") // for Locale constructors on JDK 19
@Nullable @Nullable
public static Locale parseLocaleString(String localeString) { public static Locale parseLocaleString(String localeString) {
if (localeString.equals("")) { if (localeString.isEmpty()) {
return null; return null;
} }

4
spring-jdbc/src/main/java/org/springframework/jdbc/support/rowset/ResultSetWrappingSqlRowSet.java

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2023 the original author or authors. * Copyright 2002-2024 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -32,7 +32,7 @@ import org.springframework.lang.Nullable;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
/** /**
* The default implementation of Spring's {@link SqlRowSet} interface, wrapping a * The common implementation of Spring's {@link SqlRowSet} interface, wrapping a
* {@link java.sql.ResultSet}, catching any {@link SQLException SQLExceptions} and * {@link java.sql.ResultSet}, catching any {@link SQLException SQLExceptions} and
* translating them to a corresponding Spring {@link InvalidResultSetAccessException}. * translating them to a corresponding Spring {@link InvalidResultSetAccessException}.
* *

7
spring-jms/src/main/java/org/springframework/jms/core/JmsMessagingTemplate.java

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2022 the original author or authors. * Copyright 2002-2024 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -189,11 +189,6 @@ public class JmsMessagingTemplate extends AbstractMessagingTemplate<Destination>
} }
} }
@Override
public void convertAndSend(Object payload) throws MessagingException {
convertAndSend(payload, null);
}
@Override @Override
public void convertAndSend(Object payload, @Nullable MessagePostProcessor postProcessor) throws MessagingException { public void convertAndSend(Object payload, @Nullable MessagePostProcessor postProcessor) throws MessagingException {
Destination defaultDestination = getDefaultDestination(); Destination defaultDestination = getDefaultDestination();

14
spring-jms/src/main/java/org/springframework/jms/core/JmsOperations.java

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2017 the original author or authors. * Copyright 2002-2024 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -290,7 +290,7 @@ public interface JmsOperations {
* <p>This method should be used carefully, since it will block the thread * <p>This method should be used carefully, since it will block the thread
* until the message becomes available or until the timeout value is exceeded. * until the message becomes available or until the timeout value is exceeded.
* <p>This will only work with a default destination specified! * <p>This will only work with a default destination specified!
* @return the message produced for the consumer or {@code null} if the timeout expires. * @return the message produced for the consumer, or {@code null} if the timeout expires
* @throws JmsException checked JMSException converted to unchecked * @throws JmsException checked JMSException converted to unchecked
*/ */
@Nullable @Nullable
@ -303,7 +303,7 @@ public interface JmsOperations {
* <p>This method should be used carefully, since it will block the thread * <p>This method should be used carefully, since it will block the thread
* until the message becomes available or until the timeout value is exceeded. * until the message becomes available or until the timeout value is exceeded.
* @param destination the destination to receive a message from * @param destination the destination to receive a message from
* @return the message produced for the consumer or {@code null} if the timeout expires. * @return the message produced for the consumer, or {@code null} if the timeout expires
* @throws JmsException checked JMSException converted to unchecked * @throws JmsException checked JMSException converted to unchecked
*/ */
@Nullable @Nullable
@ -317,7 +317,7 @@ public interface JmsOperations {
* until the message becomes available or until the timeout value is exceeded. * until the message becomes available or until the timeout value is exceeded.
* @param destinationName the name of the destination to send this message to * @param destinationName the name of the destination to send this message to
* (to be resolved to an actual destination by a DestinationResolver) * (to be resolved to an actual destination by a DestinationResolver)
* @return the message produced for the consumer or {@code null} if the timeout expires. * @return the message produced for the consumer, or {@code null} if the timeout expires
* @throws JmsException checked JMSException converted to unchecked * @throws JmsException checked JMSException converted to unchecked
*/ */
@Nullable @Nullable
@ -332,7 +332,7 @@ public interface JmsOperations {
* <p>This will only work with a default destination specified! * <p>This will only work with a default destination specified!
* @param messageSelector the JMS message selector expression (or {@code null} if none). * @param messageSelector the JMS message selector expression (or {@code null} if none).
* See the JMS specification for a detailed definition of selector expressions. * See the JMS specification for a detailed definition of selector expressions.
* @return the message produced for the consumer or {@code null} if the timeout expires. * @return the message produced for the consumer, or {@code null} if the timeout expires
* @throws JmsException checked JMSException converted to unchecked * @throws JmsException checked JMSException converted to unchecked
*/ */
@Nullable @Nullable
@ -347,7 +347,7 @@ public interface JmsOperations {
* @param destination the destination to receive a message from * @param destination the destination to receive a message from
* @param messageSelector the JMS message selector expression (or {@code null} if none). * @param messageSelector the JMS message selector expression (or {@code null} if none).
* See the JMS specification for a detailed definition of selector expressions. * See the JMS specification for a detailed definition of selector expressions.
* @return the message produced for the consumer or {@code null} if the timeout expires. * @return the message produced for the consumer, or {@code null} if the timeout expires
* @throws JmsException checked JMSException converted to unchecked * @throws JmsException checked JMSException converted to unchecked
*/ */
@Nullable @Nullable
@ -363,7 +363,7 @@ public interface JmsOperations {
* (to be resolved to an actual destination by a DestinationResolver) * (to be resolved to an actual destination by a DestinationResolver)
* @param messageSelector the JMS message selector expression (or {@code null} if none). * @param messageSelector the JMS message selector expression (or {@code null} if none).
* See the JMS specification for a detailed definition of selector expressions. * See the JMS specification for a detailed definition of selector expressions.
* @return the message produced for the consumer or {@code null} if the timeout expires. * @return the message produced for the consumer, or {@code null} if the timeout expires
* @throws JmsException checked JMSException converted to unchecked * @throws JmsException checked JMSException converted to unchecked
*/ */
@Nullable @Nullable

5
spring-messaging/src/main/java/org/springframework/messaging/core/AbstractMessageSendingTemplate.java

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2023 the original author or authors. * Copyright 2002-2024 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -168,8 +168,7 @@ public abstract class AbstractMessageSendingTemplate<D> implements MessageSendin
Map<String, Object> headersToUse = processHeadersToSend(headers); Map<String, Object> headersToUse = processHeadersToSend(headers);
if (headersToUse != null) { if (headersToUse != null) {
messageHeaders = (headersToUse instanceof MessageHeaders _messageHeaders ? messageHeaders = (headersToUse instanceof MessageHeaders mh ? mh : new MessageHeaders(headersToUse));
_messageHeaders : new MessageHeaders(headersToUse));
} }
MessageConverter converter = getMessageConverter(); MessageConverter converter = getMessageConverter();

3
spring-web/src/main/java/org/springframework/http/ResponseEntity.java

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2023 the original author or authors. * Copyright 2002-2024 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -277,7 +277,6 @@ public class ResponseEntity<T> extends HttpEntity<T> {
*/ */
public static HeadersBuilder<?> of(ProblemDetail body) { public static HeadersBuilder<?> of(ProblemDetail body) {
return new DefaultBuilder(body.getStatus()) { return new DefaultBuilder(body.getStatus()) {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Override @Override
public <T> ResponseEntity<T> build() { public <T> ResponseEntity<T> build() {

5
spring-web/src/main/java/org/springframework/http/client/reactive/HttpComponentsClientHttpRequest.java

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2023 the original author or authors. * Copyright 2002-2024 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -124,7 +124,6 @@ class HttpComponentsClientHttpRequest extends AbstractClientHttpRequest {
@Override @Override
protected void applyHeaders() { protected void applyHeaders() {
HttpHeaders headers = getHeaders(); HttpHeaders headers = getHeaders();
headers.entrySet() headers.entrySet()
.stream() .stream()
.filter(entry -> !HttpHeaders.CONTENT_LENGTH.equals(entry.getKey())) .filter(entry -> !HttpHeaders.CONTENT_LENGTH.equals(entry.getKey()))
@ -133,7 +132,6 @@ class HttpComponentsClientHttpRequest extends AbstractClientHttpRequest {
if (!this.httpRequest.containsHeader(HttpHeaders.ACCEPT)) { if (!this.httpRequest.containsHeader(HttpHeaders.ACCEPT)) {
this.httpRequest.addHeader(HttpHeaders.ACCEPT, MediaType.ALL_VALUE); this.httpRequest.addHeader(HttpHeaders.ACCEPT, MediaType.ALL_VALUE);
} }
this.contentLength = headers.getContentLength(); this.contentLength = headers.getContentLength();
} }
@ -144,7 +142,6 @@ class HttpComponentsClientHttpRequest extends AbstractClientHttpRequest {
} }
CookieStore cookieStore = this.context.getCookieStore(); CookieStore cookieStore = this.context.getCookieStore();
getCookies().values() getCookies().values()
.stream() .stream()
.flatMap(Collection::stream) .flatMap(Collection::stream)

4
spring-webmvc/src/main/java/org/springframework/web/servlet/support/AbstractFlashMapManager.java

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2020 the original author or authors. * Copyright 2002-2024 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -220,7 +220,7 @@ public abstract class AbstractFlashMapManager implements FlashMapManager {
@Nullable @Nullable
private String decodeAndNormalizePath(@Nullable String path, HttpServletRequest request) { private String decodeAndNormalizePath(@Nullable String path, HttpServletRequest request) {
if (path != null && !path.isEmpty()) { if (StringUtils.hasLength(path)) {
path = getUrlPathHelper().decodeRequestString(request, path); path = getUrlPathHelper().decodeRequestString(request, path);
if (path.charAt(0) != '/') { if (path.charAt(0) != '/') {
String requestUri = getUrlPathHelper().getRequestUri(request); String requestUri = getUrlPathHelper().getRequestUri(request);

Loading…
Cancel
Save