diff --git a/spring-context-support/src/main/java/org/springframework/cache/jcache/interceptor/DefaultJCacheOperationSource.java b/spring-context-support/src/main/java/org/springframework/cache/jcache/interceptor/DefaultJCacheOperationSource.java index f3571208a41..e5d0e758f2d 100644 --- a/spring-context-support/src/main/java/org/springframework/cache/jcache/interceptor/DefaultJCacheOperationSource.java +++ b/spring-context-support/src/main/java/org/springframework/cache/jcache/interceptor/DefaultJCacheOperationSource.java @@ -172,7 +172,7 @@ public class DefaultJCacheOperationSource extends AnnotationJCacheOperationSourc @Override protected T getBean(Class type) { - Assert.state(this.beanFactory != null, "BeanFactory required for resolution of [" + type + "]"); + Assert.state(this.beanFactory != null, () -> "BeanFactory required for resolution of [" + type + "]"); try { return this.beanFactory.getBean(type); } diff --git a/spring-context/src/main/java/org/springframework/cache/support/NoOpCacheManager.java b/spring-context/src/main/java/org/springframework/cache/support/NoOpCacheManager.java index d6ba68b99f6..bc44d111e71 100644 --- a/spring-context/src/main/java/org/springframework/cache/support/NoOpCacheManager.java +++ b/spring-context/src/main/java/org/springframework/cache/support/NoOpCacheManager.java @@ -55,7 +55,7 @@ public class NoOpCacheManager implements CacheManager { public Cache getCache(String name) { Cache cache = this.caches.get(name); if (cache == null) { - this.caches.putIfAbsent(name, new NoOpCache(name)); + this.caches.computeIfAbsent(name, key -> new NoOpCache(name)); synchronized (this.cacheNames) { this.cacheNames.add(name); } diff --git a/spring-test/src/main/java/org/springframework/test/web/servlet/DefaultMvcResult.java b/spring-test/src/main/java/org/springframework/test/web/servlet/DefaultMvcResult.java index d11cebc6d9e..74a882a62c3 100644 --- a/spring-test/src/main/java/org/springframework/test/web/servlet/DefaultMvcResult.java +++ b/spring-test/src/main/java/org/springframework/test/web/servlet/DefaultMvcResult.java @@ -147,7 +147,7 @@ class DefaultMvcResult implements MvcResult { " was not set during the specified timeToWait=" + timeToWait); } Object result = this.asyncResult.get(); - Assert.state(result != RESULT_NONE, "Async result for handler [" + this.handler + "] was not set"); + Assert.state(result != RESULT_NONE, () -> "Async result for handler [" + this.handler + "] was not set"); return this.asyncResult.get(); } diff --git a/spring-web/src/main/java/org/springframework/web/server/ServerWebExchange.java b/spring-web/src/main/java/org/springframework/web/server/ServerWebExchange.java index 78031b4c9df..c40ae6355f9 100644 --- a/spring-web/src/main/java/org/springframework/web/server/ServerWebExchange.java +++ b/spring-web/src/main/java/org/springframework/web/server/ServerWebExchange.java @@ -90,7 +90,7 @@ public interface ServerWebExchange { @SuppressWarnings("unchecked") default T getRequiredAttribute(String name) { T value = getAttribute(name); - Assert.notNull(value, "Required attribute '" + name + "' is missing."); + Assert.notNull(value, () -> "Required attribute '" + name + "' is missing."); return value; } diff --git a/spring-web/src/main/java/org/springframework/web/server/WebSession.java b/spring-web/src/main/java/org/springframework/web/server/WebSession.java index f4f7021c27f..c1231ba6bf8 100644 --- a/spring-web/src/main/java/org/springframework/web/server/WebSession.java +++ b/spring-web/src/main/java/org/springframework/web/server/WebSession.java @@ -71,7 +71,7 @@ public interface WebSession { @SuppressWarnings("unchecked") default T getRequiredAttribute(String name) { T value = getAttribute(name); - Assert.notNull(value, "Required attribute '" + name + "' is missing."); + Assert.notNull(value, () -> "Required attribute '" + name + "' is missing."); return value; } diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/ExchangeFilterFunctions.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/ExchangeFilterFunctions.java index 4e580e7843f..3b7b1cd9482 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/ExchangeFilterFunctions.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/ExchangeFilterFunctions.java @@ -94,7 +94,7 @@ public abstract class ExchangeFilterFunctions { return ExchangeFilterFunction.ofRequestProcessor(request -> credentialsFunction.apply(request) .map(credentials -> Mono.just(insertAuthorizationHeader(request, credentials))) - .orElse(Mono.just(request))); + .orElseGet(() -> Mono.just(request))); } private static void checkIllegalCharacters(String username, String password) { diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ModelInitializer.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ModelInitializer.java index 8ac64178062..1831482baff 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ModelInitializer.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ModelInitializer.java @@ -139,7 +139,7 @@ class ModelInitializer { .ofNullable(AnnotatedElementUtils.findMergedAnnotation(param.getAnnotatedElement(), ModelAttribute.class)) .filter(ann -> StringUtils.hasText(ann.value())) .map(ModelAttribute::value) - .orElse(Conventions.getVariableNameForParameter(param)); + .orElseGet(() -> Conventions.getVariableNameForParameter(param)); } /** Find {@code @ModelAttribute} arguments also listed as {@code @SessionAttributes}. */ diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/RedirectView.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/RedirectView.java index 5462b3a3719..66c67b170eb 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/RedirectView.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/RedirectView.java @@ -244,7 +244,7 @@ public class RedirectView extends AbstractUrlBasedView { while (found) { String name = matcher.group(1); Object value = (model.containsKey(name) ? model.get(name) : uriVariables.get(name)); - Assert.notNull(value, "No value for URI variable '" + name + "'"); + Assert.notNull(value, () -> "No value for URI variable '" + name + "'"); result.append(targetUrl.substring(endLastMatch, matcher.start())); result.append(encodeUriVariable(value.toString())); endLastMatch = matcher.end(); diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/ViewResolutionResultHandler.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/ViewResolutionResultHandler.java index 04a05f038b9..6e1222da6d5 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/ViewResolutionResultHandler.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/ViewResolutionResultHandler.java @@ -286,7 +286,7 @@ public class ViewResolutionResultHandler extends HandlerResultHandlerSupport return Optional.ofNullable(returnType.getMethodAnnotation(ModelAttribute.class)) .filter(ann -> StringUtils.hasText(ann.value())) .map(ModelAttribute::value) - .orElse(Conventions.getVariableNameForParameter(returnType)); + .orElseGet(() -> Conventions.getVariableNameForParameter(returnType)); } private void updateBindingContext(BindingContext context, ServerWebExchange exchange) { diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ReactiveTypeHandler.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ReactiveTypeHandler.java index dfb4677194d..9b547012337 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ReactiveTypeHandler.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ReactiveTypeHandler.java @@ -120,7 +120,7 @@ class ReactiveTypeHandler { Assert.notNull(returnValue, "Expected return value"); ReactiveAdapter adapter = this.reactiveRegistry.getAdapter(returnValue.getClass()); - Assert.state(adapter != null, "Unexpected return value: " + returnValue); + Assert.state(adapter != null, () -> "Unexpected return value: " + returnValue); ResolvableType elementType = ResolvableType.forMethodParameter(returnType).getGeneric(); Class elementClass = elementType.toClass(); diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/config/MessageBrokerBeanDefinitionParser.java b/spring-websocket/src/main/java/org/springframework/web/socket/config/MessageBrokerBeanDefinitionParser.java index 1261e027ced..228375e04ba 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/config/MessageBrokerBeanDefinitionParser.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/config/MessageBrokerBeanDefinitionParser.java @@ -159,7 +159,7 @@ class MessageBrokerBeanDefinitionParser implements BeanDefinitionParser { List paths = Arrays.asList(StringUtils.tokenizeToStringArray(pathAttribute, ",")); for (String path : paths) { path = path.trim(); - Assert.state(StringUtils.hasText(path), "Invalid path attribute: " + pathAttribute); + Assert.state(StringUtils.hasText(path), () -> "Invalid path attribute: " + pathAttribute); if (DomUtils.getChildElementByTagName(endpointElem, "sockjs") != null) { path = path.endsWith("/") ? path + "**" : path + "/**"; }