From 208d52d852d6455828c128b034608cec19e69259 Mon Sep 17 00:00:00 2001 From: Sam Brannen <104798+sbrannen@users.noreply.github.com> Date: Wed, 19 Mar 2025 15:35:35 +0100 Subject: [PATCH] Introduce Checkstyle rule for separator symbol location --- .../aop/config/AspectEntry.java | 6 +- .../aop/support/ClassFilters.java | 6 +- .../aop/support/MethodMatchers.java | 6 +- .../beans/factory/aot/AotServices.java | 8 +- .../BeanDefinitionMethodGeneratorFactory.java | 4 +- .../aot/InstanceSupplierCodeGenerator.java | 6 +- .../xml/AbstractBeanDefinitionParser.java | 4 +- .../annotation/ParameterResolutionTests.java | 4 +- .../aot/BeanInstanceSupplierTests.java | 8 +- ...ultBeanRegistrationCodeFragmentsTests.java | 4 +- .../index/processor/MetadataCollector.java | 4 +- .../context/index/processor/Metadata.java | 4 +- .../AbstractJCacheKeyOperation.java | 4 +- .../interceptor/JCacheKeyGeneratorTests.java | 7 +- .../cache/interceptor/CacheAspectSupport.java | 4 +- .../NameMatchCacheOperationSource.java | 4 +- .../annotation/ConfigurationClassParser.java | 4 +- ...ionContextInitializationCodeGenerator.java | 10 +- .../StandardBeanExpressionResolver.java | 6 +- .../PostProcessorRegistrationDelegate.java | 4 +- .../standard/DurationFormatterUtils.java | 4 +- ...ultScheduledTaskObservationConvention.java | 4 +- .../AspectAndAdvicePrecedenceTests.java | 4 +- .../groovy/GroovyScriptFactoryTests.java | 36 ++-- .../aot/agent/InstrumentedBridgeMethods.java | 4 +- .../InvocationsRecorderClassVisitor.java | 4 +- .../agent/RuntimeHintsInvocationsAssert.java | 4 +- .../io/support/MockSpringFactoriesLoader.java | 4 +- .../core/test/tools/TestCompiler.java | 4 +- .../aot/generate/DefaultMethodReference.java | 4 +- .../aot/generate/GeneratedFiles.java | 6 +- .../generate/ValueCodeGeneratorDelegates.java | 4 +- .../hint/BindingReflectionHintsRegistrar.java | 4 +- .../core/annotation/TypeMappedAnnotation.java | 4 +- .../core/codec/ResourceRegionEncoder.java | 4 +- .../io/support/SpringFactoriesLoader.java | 4 +- .../springframework/util/AntPathMatcher.java | 4 +- .../util/ConcurrentLruCache.java | 4 +- .../aot/generate/GeneratedFilesTests.java | 8 +- .../aot/generate/ValueCodeGeneratorTests.java | 32 ++-- .../aot/hint/ReflectionHintsTests.java | 8 +- .../AnnotationTypeMappingsTests.java | 158 ++++++++---------- .../core/annotation/AnnotationUtilsTests.java | 4 +- .../MergedAnnotationClassLoaderTests.java | 4 +- .../MergedAnnotationsCollectionTests.java | 3 +- .../support/SpringFactoriesLoaderTests.java | 8 +- .../util/xml/AbstractStaxXMLReaderTests.java | 12 +- .../spel/SpelDocumentationTests.java | 4 +- .../jms/config/JmsNamespaceHandlerTests.java | 8 +- .../jms/core/JmsTemplateTests.java | 3 +- .../messaging/MessagingException.java | 4 +- .../MappingJackson2MessageConverter.java | 4 +- .../core/GenericMessagingTemplate.java | 4 +- .../messaging/handler/HandlerMethod.java | 4 +- .../messaging/simp/stomp/StompEncoder.java | 4 +- ...tractStompBrokerRelayIntegrationTests.java | 4 +- .../core/R2dbcBeanPropertyRowMapperTests.java | 4 +- ...AbstractExpressionEvaluatingCondition.java | 6 +- .../context/support/ContextLoaderUtils.java | 4 +- .../support/DelegatingSmartContextLoader.java | 14 +- .../support/TestPropertySourceAttributes.java | 8 +- .../web/WebDelegatingSmartContextLoader.java | 10 +- .../springframework/test/json/JsonAssert.java | 14 +- .../annotation/ProfileValueUtilsTests.java | 28 +++- ...reAndAfterMethodsSpringExtensionTests.java | 4 +- ...oreAndAfterTransactionAnnotationTests.java | 3 +- ...rceSpringJUnit4ClassRunnerAppCtxTests.java | 5 +- ...cesSpringJUnit4ClassRunnerAppCtxTests.java | 5 +- ...eResolverWithCustomDefaultsMetaConfig.java | 4 +- .../support/ActiveProfilesUtilsTests.java | 4 +- .../context/web/AbstractBasicWacTests.java | 3 +- .../web/JUnit4SpringContextWebTests.java | 3 +- .../web/MetaAnnotationConfigWacTests.java | 3 +- .../org/springframework/test/web/Person.java | 4 +- .../server/samples/XmlContentTests.java | 17 +- .../htmlunit/HtmlUnitRequestBuilderTests.java | 7 +- .../http/codec/multipart/MultipartParser.java | 13 +- .../http/codec/multipart/MultipartUtils.java | 4 +- .../multipart/PartEventHttpMessageReader.java | 4 +- .../http/codec/multipart/PartGenerator.java | 5 +- .../web/cors/CorsConfiguration.java | 4 +- .../web/cors/reactive/CorsUtils.java | 5 +- .../support/InvocableHandlerMethod.java | 12 +- .../ErrorHandlerIntegrationTests.java | 4 +- .../reactive/ZeroCopyIntegrationTests.java | 4 +- .../web/filter/RequestLoggingFilterTests.java | 34 ++-- .../RequestedContentTypeResolverBuilder.java | 3 +- .../result/method/InvocableHandlerMethod.java | 12 +- .../RequestMappingHandlerAdapter.java | 4 +- .../server/NestedRouteIntegrationTests.java | 4 +- .../annotation/HttpEntityMethodProcessor.java | 4 +- .../annotation/MvcUriComponentsBuilder.java | 4 +- .../web/context/ContextLoaderTests.java | 4 +- .../view/InternalResourceViewTests.java | 4 +- .../SockJsMessageDeliveryException.java | 4 +- src/checkstyle/checkstyle-suppressions.xml | 2 + src/checkstyle/checkstyle.xml | 8 + 97 files changed, 378 insertions(+), 403 deletions(-) diff --git a/spring-aop/src/main/java/org/springframework/aop/config/AspectEntry.java b/spring-aop/src/main/java/org/springframework/aop/config/AspectEntry.java index 93540fe11dd..e0823a525d4 100644 --- a/spring-aop/src/main/java/org/springframework/aop/config/AspectEntry.java +++ b/spring-aop/src/main/java/org/springframework/aop/config/AspectEntry.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2023 the original author or authors. + * Copyright 2002-2025 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. @@ -46,8 +46,8 @@ public class AspectEntry implements ParseState.Entry { @Override public String toString() { - return "Aspect: " + (StringUtils.hasLength(this.id) ? "id='" + this.id + "'" - : "ref='" + this.ref + "'"); + return "Aspect: " + (StringUtils.hasLength(this.id) ? "id='" + this.id + "'" : + "ref='" + this.ref + "'"); } } diff --git a/spring-aop/src/main/java/org/springframework/aop/support/ClassFilters.java b/spring-aop/src/main/java/org/springframework/aop/support/ClassFilters.java index 929196e66b7..f58dfa8cb8c 100644 --- a/spring-aop/src/main/java/org/springframework/aop/support/ClassFilters.java +++ b/spring-aop/src/main/java/org/springframework/aop/support/ClassFilters.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2023 the original author or authors. + * Copyright 2002-2025 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. @@ -198,8 +198,8 @@ public abstract class ClassFilters { @Override public boolean equals(Object other) { - return (this == other || (other instanceof NegateClassFilter that - && this.original.equals(that.original))); + return (this == other || (other instanceof NegateClassFilter that && + this.original.equals(that.original))); } @Override diff --git a/spring-aop/src/main/java/org/springframework/aop/support/MethodMatchers.java b/spring-aop/src/main/java/org/springframework/aop/support/MethodMatchers.java index f2d226adfb2..e333cf2aabe 100644 --- a/spring-aop/src/main/java/org/springframework/aop/support/MethodMatchers.java +++ b/spring-aop/src/main/java/org/springframework/aop/support/MethodMatchers.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2023 the original author or authors. + * Copyright 2002-2025 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. @@ -378,8 +378,8 @@ public abstract class MethodMatchers { @Override public boolean equals(Object other) { - return (this == other || (other instanceof NegateMethodMatcher that - && this.original.equals(that.original))); + return (this == other || (other instanceof NegateMethodMatcher that && + this.original.equals(that.original))); } @Override diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/aot/AotServices.java b/spring-beans/src/main/java/org/springframework/beans/factory/aot/AotServices.java index c26a9c1ac84..5145ee7ee25 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/aot/AotServices.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/aot/AotServices.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2025 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. @@ -212,9 +212,9 @@ public final class AotServices implements Iterable { } private Map loadBeans(Class type) { - return (this.beanFactory != null) ? BeanFactoryUtils - .beansOfTypeIncludingAncestors(this.beanFactory, type, true, false) - : Collections.emptyMap(); + return (this.beanFactory != null ? + BeanFactoryUtils.beansOfTypeIncludingAncestors(this.beanFactory, type, true, false) : + Collections.emptyMap()); } } diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanDefinitionMethodGeneratorFactory.java b/spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanDefinitionMethodGeneratorFactory.java index 6938f0c9ef2..1e981315378 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanDefinitionMethodGeneratorFactory.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanDefinitionMethodGeneratorFactory.java @@ -69,8 +69,8 @@ class BeanDefinitionMethodGeneratorFactory { this.excludeFilters = loader.load(BeanRegistrationExcludeFilter.class); for (BeanRegistrationExcludeFilter excludeFilter : this.excludeFilters) { if (this.excludeFilters.getSource(excludeFilter) == Source.BEAN_FACTORY) { - Assert.state(excludeFilter instanceof BeanRegistrationAotProcessor - || excludeFilter instanceof BeanFactoryInitializationAotProcessor, + Assert.state(excludeFilter instanceof BeanRegistrationAotProcessor || + excludeFilter instanceof BeanFactoryInitializationAotProcessor, () -> "BeanRegistrationExcludeFilter bean of type %s must also implement an AOT processor interface" .formatted(excludeFilter.getClass().getName())); } diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/aot/InstanceSupplierCodeGenerator.java b/spring-beans/src/main/java/org/springframework/beans/factory/aot/InstanceSupplierCodeGenerator.java index 3e03043075c..aa5abb243d9 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/aot/InstanceSupplierCodeGenerator.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/aot/InstanceSupplierCodeGenerator.java @@ -234,8 +234,7 @@ public class InstanceSupplierCodeGenerator { CodeBlock arguments = hasArguments ? new AutowiredArgumentsCodeGenerator(actualType, constructor) - .generateCode(constructor.getParameterTypes(), (onInnerClass ? 1 : 0)) - : NO_ARGS; + .generateCode(constructor.getParameterTypes(), (onInnerClass ? 1 : 0)) : NO_ARGS; CodeBlock newInstance = generateNewInstanceCodeForConstructor(actualType, arguments); code.add(generateWithGeneratorCode(hasArguments, newInstance)); @@ -325,8 +324,7 @@ public class InstanceSupplierCodeGenerator { boolean hasArguments = factoryMethod.getParameterCount() > 0; CodeBlock arguments = hasArguments ? new AutowiredArgumentsCodeGenerator(ClassUtils.getUserClass(targetClass), factoryMethod) - .generateCode(factoryMethod.getParameterTypes()) - : NO_ARGS; + .generateCode(factoryMethod.getParameterTypes()) : NO_ARGS; CodeBlock newInstance = generateNewInstanceCodeForMethod( factoryBeanName, ClassUtils.getUserClass(targetClass), factoryMethodName, arguments); diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/xml/AbstractBeanDefinitionParser.java b/spring-beans/src/main/java/org/springframework/beans/factory/xml/AbstractBeanDefinitionParser.java index 018c85123f9..14a3998f441 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/xml/AbstractBeanDefinitionParser.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/xml/AbstractBeanDefinitionParser.java @@ -66,8 +66,8 @@ public abstract class AbstractBeanDefinitionParser implements BeanDefinitionPars String id = resolveId(element, definition, parserContext); if (!StringUtils.hasText(id)) { parserContext.getReaderContext().error( - "Id is required for element '" + parserContext.getDelegate().getLocalName(element) - + "' when used as a top-level tag", element); + "Id is required for element '" + parserContext.getDelegate().getLocalName(element) + + "' when used as a top-level tag", element); } String[] aliases = null; if (shouldParseNameAsAliases()) { diff --git a/spring-beans/src/test/java/org/springframework/beans/factory/annotation/ParameterResolutionTests.java b/spring-beans/src/test/java/org/springframework/beans/factory/annotation/ParameterResolutionTests.java index e2afff6ee81..1ae68d0296a 100644 --- a/spring-beans/src/test/java/org/springframework/beans/factory/annotation/ParameterResolutionTests.java +++ b/spring-beans/src/test/java/org/springframework/beans/factory/annotation/ParameterResolutionTests.java @@ -71,8 +71,8 @@ class ParameterResolutionTests { } private void assertAutowirableParameters(Executable executable) { - int startIndex = (executable instanceof Constructor) - && ClassUtils.isInnerClass(executable.getDeclaringClass()) ? 1 : 0; + int startIndex = (executable instanceof Constructor) && + ClassUtils.isInnerClass(executable.getDeclaringClass()) ? 1 : 0; Parameter[] parameters = executable.getParameters(); for (int parameterIndex = startIndex; parameterIndex < parameters.length; parameterIndex++) { Parameter parameter = parameters[parameterIndex]; diff --git a/spring-beans/src/test/java/org/springframework/beans/factory/aot/BeanInstanceSupplierTests.java b/spring-beans/src/test/java/org/springframework/beans/factory/aot/BeanInstanceSupplierTests.java index 078bbee216c..3b33ea70b14 100644 --- a/spring-beans/src/test/java/org/springframework/beans/factory/aot/BeanInstanceSupplierTests.java +++ b/spring-beans/src/test/java/org/springframework/beans/factory/aot/BeanInstanceSupplierTests.java @@ -103,8 +103,8 @@ class BeanInstanceSupplierTests { RegisteredBean registerBean = source.registerBean(this.beanFactory); assertThatIllegalArgumentException() .isThrownBy(() -> resolver.get(registerBean)).withMessage( - "Constructor with parameter types [java.io.InputStream] cannot be found on " - + SingleArgConstructor.class.getName()); + "Constructor with parameter types [java.io.InputStream] cannot be found on " + + SingleArgConstructor.class.getName()); } @Test @@ -151,8 +151,8 @@ class BeanInstanceSupplierTests { RegisteredBean registerBean = source.registerBean(this.beanFactory); assertThatIllegalArgumentException() .isThrownBy(() -> resolver.get(registerBean)).withMessage( - "Factory method 'single' with parameter types [java.io.InputStream] declared on class " - + SingleArgFactory.class.getName() + " cannot be found"); + "Factory method 'single' with parameter types [java.io.InputStream] declared on class " + + SingleArgFactory.class.getName() + " cannot be found"); } @Test diff --git a/spring-beans/src/test/java/org/springframework/beans/factory/aot/DefaultBeanRegistrationCodeFragmentsTests.java b/spring-beans/src/test/java/org/springframework/beans/factory/aot/DefaultBeanRegistrationCodeFragmentsTests.java index 7379fc22262..e3b0dbf4b8a 100644 --- a/spring-beans/src/test/java/org/springframework/beans/factory/aot/DefaultBeanRegistrationCodeFragmentsTests.java +++ b/spring-beans/src/test/java/org/springframework/beans/factory/aot/DefaultBeanRegistrationCodeFragmentsTests.java @@ -86,8 +86,8 @@ class DefaultBeanRegistrationCodeFragmentsTests { BeanRegistrationCodeFragments codeFragments = createInstance(registeredBean); assertThatExceptionOfType(AotBeanProcessingException.class) .isThrownBy(() -> codeFragments.getTarget(registeredBean)) - .withMessageContaining("Error processing bean with name 'testBean' defined in my test resource: " - + "instance supplier is not supported"); + .withMessageContaining("Error processing bean with name 'testBean' defined in my test resource: " + + "instance supplier is not supported"); } @Test diff --git a/spring-context-indexer/src/main/java/org/springframework/context/index/processor/MetadataCollector.java b/spring-context-indexer/src/main/java/org/springframework/context/index/processor/MetadataCollector.java index c1442e32677..7cae029a373 100644 --- a/spring-context-indexer/src/main/java/org/springframework/context/index/processor/MetadataCollector.java +++ b/spring-context-indexer/src/main/java/org/springframework/context/index/processor/MetadataCollector.java @@ -93,8 +93,8 @@ class MetadataCollector { private boolean shouldBeMerged(ItemMetadata itemMetadata) { String sourceType = itemMetadata.getType(); - return (sourceType != null && !deletedInCurrentBuild(sourceType) - && !processedInCurrentBuild(sourceType)); + return (sourceType != null && !deletedInCurrentBuild(sourceType) && + !processedInCurrentBuild(sourceType)); } private boolean deletedInCurrentBuild(String sourceType) { diff --git a/spring-context-indexer/src/test/java/org/springframework/context/index/processor/Metadata.java b/spring-context-indexer/src/test/java/org/springframework/context/index/processor/Metadata.java index 74c39cfedb7..23ac0c64c5f 100644 --- a/spring-context-indexer/src/test/java/org/springframework/context/index/processor/Metadata.java +++ b/spring-context-indexer/src/test/java/org/springframework/context/index/processor/Metadata.java @@ -42,8 +42,8 @@ class Metadata { ItemMetadata itemMetadata = metadata.getItems().stream() .filter(item -> item.getType().equals(type)) .findFirst().orElse(null); - return itemMetadata != null && itemMetadata.getStereotypes().size() == stereotypes.size() - && itemMetadata.getStereotypes().containsAll(stereotypes); + return (itemMetadata != null && itemMetadata.getStereotypes().size() == stereotypes.size() && + itemMetadata.getStereotypes().containsAll(stereotypes)); }, "Candidates with type %s and stereotypes %s", type, stereotypes); } diff --git a/spring-context-support/src/main/java/org/springframework/cache/jcache/interceptor/AbstractJCacheKeyOperation.java b/spring-context-support/src/main/java/org/springframework/cache/jcache/interceptor/AbstractJCacheKeyOperation.java index e3ecd6fa3b2..1ecbdfb05cc 100644 --- a/spring-context-support/src/main/java/org/springframework/cache/jcache/interceptor/AbstractJCacheKeyOperation.java +++ b/spring-context-support/src/main/java/org/springframework/cache/jcache/interceptor/AbstractJCacheKeyOperation.java @@ -79,8 +79,8 @@ abstract class AbstractJCacheKeyOperation extends Abstract for (CacheParameterDetail keyParameterDetail : this.keyParameterDetails) { int parameterPosition = keyParameterDetail.getParameterPosition(); if (parameterPosition >= values.length) { - throw new IllegalStateException("Values mismatch, key parameter at position " - + parameterPosition + " cannot be matched against " + values.length + " value(s)"); + throw new IllegalStateException("Values mismatch, key parameter at position " + + parameterPosition + " cannot be matched against " + values.length + " value(s)"); } result.add(keyParameterDetail.toCacheInvocationParameter(values[parameterPosition])); } diff --git a/spring-context-support/src/test/java/org/springframework/cache/jcache/interceptor/JCacheKeyGeneratorTests.java b/spring-context-support/src/test/java/org/springframework/cache/jcache/interceptor/JCacheKeyGeneratorTests.java index 232a6b00762..39983d680a2 100644 --- a/spring-context-support/src/test/java/org/springframework/cache/jcache/interceptor/JCacheKeyGeneratorTests.java +++ b/spring-context-support/src/test/java/org/springframework/cache/jcache/interceptor/JCacheKeyGeneratorTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2024 the original author or authors. + * Copyright 2002-2025 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. @@ -17,7 +17,6 @@ package org.springframework.cache.jcache.interceptor; import java.lang.reflect.Method; -import java.util.Arrays; import java.util.concurrent.atomic.AtomicLong; import javax.cache.annotation.CacheDefaults; @@ -150,9 +149,9 @@ class JCacheKeyGeneratorTests { @Override public Object generate(Object target, Method method, Object... params) { - assertThat(Arrays.equals(expectedParams, params)).as("Unexpected parameters: expected: " - + Arrays.toString(this.expectedParams) + " but got: " + Arrays.toString(params)).isTrue(); + assertThat(params).as("Unexpected parameters").isEqualTo(expectedParams); return new SimpleKey(params); } } + } diff --git a/spring-context/src/main/java/org/springframework/cache/interceptor/CacheAspectSupport.java b/spring-context/src/main/java/org/springframework/cache/interceptor/CacheAspectSupport.java index 8f97d45f70d..8bf8fc85d3b 100644 --- a/spring-context/src/main/java/org/springframework/cache/interceptor/CacheAspectSupport.java +++ b/spring-context/src/main/java/org/springframework/cache/interceptor/CacheAspectSupport.java @@ -288,8 +288,8 @@ public abstract class CacheAspectSupport extends AbstractCacheInvoker } } catch (NoSuchBeanDefinitionException ex) { - throw new NoSuchBeanDefinitionException(CacheManager.class, "no CacheResolver specified - " - + "register a CacheManager bean or remove the @EnableCaching annotation from your configuration."); + throw new NoSuchBeanDefinitionException(CacheManager.class, "no CacheResolver specified - " + + "register a CacheManager bean or remove the @EnableCaching annotation from your configuration."); } } this.initialized = true; diff --git a/spring-context/src/main/java/org/springframework/cache/interceptor/NameMatchCacheOperationSource.java b/spring-context/src/main/java/org/springframework/cache/interceptor/NameMatchCacheOperationSource.java index 67644f5e92a..af4fab0e8aa 100644 --- a/spring-context/src/main/java/org/springframework/cache/interceptor/NameMatchCacheOperationSource.java +++ b/spring-context/src/main/java/org/springframework/cache/interceptor/NameMatchCacheOperationSource.java @@ -85,8 +85,8 @@ public class NameMatchCacheOperationSource implements CacheOperationSource, Seri // Look for most specific name match. String bestNameMatch = null; for (String mappedName : this.nameMap.keySet()) { - if (isMatch(methodName, mappedName) - && (bestNameMatch == null || bestNameMatch.length() <= mappedName.length())) { + if (isMatch(methodName, mappedName) && + (bestNameMatch == null || bestNameMatch.length() <= mappedName.length())) { ops = this.nameMap.get(mappedName); bestNameMatch = mappedName; } diff --git a/spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClassParser.java b/spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClassParser.java index ba3f926fd74..92d831655c5 100644 --- a/spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClassParser.java +++ b/spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClassParser.java @@ -105,8 +105,8 @@ class ConfigurationClassParser { (className.startsWith("java.lang.annotation.") || className.startsWith("org.springframework.stereotype.")); private static final Predicate REGISTER_BEAN_CONDITION_FILTER = condition -> - (condition instanceof ConfigurationCondition configurationCondition - && ConfigurationPhase.REGISTER_BEAN.equals(configurationCondition.getConfigurationPhase())); + (condition instanceof ConfigurationCondition configurationCondition && + ConfigurationPhase.REGISTER_BEAN.equals(configurationCondition.getConfigurationPhase())); private static final Comparator DEFERRED_IMPORT_COMPARATOR = (o1, o2) -> AnnotationAwareOrderComparator.INSTANCE.compare(o1.getImportSelector(), o2.getImportSelector()); diff --git a/spring-context/src/main/java/org/springframework/context/aot/ApplicationContextInitializationCodeGenerator.java b/spring-context/src/main/java/org/springframework/context/aot/ApplicationContextInitializationCodeGenerator.java index 5305508b9da..693b4773cd8 100644 --- a/spring-context/src/main/java/org/springframework/context/aot/ApplicationContextInitializationCodeGenerator.java +++ b/spring-context/src/main/java/org/springframework/context/aot/ApplicationContextInitializationCodeGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2023 the original author or authors. + * Copyright 2002-2025 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. @@ -150,12 +150,12 @@ class ApplicationContextInitializationCodeGenerator implements BeanFactoryInitia @Nullable private CodeBlock apply(ClassName className) { String name = className.canonicalName(); - if (name.equals(DefaultListableBeanFactory.class.getName()) - || name.equals(ConfigurableListableBeanFactory.class.getName())) { + if (name.equals(DefaultListableBeanFactory.class.getName()) || + name.equals(ConfigurableListableBeanFactory.class.getName())) { return CodeBlock.of(BEAN_FACTORY_VARIABLE); } - else if (name.equals(ConfigurableEnvironment.class.getName()) - || name.equals(Environment.class.getName())) { + else if (name.equals(ConfigurableEnvironment.class.getName()) || + name.equals(Environment.class.getName())) { return CodeBlock.of("$L.getEnvironment()", APPLICATION_CONTEXT_VARIABLE); } else if (name.equals(ResourceLoader.class.getName())) { diff --git a/spring-context/src/main/java/org/springframework/context/expression/StandardBeanExpressionResolver.java b/spring-context/src/main/java/org/springframework/context/expression/StandardBeanExpressionResolver.java index 8b03a9f25d6..decb058d8e4 100644 --- a/spring-context/src/main/java/org/springframework/context/expression/StandardBeanExpressionResolver.java +++ b/spring-context/src/main/java/org/springframework/context/expression/StandardBeanExpressionResolver.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2024 the original author or authors. + * Copyright 2002-2025 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. @@ -201,8 +201,8 @@ public class StandardBeanExpressionResolver implements BeanExpressionResolver { try { int maxLength = Integer.parseInt(value.trim()); - Assert.isTrue(maxLength > 0, () -> "Value [" + maxLength + "] for system property [" - + MAX_SPEL_EXPRESSION_LENGTH_PROPERTY_NAME + "] must be positive"); + Assert.isTrue(maxLength > 0, () -> "Value [" + maxLength + "] for system property [" + + MAX_SPEL_EXPRESSION_LENGTH_PROPERTY_NAME + "] must be positive"); return maxLength; } catch (NumberFormatException ex) { diff --git a/spring-context/src/main/java/org/springframework/context/support/PostProcessorRegistrationDelegate.java b/spring-context/src/main/java/org/springframework/context/support/PostProcessorRegistrationDelegate.java index 5d6784191ab..e877d3b0bc6 100644 --- a/spring-context/src/main/java/org/springframework/context/support/PostProcessorRegistrationDelegate.java +++ b/spring-context/src/main/java/org/springframework/context/support/PostProcessorRegistrationDelegate.java @@ -493,8 +493,8 @@ final class PostProcessorRegistrationDelegate { private void postProcessValue(List postProcessors, BeanDefinitionValueResolver valueResolver, @Nullable Object value) { - if (value instanceof BeanDefinitionHolder bdh - && bdh.getBeanDefinition() instanceof AbstractBeanDefinition innerBd) { + if (value instanceof BeanDefinitionHolder bdh && + bdh.getBeanDefinition() instanceof AbstractBeanDefinition innerBd) { Class innerBeanType = resolveBeanType(innerBd); resolveInnerBeanDefinition(valueResolver, innerBd, (innerBeanName, innerBeanDefinition) diff --git a/spring-context/src/main/java/org/springframework/format/datetime/standard/DurationFormatterUtils.java b/spring-context/src/main/java/org/springframework/format/datetime/standard/DurationFormatterUtils.java index b1f5f3e58bd..98f2152c6ca 100644 --- a/spring-context/src/main/java/org/springframework/format/datetime/standard/DurationFormatterUtils.java +++ b/spring-context/src/main/java/org/springframework/format/datetime/standard/DurationFormatterUtils.java @@ -143,8 +143,8 @@ public abstract class DurationFormatterUtils { private static final Pattern ISO_8601_PATTERN = Pattern.compile("^[+-]?[pP].*$"); private static final Pattern SIMPLE_PATTERN = Pattern.compile("^([+-]?\\d+)([a-zA-Z]{0,2})$"); - private static final Pattern COMPOSITE_PATTERN = Pattern.compile("^([+-]?)\\(?\\s?(\\d+d)?\\s?(\\d+h)?\\s?(\\d+m)?" - + "\\s?(\\d+s)?\\s?(\\d+ms)?\\s?(\\d+us)?\\s?(\\d+ns)?\\)?$"); + private static final Pattern COMPOSITE_PATTERN = Pattern.compile("^([+-]?)\\(?\\s?(\\d+d)?\\s?(\\d+h)?\\s?(\\d+m)?" + + "\\s?(\\d+s)?\\s?(\\d+ms)?\\s?(\\d+us)?\\s?(\\d+ns)?\\)?$"); private static Duration parseIso8601(String value) { try { diff --git a/spring-context/src/main/java/org/springframework/scheduling/support/DefaultScheduledTaskObservationConvention.java b/spring-context/src/main/java/org/springframework/scheduling/support/DefaultScheduledTaskObservationConvention.java index 9b3c891070f..511531069b7 100644 --- a/spring-context/src/main/java/org/springframework/scheduling/support/DefaultScheduledTaskObservationConvention.java +++ b/spring-context/src/main/java/org/springframework/scheduling/support/DefaultScheduledTaskObservationConvention.java @@ -48,8 +48,8 @@ public class DefaultScheduledTaskObservationConvention implements ScheduledTaskO @Override public String getContextualName(ScheduledTaskObservationContext context) { - return "task " + StringUtils.uncapitalize(context.getTargetClass().getSimpleName()) - + "." + context.getMethod().getName(); + return "task " + StringUtils.uncapitalize(context.getTargetClass().getSimpleName()) + + "." + context.getMethod().getName(); } @Override diff --git a/spring-context/src/test/java/org/springframework/aop/aspectj/AspectAndAdvicePrecedenceTests.java b/spring-context/src/test/java/org/springframework/aop/aspectj/AspectAndAdvicePrecedenceTests.java index c7f56212bc4..16c6659dac1 100644 --- a/spring-context/src/test/java/org/springframework/aop/aspectj/AspectAndAdvicePrecedenceTests.java +++ b/spring-context/src/test/java/org/springframework/aop/aspectj/AspectAndAdvicePrecedenceTests.java @@ -106,8 +106,8 @@ class AspectAndAdvicePrecedenceTests { private void checkAdvice(String whatJustHappened) { //System.out.println("[" + adviceInvocationNumber + "] " + whatJustHappened + " ==> " + EXPECTED[adviceInvocationNumber]); if (adviceInvocationNumber > (EXPECTED.length - 1)) { - throw new AssertionError("Too many advice invocations, expecting " + EXPECTED.length - + " but had " + adviceInvocationNumber); + throw new AssertionError("Too many advice invocations, expecting " + EXPECTED.length + + " but had " + adviceInvocationNumber); } String expecting = EXPECTED[adviceInvocationNumber++]; if (!whatJustHappened.equals(expecting)) { diff --git a/spring-context/src/test/java/org/springframework/scripting/groovy/GroovyScriptFactoryTests.java b/spring-context/src/test/java/org/springframework/scripting/groovy/GroovyScriptFactoryTests.java index 812f4c44233..18f58f6ba11 100644 --- a/spring-context/src/test/java/org/springframework/scripting/groovy/GroovyScriptFactoryTests.java +++ b/spring-context/src/test/java/org/springframework/scripting/groovy/GroovyScriptFactoryTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2024 the original author or authors. + * Copyright 2002-2025 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. @@ -277,9 +277,9 @@ public class GroovyScriptFactoryTests { @Test void testScriptCompilationException() { - assertThatExceptionOfType(NestedRuntimeException.class).isThrownBy(() -> - new ClassPathXmlApplicationContext("org/springframework/scripting/groovy/groovyBrokenContext.xml")) - .matches(ex -> ex.contains(ScriptCompilationException.class)); + assertThatExceptionOfType(NestedRuntimeException.class) + .isThrownBy(() -> new ClassPathXmlApplicationContext("org/springframework/scripting/groovy/groovyBrokenContext.xml")) + .matches(ex -> ex.contains(ScriptCompilationException.class)); } @Test @@ -288,11 +288,10 @@ public class GroovyScriptFactoryTests { String badScript = "class Foo { public Foo(String foo) {}}"; given(script.getScriptAsString()).willReturn(badScript); given(script.suggestedClassName()).willReturn("someName"); - GroovyScriptFactory factory = new GroovyScriptFactory(ScriptFactoryPostProcessor.INLINE_SCRIPT_PREFIX - + badScript); - assertThatExceptionOfType(ScriptCompilationException.class).isThrownBy(() -> - factory.getScriptedObject(script)) - .matches(ex -> ex.contains(NoSuchMethodException.class)); + GroovyScriptFactory factory = new GroovyScriptFactory(ScriptFactoryPostProcessor.INLINE_SCRIPT_PREFIX + badScript); + assertThatExceptionOfType(ScriptCompilationException.class) + .isThrownBy(() -> factory.getScriptedObject(script)) + .matches(ex -> ex.contains(NoSuchMethodException.class)); } @Test @@ -327,27 +326,24 @@ public class GroovyScriptFactoryTests { @Test void testCtorWithNullScriptSourceLocator() { - assertThatIllegalArgumentException().isThrownBy(() -> - new GroovyScriptFactory(null)); + assertThatIllegalArgumentException().isThrownBy(() -> new GroovyScriptFactory(null)); } @Test void testCtorWithEmptyScriptSourceLocator() { - assertThatIllegalArgumentException().isThrownBy(() -> - new GroovyScriptFactory("")); + assertThatIllegalArgumentException().isThrownBy(() -> new GroovyScriptFactory("")); } @Test void testCtorWithWhitespacedScriptSourceLocator() { - assertThatIllegalArgumentException().isThrownBy(() -> - new GroovyScriptFactory("\n ")); + assertThatIllegalArgumentException().isThrownBy(() -> new GroovyScriptFactory("\n ")); } @Test void testWithInlineScriptWithLeadingWhitespace() { - assertThatExceptionOfType(BeanCreationException.class).as("'inline:' prefix was preceded by whitespace").isThrownBy(() -> - new ClassPathXmlApplicationContext("lwspBadGroovyContext.xml", getClass())) - .matches(ex -> ex.contains(FileNotFoundException.class)); + assertThatExceptionOfType(BeanCreationException.class).as("'inline:' prefix was preceded by whitespace") + .isThrownBy(() -> new ClassPathXmlApplicationContext("lwspBadGroovyContext.xml", getClass())) + .matches(ex -> ex.contains(FileNotFoundException.class)); } @Test @@ -364,8 +360,8 @@ public class GroovyScriptFactoryTests { @Test void testGetScriptedObjectDoesChokeOnNullScriptSourceBeingPassedIn() { GroovyScriptFactory factory = new GroovyScriptFactory("a script source locator (doesn't matter here)"); - assertThatNullPointerException().as("NullPointerException as per contract ('null' ScriptSource supplied)").isThrownBy(() -> - factory.getScriptedObject(null)); + assertThatNullPointerException().as("NullPointerException as per contract ('null' ScriptSource supplied)") + .isThrownBy(() -> factory.getScriptedObject(null)); } @Test diff --git a/spring-core-test/src/main/java/org/springframework/aot/agent/InstrumentedBridgeMethods.java b/spring-core-test/src/main/java/org/springframework/aot/agent/InstrumentedBridgeMethods.java index 35610a92220..ad3a5166a51 100644 --- a/spring-core-test/src/main/java/org/springframework/aot/agent/InstrumentedBridgeMethods.java +++ b/spring-core-test/src/main/java/org/springframework/aot/agent/InstrumentedBridgeMethods.java @@ -338,8 +338,8 @@ public abstract class InstrumentedBridgeMethods { Object result = null; boolean accessibilityChanged = false; try { - if (!Modifier.isPublic(method.getModifiers()) - || !Modifier.isPublic(method.getDeclaringClass().getModifiers())) { + if (!Modifier.isPublic(method.getModifiers()) || + !Modifier.isPublic(method.getDeclaringClass().getModifiers())) { method.setAccessible(true); accessibilityChanged = true; } diff --git a/spring-core-test/src/main/java/org/springframework/aot/agent/InvocationsRecorderClassVisitor.java b/spring-core-test/src/main/java/org/springframework/aot/agent/InvocationsRecorderClassVisitor.java index 4e7daa8f411..6571a2ab61f 100644 --- a/spring-core-test/src/main/java/org/springframework/aot/agent/InvocationsRecorderClassVisitor.java +++ b/spring-core-test/src/main/java/org/springframework/aot/agent/InvocationsRecorderClassVisitor.java @@ -78,8 +78,8 @@ class InvocationsRecorderClassVisitor extends ClassVisitor implements Opcodes { static { for (InstrumentedMethod method : InstrumentedMethod.values()) { MethodReference methodReference = method.methodReference(); - instrumentedMethods.add(methodReference.getClassName().replace('.', '/') - + "#" + methodReference.getMethodName()); + instrumentedMethods.add(methodReference.getClassName().replace('.', '/') + + "#" + methodReference.getMethodName()); } } diff --git a/spring-core-test/src/main/java/org/springframework/aot/test/agent/RuntimeHintsInvocationsAssert.java b/spring-core-test/src/main/java/org/springframework/aot/test/agent/RuntimeHintsInvocationsAssert.java index febdd622183..27dd18ad44c 100644 --- a/spring-core-test/src/main/java/org/springframework/aot/test/agent/RuntimeHintsInvocationsAssert.java +++ b/spring-core-test/src/main/java/org/springframework/aot/test/agent/RuntimeHintsInvocationsAssert.java @@ -108,8 +108,8 @@ public class RuntimeHintsInvocationsAssert extends AbstractAssert stackTraceElements) { return stackTraceElements - .map(f -> f.getClassName() + "#" + f.getMethodName() - + ", Line " + f.getLineNumber()).collect(Collectors.joining(System.lineSeparator())); + .map(f -> f.getClassName() + "#" + f.getMethodName() + ", Line " + + f.getLineNumber()).collect(Collectors.joining(System.lineSeparator())); } /** diff --git a/spring-core-test/src/main/java/org/springframework/core/test/io/support/MockSpringFactoriesLoader.java b/spring-core-test/src/main/java/org/springframework/core/test/io/support/MockSpringFactoriesLoader.java index 70a6067a6a0..47ee612b786 100644 --- a/spring-core-test/src/main/java/org/springframework/core/test/io/support/MockSpringFactoriesLoader.java +++ b/spring-core-test/src/main/java/org/springframework/core/test/io/support/MockSpringFactoriesLoader.java @@ -122,8 +122,8 @@ public class MockSpringFactoriesLoader extends SpringFactoriesLoader { public void addInstance(String factoryType, T... factoryInstance) { List implementations = this.factories.computeIfAbsent(factoryType, key -> new ArrayList<>()); for (T factoryImplementation : factoryInstance) { - String reference = "!" + factoryType + ":" + factoryImplementation.getClass().getName() - + this.sequence.getAndIncrement(); + String reference = "!" + factoryType + ":" + factoryImplementation.getClass().getName() + + this.sequence.getAndIncrement(); implementations.add(reference); this.implementations.put(reference, factoryImplementation); } diff --git a/spring-core-test/src/main/java/org/springframework/core/test/tools/TestCompiler.java b/spring-core-test/src/main/java/org/springframework/core/test/tools/TestCompiler.java index bb77051b9e7..8a261f7bd6f 100644 --- a/spring-core-test/src/main/java/org/springframework/core/test/tools/TestCompiler.java +++ b/spring-core-test/src/main/java/org/springframework/core/test/tools/TestCompiler.java @@ -299,8 +299,8 @@ public final class TestCompiler { } private DynamicClassLoader compile() { - ClassLoader classLoaderToUse = (this.classLoader != null ? this.classLoader - : Thread.currentThread().getContextClassLoader()); + ClassLoader classLoaderToUse = (this.classLoader != null ? this.classLoader : + Thread.currentThread().getContextClassLoader()); List compilationUnits = this.sourceFiles.stream().map( DynamicJavaFileObject::new).toList(); StandardJavaFileManager standardFileManager = this.compiler.getStandardFileManager( diff --git a/spring-core/src/main/java/org/springframework/aot/generate/DefaultMethodReference.java b/spring-core/src/main/java/org/springframework/aot/generate/DefaultMethodReference.java index 3018c6407cf..1079f753961 100644 --- a/spring-core/src/main/java/org/springframework/aot/generate/DefaultMethodReference.java +++ b/spring-core/src/main/java/org/springframework/aot/generate/DefaultMethodReference.java @@ -102,8 +102,8 @@ public class DefaultMethodReference implements MethodReference { TypeName argumentType = argumentTypes[i]; CodeBlock argumentCode = argumentCodeGenerator.generateCode(argumentType); if (argumentCode == null) { - throw new IllegalArgumentException("Could not generate code for " + this - + ": parameter " + i + " of type " + argumentType + " is not supported"); + throw new IllegalArgumentException("Could not generate code for " + this + + ": parameter " + i + " of type " + argumentType + " is not supported"); } arguments.add(argumentCode); } diff --git a/spring-core/src/main/java/org/springframework/aot/generate/GeneratedFiles.java b/spring-core/src/main/java/org/springframework/aot/generate/GeneratedFiles.java index 98979191a81..c0c6db2a736 100644 --- a/spring-core/src/main/java/org/springframework/aot/generate/GeneratedFiles.java +++ b/spring-core/src/main/java/org/springframework/aot/generate/GeneratedFiles.java @@ -192,9 +192,9 @@ public interface GeneratedFiles { private static void validatePackage(String packageName, String className) { if (!StringUtils.hasLength(packageName)) { - throw new IllegalArgumentException("Could not add '" + className + "', " - + "processing classes in the default package is not supported. " - + "Did you forget to add a package statement?"); + throw new IllegalArgumentException("Could not add '" + className + "', " + + "processing classes in the default package is not supported. " + + "Did you forget to add a package statement?"); } } diff --git a/spring-core/src/main/java/org/springframework/aot/generate/ValueCodeGeneratorDelegates.java b/spring-core/src/main/java/org/springframework/aot/generate/ValueCodeGeneratorDelegates.java index 86904a0c30d..2200c576dab 100644 --- a/spring-core/src/main/java/org/springframework/aot/generate/ValueCodeGeneratorDelegates.java +++ b/spring-core/src/main/java/org/springframework/aot/generate/ValueCodeGeneratorDelegates.java @@ -240,8 +240,8 @@ public abstract class ValueCodeGeneratorDelegates { if (escaped != null) { return escaped; } - return (!Character.isISOControl(ch)) ? Character.toString(ch) - : String.format("\\u%04x", (int) ch); + return (!Character.isISOControl(ch)) ? Character.toString(ch) : + String.format("\\u%04x", (int) ch); } } diff --git a/spring-core/src/main/java/org/springframework/aot/hint/BindingReflectionHintsRegistrar.java b/spring-core/src/main/java/org/springframework/aot/hint/BindingReflectionHintsRegistrar.java index 280e02a290f..c3030f5b20f 100644 --- a/spring-core/src/main/java/org/springframework/aot/hint/BindingReflectionHintsRegistrar.java +++ b/spring-core/src/main/java/org/springframework/aot/hint/BindingReflectionHintsRegistrar.java @@ -108,8 +108,8 @@ public class BindingReflectionHintsRegistrar { registerPropertyHints(hints, seen, method, 0); } else if ((methodName.startsWith("get") && method.getParameterCount() == 0 && method.getReturnType() != void.class) || - (methodName.startsWith("is") && method.getParameterCount() == 0 - && ClassUtils.resolvePrimitiveIfNecessary(method.getReturnType()) == Boolean.class)) { + (methodName.startsWith("is") && method.getParameterCount() == 0 && + ClassUtils.resolvePrimitiveIfNecessary(method.getReturnType()) == Boolean.class)) { registerPropertyHints(hints, seen, method, -1); } } diff --git a/spring-core/src/main/java/org/springframework/core/annotation/TypeMappedAnnotation.java b/spring-core/src/main/java/org/springframework/core/annotation/TypeMappedAnnotation.java index 4e3d98bdc7f..7abce77af90 100644 --- a/spring-core/src/main/java/org/springframework/core/annotation/TypeMappedAnnotation.java +++ b/spring-core/src/main/java/org/springframework/core/annotation/TypeMappedAnnotation.java @@ -375,8 +375,8 @@ final class TypeMappedAnnotation extends AbstractMergedAnn private Object getRequiredValue(int attributeIndex, String attributeName) { Object value = getValue(attributeIndex, Object.class); if (value == null) { - throw new NoSuchElementException("No element at attribute index " - + attributeIndex + " for name " + attributeName); + throw new NoSuchElementException("No element at attribute index " + + attributeIndex + " for name " + attributeName); } return value; } diff --git a/spring-core/src/main/java/org/springframework/core/codec/ResourceRegionEncoder.java b/spring-core/src/main/java/org/springframework/core/codec/ResourceRegionEncoder.java index 3330ac6e155..5b55fe2a0ce 100644 --- a/spring-core/src/main/java/org/springframework/core/codec/ResourceRegionEncoder.java +++ b/spring-core/src/main/java/org/springframework/core/codec/ResourceRegionEncoder.java @@ -71,8 +71,8 @@ public class ResourceRegionEncoder extends AbstractEncoder { @Override public boolean canEncode(ResolvableType elementType, @Nullable MimeType mimeType) { - return super.canEncode(elementType, mimeType) - && ResourceRegion.class.isAssignableFrom(elementType.toClass()); + return super.canEncode(elementType, mimeType) && + ResourceRegion.class.isAssignableFrom(elementType.toClass()); } @Override diff --git a/spring-core/src/main/java/org/springframework/core/io/support/SpringFactoriesLoader.java b/spring-core/src/main/java/org/springframework/core/io/support/SpringFactoriesLoader.java index 2bfefa1c404..59c583356a6 100644 --- a/spring-core/src/main/java/org/springframework/core/io/support/SpringFactoriesLoader.java +++ b/spring-core/src/main/java/org/springframework/core/io/support/SpringFactoriesLoader.java @@ -472,8 +472,8 @@ public class SpringFactoriesLoader { private static void makeAccessible(Constructor constructor, KFunction kotlinConstructor) { - if ((!Modifier.isPublic(constructor.getModifiers()) - || !Modifier.isPublic(constructor.getDeclaringClass().getModifiers()))) { + if ((!Modifier.isPublic(constructor.getModifiers()) || + !Modifier.isPublic(constructor.getDeclaringClass().getModifiers()))) { KCallablesJvm.setAccessible(kotlinConstructor, true); } } diff --git a/spring-core/src/main/java/org/springframework/util/AntPathMatcher.java b/spring-core/src/main/java/org/springframework/util/AntPathMatcher.java index 9afaf253238..ec3a8b3bced 100644 --- a/spring-core/src/main/java/org/springframework/util/AntPathMatcher.java +++ b/spring-core/src/main/java/org/springframework/util/AntPathMatcher.java @@ -275,8 +275,8 @@ public class AntPathMatcher implements PathMatcher { if (!matchStrings(pattDir, pathDirs[pathIdxEnd], uriTemplateVariables)) { return false; } - if (pattIdxEnd == (pattDirs.length - 1) - && pattern.endsWith(this.pathSeparator) != path.endsWith(this.pathSeparator)) { + if (pattIdxEnd == (pattDirs.length - 1) && + pattern.endsWith(this.pathSeparator) != path.endsWith(this.pathSeparator)) { return false; } pattIdxEnd--; diff --git a/spring-core/src/main/java/org/springframework/util/ConcurrentLruCache.java b/spring-core/src/main/java/org/springframework/util/ConcurrentLruCache.java index 926bb671ce8..5a3e91eda06 100644 --- a/spring-core/src/main/java/org/springframework/util/ConcurrentLruCache.java +++ b/spring-core/src/main/java/org/springframework/util/ConcurrentLruCache.java @@ -557,9 +557,7 @@ public final class ConcurrentLruCache { } private boolean contains(Node e) { - return (e.getPrevious() != null) - || (e.getNext() != null) - || (e == this.first); + return (e.getPrevious() != null) || (e.getNext() != null) || (e == this.first); } private void linkLast(final Node e) { diff --git a/spring-core/src/test/java/org/springframework/aot/generate/GeneratedFilesTests.java b/spring-core/src/test/java/org/springframework/aot/generate/GeneratedFilesTests.java index 5c45bca5994..ac16bec2717 100644 --- a/spring-core/src/test/java/org/springframework/aot/generate/GeneratedFilesTests.java +++ b/spring-core/src/test/java/org/springframework/aot/generate/GeneratedFilesTests.java @@ -71,8 +71,8 @@ class GeneratedFilesTests { TypeSpec helloWorld = TypeSpec.classBuilder("HelloWorld").build(); JavaFile javaFile = JavaFile.builder("", helloWorld).build(); assertThatIllegalArgumentException().isThrownBy(() -> this.generatedFiles.addSourceFile(javaFile)) - .withMessage("Could not add 'HelloWorld', processing classes in the " - + "default package is not supported. Did you forget to add a package statement?"); + .withMessage("Could not add 'HelloWorld', processing classes in the " + + "default package is not supported. Did you forget to add a package statement?"); } @Test @@ -92,8 +92,8 @@ class GeneratedFilesTests { void addSourceFileWithCharSequenceWhenClassNameIsInTheDefaultPackageThrowsException() { assertThatIllegalArgumentException() .isThrownBy(() -> this.generatedFiles.addSourceFile("HelloWorld", "{}")) - .withMessage("Could not add 'HelloWorld', processing classes in the " - + "default package is not supported. Did you forget to add a package statement?"); + .withMessage("Could not add 'HelloWorld', processing classes in the " + + "default package is not supported. Did you forget to add a package statement?"); } @Test diff --git a/spring-core/src/test/java/org/springframework/aot/generate/ValueCodeGeneratorTests.java b/spring-core/src/test/java/org/springframework/aot/generate/ValueCodeGeneratorTests.java index dc755467ec1..f2b3f3e473b 100644 --- a/spring-core/src/test/java/org/springframework/aot/generate/ValueCodeGeneratorTests.java +++ b/spring-core/src/test/java/org/springframework/aot/generate/ValueCodeGeneratorTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2024 the original author or authors. + * Copyright 2002-2025 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. @@ -64,20 +64,17 @@ import static org.mockito.Mockito.verifyNoInteractions; */ class ValueCodeGeneratorTests { - @Nested class ConfigurationTests { @Test void createWithListOfDelegatesInvokeThemInOrder() { - Delegate first = mock(Delegate.class); - Delegate second = mock(Delegate.class); - Delegate third = mock(Delegate.class); - ValueCodeGenerator codeGenerator = ValueCodeGenerator - .with(List.of(first, second, third)); + Delegate first = mock(); + Delegate second = mock(); + Delegate third = mock(); + ValueCodeGenerator codeGenerator = ValueCodeGenerator.with(List.of(first, second, third)); Object value = ""; - given(third.generateCode(codeGenerator, value)) - .willReturn(CodeBlock.of("test")); + given(third.generateCode(codeGenerator, value)).willReturn(CodeBlock.of("test")); CodeBlock code = codeGenerator.generateCode(value); assertThat(code).hasToString("test"); InOrder ordered = inOrder(first, second, third); @@ -88,13 +85,11 @@ class ValueCodeGeneratorTests { @Test void generateCodeWithMatchingDelegateStops() { - Delegate first = mock(Delegate.class); - Delegate second = mock(Delegate.class); - ValueCodeGenerator codeGenerator = ValueCodeGenerator - .with(List.of(first, second)); + Delegate first = mock(); + Delegate second = mock(); + ValueCodeGenerator codeGenerator = ValueCodeGenerator.with(List.of(first, second)); Object value = ""; - given(first.generateCode(codeGenerator, value)) - .willReturn(CodeBlock.of("test")); + given(first.generateCode(codeGenerator, value)).willReturn(CodeBlock.of("test")); CodeBlock code = codeGenerator.generateCode(value); assertThat(code).hasToString("test"); verify(first).generateCode(codeGenerator, value); @@ -198,7 +193,6 @@ class ValueCodeGeneratorTests { assertThat(generateCode("test")).hasToString("\"test\""); } - @Test void generateWhenStringWithCarriageReturn() { assertThat(generateCode("test\n")).isEqualTo(CodeBlock.of("$S", "test\n")); @@ -285,9 +279,9 @@ class ValueCodeGeneratorTests { ResolvableType resolvableType = ResolvableType.forClassWithGenerics(Map.class, ResolvableType.forClass(Integer.class), stringList); assertThat(resolve(generateCode(resolvableType))) - .hasImport(ResolvableType.class, List.class, Map.class).hasValueCode( - "ResolvableType.forClassWithGenerics(Map.class, ResolvableType.forClass(Integer.class), " - + "ResolvableType.forClassWithGenerics(List.class, String.class))"); + .hasImport(ResolvableType.class, List.class, Map.class).hasValueCode(""" + ResolvableType.forClassWithGenerics(Map.class, ResolvableType.forClass(Integer.class), \ + ResolvableType.forClassWithGenerics(List.class, String.class))"""); } @Test diff --git a/spring-core/src/test/java/org/springframework/aot/hint/ReflectionHintsTests.java b/spring-core/src/test/java/org/springframework/aot/hint/ReflectionHintsTests.java index 5e4c3cc14f8..cb4eb24dcab 100644 --- a/spring-core/src/test/java/org/springframework/aot/hint/ReflectionHintsTests.java +++ b/spring-core/src/test/java/org/springframework/aot/hint/ReflectionHintsTests.java @@ -216,10 +216,10 @@ class ReflectionHintsTests { typeHint -> typeHint.withMembers(MemberCategory.INTROSPECT_PUBLIC_METHODS)); assertThat(this.reflectionHints.typeHints()).hasSize(2) .noneMatch(typeHint -> typeHint.getType().getCanonicalName().equals(Serializable.class.getCanonicalName())) - .anyMatch(typeHint -> typeHint.getType().getCanonicalName().equals(SecondInterface.class.getCanonicalName()) - && typeHint.getMemberCategories().contains(MemberCategory.INTROSPECT_PUBLIC_METHODS)) - .anyMatch(typeHint -> typeHint.getType().getCanonicalName().equals(FirstInterface.class.getCanonicalName()) - && typeHint.getMemberCategories().contains(MemberCategory.INTROSPECT_PUBLIC_METHODS)); + .anyMatch(typeHint -> typeHint.getType().getCanonicalName().equals(SecondInterface.class.getCanonicalName()) && + typeHint.getMemberCategories().contains(MemberCategory.INTROSPECT_PUBLIC_METHODS)) + .anyMatch(typeHint -> typeHint.getType().getCanonicalName().equals(FirstInterface.class.getCanonicalName()) && + typeHint.getMemberCategories().contains(MemberCategory.INTROSPECT_PUBLIC_METHODS)); } private void assertTestTypeMethodHints(Consumer methodHint) { diff --git a/spring-core/src/test/java/org/springframework/core/annotation/AnnotationTypeMappingsTests.java b/spring-core/src/test/java/org/springframework/core/annotation/AnnotationTypeMappingsTests.java index 16c5425116e..988c4e34141 100644 --- a/spring-core/src/test/java/org/springframework/core/annotation/AnnotationTypeMappingsTests.java +++ b/spring-core/src/test/java/org/springframework/core/annotation/AnnotationTypeMappingsTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2023 the original author or authors. + * Copyright 2002-2025 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. @@ -54,27 +54,24 @@ class AnnotationTypeMappingsTests { AnnotationTypeMappings mappings = AnnotationTypeMappings.forAnnotationType(SimpleAnnotation.class); assertThat(mappings.size()).isEqualTo(1); assertThat(mappings.get(0).getAnnotationType()).isEqualTo(SimpleAnnotation.class); - assertThat(getAll(mappings)).flatExtracting( - AnnotationTypeMapping::getAnnotationType).containsExactly(SimpleAnnotation.class); + assertThat(getAll(mappings)).flatExtracting(AnnotationTypeMapping::getAnnotationType) + .containsExactly(SimpleAnnotation.class); } @Test void forAnnotationTypeWhenMetaAnnotationsReturnsMappings() { AnnotationTypeMappings mappings = AnnotationTypeMappings.forAnnotationType(MetaAnnotated.class); assertThat(mappings.size()).isEqualTo(6); - assertThat(getAll(mappings)).flatExtracting( - AnnotationTypeMapping::getAnnotationType).containsExactly( - MetaAnnotated.class, A.class, B.class, AA.class, AB.class, - ABC.class); + assertThat(getAll(mappings)).flatExtracting(AnnotationTypeMapping::getAnnotationType) + .containsExactly(MetaAnnotated.class, A.class, B.class, AA.class, AB.class, ABC.class); } @Test void forAnnotationTypeWhenHasRepeatingMetaAnnotationReturnsMapping() { AnnotationTypeMappings mappings = AnnotationTypeMappings.forAnnotationType(WithRepeatedMetaAnnotations.class); assertThat(mappings.size()).isEqualTo(3); - assertThat(getAll(mappings)).flatExtracting( - AnnotationTypeMapping::getAnnotationType).containsExactly( - WithRepeatedMetaAnnotations.class, Repeating.class, Repeating.class); + assertThat(getAll(mappings)).flatExtracting(AnnotationTypeMapping::getAnnotationType) + .containsExactly(WithRepeatedMetaAnnotations.class, Repeating.class, Repeating.class); } @Test @@ -89,56 +86,52 @@ class AnnotationTypeMappingsTests { void forAnnotationTypeWhenSelfAnnotatedReturnsMapping() { AnnotationTypeMappings mappings = AnnotationTypeMappings.forAnnotationType(SelfAnnotated.class); assertThat(mappings.size()).isEqualTo(1); - assertThat(getAll(mappings)).flatExtracting( - AnnotationTypeMapping::getAnnotationType).containsExactly(SelfAnnotated.class); + assertThat(getAll(mappings)).flatExtracting(AnnotationTypeMapping::getAnnotationType) + .containsExactly(SelfAnnotated.class); } @Test void forAnnotationTypeWhenFormsLoopReturnsMapping() { AnnotationTypeMappings mappings = AnnotationTypeMappings.forAnnotationType(LoopA.class); assertThat(mappings.size()).isEqualTo(2); - assertThat(getAll(mappings)).flatExtracting( - AnnotationTypeMapping::getAnnotationType).containsExactly(LoopA.class, LoopB.class); + assertThat(getAll(mappings)).flatExtracting(AnnotationTypeMapping::getAnnotationType) + .containsExactly(LoopA.class, LoopB.class); } @Test void forAnnotationTypeWhenHasAliasForWithBothValueAndAttributeThrowsException() { - assertThatExceptionOfType(AnnotationConfigurationException.class).isThrownBy(() -> - AnnotationTypeMappings.forAnnotationType(AliasForWithBothValueAndAttribute.class)) - .withMessage("In @AliasFor declared on attribute 'test' in annotation [" - + AliasForWithBothValueAndAttribute.class.getName() - + "], attribute 'attribute' and its alias 'value' are present with values of 'foo' and 'bar', but only one is permitted."); + assertThatExceptionOfType(AnnotationConfigurationException.class) + .isThrownBy(() -> AnnotationTypeMappings.forAnnotationType(AliasForWithBothValueAndAttribute.class)) + .withMessage("In @AliasFor declared on attribute 'test' in annotation [%s], attribute 'attribute' " + + "and its alias 'value' are present with values of 'foo' and 'bar', but only one is permitted.", + AliasForWithBothValueAndAttribute.class.getName()); } @Test void forAnnotationTypeWhenAliasForToSelfNonExistingAttribute() { - assertThatExceptionOfType(AnnotationConfigurationException.class).isThrownBy(() -> - AnnotationTypeMappings.forAnnotationType(AliasForToSelfNonExistingAttribute.class)) - .withMessage("@AliasFor declaration on attribute 'test' in annotation [" - + AliasForToSelfNonExistingAttribute.class.getName() - + "] declares an alias for 'missing' which is not present."); + assertThatExceptionOfType(AnnotationConfigurationException.class) + .isThrownBy(() -> AnnotationTypeMappings.forAnnotationType(AliasForToSelfNonExistingAttribute.class)) + .withMessage("@AliasFor declaration on attribute 'test' in annotation [%s] " + + "declares an alias for 'missing' which is not present.", + AliasForToSelfNonExistingAttribute.class.getName()); } @Test void forAnnotationTypeWhenAliasForToOtherNonExistingAttribute() { - assertThatExceptionOfType(AnnotationConfigurationException.class).isThrownBy(() -> - AnnotationTypeMappings.forAnnotationType(AliasForToOtherNonExistingAttribute.class)) - .withMessage("Attribute 'test' in annotation [" - + AliasForToOtherNonExistingAttribute.class.getName() - + "] is declared as an @AliasFor nonexistent " - + "attribute 'missing' in annotation [" - + AliasForToOtherNonExistingAttributeTarget.class.getName() - + "]."); + assertThatExceptionOfType(AnnotationConfigurationException.class) + .isThrownBy(() -> AnnotationTypeMappings.forAnnotationType(AliasForToOtherNonExistingAttribute.class)) + .withMessage("Attribute 'test' in annotation [%s] is declared as an @AliasFor nonexistent " + + "attribute 'missing' in annotation [%s].", AliasForToOtherNonExistingAttribute.class.getName(), + AliasForToOtherNonExistingAttributeTarget.class.getName()); } @Test void forAnnotationTypeWhenAliasForToSelf() { - assertThatExceptionOfType(AnnotationConfigurationException.class).isThrownBy(() -> - AnnotationTypeMappings.forAnnotationType(AliasForToSelf.class)) - .withMessage("@AliasFor declaration on attribute 'test' in annotation [" - + AliasForToSelf.class.getName() - + "] points to itself. Specify 'annotation' to point to " - + "a same-named attribute on a meta-annotation."); + assertThatExceptionOfType(AnnotationConfigurationException.class) + .isThrownBy(() -> AnnotationTypeMappings.forAnnotationType(AliasForToSelf.class)) + .withMessage("@AliasFor declaration on attribute 'test' in annotation [%s] points to itself. " + + "Specify 'annotation' to point to a same-named attribute on a meta-annotation.", + AliasForToSelf.class.getName()); } @Test @@ -152,13 +145,12 @@ class AnnotationTypeMappingsTests { @Test void forAnnotationTypeWhenAliasForWithIncompatibleReturnTypes() { - assertThatExceptionOfType(AnnotationConfigurationException.class).isThrownBy(() -> - AnnotationTypeMappings.forAnnotationType(AliasForWithIncompatibleReturnTypes.class)) - .withMessage("Misconfigured aliases: attribute 'test' in annotation [" - + AliasForWithIncompatibleReturnTypes.class.getName() - + "] and attribute 'test' in annotation [" - + AliasForWithIncompatibleReturnTypesTarget.class.getName() - + "] must declare the same return type."); + assertThatExceptionOfType(AnnotationConfigurationException.class) + .isThrownBy(() -> AnnotationTypeMappings.forAnnotationType(AliasForWithIncompatibleReturnTypes.class)) + .withMessage("Misconfigured aliases: attribute 'test' in annotation [%s] and attribute 'test' " + + "in annotation [%s] must declare the same return type.", + AliasForWithIncompatibleReturnTypes.class.getName(), + AliasForWithIncompatibleReturnTypesTarget.class.getName()); } @Test @@ -166,9 +158,8 @@ class AnnotationTypeMappingsTests { String annotationType = AliasForToSelfAnnotatedToOtherAttribute.class.getName(); assertThatExceptionOfType(AnnotationConfigurationException.class) .isThrownBy(() -> AnnotationTypeMappings.forAnnotationType(AliasForToSelfAnnotatedToOtherAttribute.class)) - .withMessage("Attribute 'b' in annotation [" + annotationType - + "] must be declared as an @AliasFor attribute 'a' in annotation [" + annotationType - + "], not attribute 'c' in annotation [" + annotationType + "]."); + .withMessage("Attribute 'b' in annotation [%1$s] must be declared as an @AliasFor attribute 'a' in " + + "annotation [%1$s], not attribute 'c' in annotation [%1$s].", annotationType); } @Test @@ -182,53 +173,45 @@ class AnnotationTypeMappingsTests { String metaAnnotationName = AliasPair.class.getName(); assertThatExceptionOfType(AnnotationConfigurationException.class) .isThrownBy(() -> AnnotationTypeMappings.forAnnotationType(annotationType)) - .withMessage("Attribute 'b' in annotation [" + annotationName - + "] must be declared as an @AliasFor attribute 'a' in annotation [" + annotationName - + "], not attribute '" + overriddenAttribute + "' in annotation [" + metaAnnotationName + "]."); + .withMessage("Attribute 'b' in annotation [" + annotationName + + "] must be declared as an @AliasFor attribute 'a' in annotation [" + annotationName + + "], not attribute '" + overriddenAttribute + "' in annotation [" + metaAnnotationName + "]."); } @Test void forAnnotationTypeWhenAliasForNonMetaAnnotated() { - assertThatExceptionOfType(AnnotationConfigurationException.class).isThrownBy(() -> - AnnotationTypeMappings.forAnnotationType(AliasForNonMetaAnnotated.class)) - .withMessage("@AliasFor declaration on attribute 'test' in annotation [" - + AliasForNonMetaAnnotated.class.getName() - + "] declares an alias for attribute 'test' in annotation [" - + AliasForNonMetaAnnotatedTarget.class.getName() - + "] which is not meta-present."); + assertThatExceptionOfType(AnnotationConfigurationException.class) + .isThrownBy(() -> AnnotationTypeMappings.forAnnotationType(AliasForNonMetaAnnotated.class)) + .withMessage("@AliasFor declaration on attribute 'test' in annotation [" + AliasForNonMetaAnnotated.class.getName() + + "] declares an alias for attribute 'test' in annotation [" + AliasForNonMetaAnnotatedTarget.class.getName() + + "] which is not meta-present."); } @Test void forAnnotationTypeWhenAliasForSelfWithDifferentDefaults() { - assertThatExceptionOfType(AnnotationConfigurationException.class).isThrownBy(() -> - AnnotationTypeMappings.forAnnotationType(AliasForSelfWithDifferentDefaults.class)) - .withMessage("Misconfigured aliases: attribute 'a' in annotation [" - + AliasForSelfWithDifferentDefaults.class.getName() - + "] and attribute 'b' in annotation [" - + AliasForSelfWithDifferentDefaults.class.getName() - + "] must declare the same default value."); + assertThatExceptionOfType(AnnotationConfigurationException.class) + .isThrownBy(() -> AnnotationTypeMappings.forAnnotationType(AliasForSelfWithDifferentDefaults.class)) + .withMessage("Misconfigured aliases: attribute 'a' in annotation [" + AliasForSelfWithDifferentDefaults.class.getName() + + "] and attribute 'b' in annotation [" + AliasForSelfWithDifferentDefaults.class.getName() + + "] must declare the same default value."); } @Test void forAnnotationTypeWhenAliasForSelfWithMissingDefault() { - assertThatExceptionOfType(AnnotationConfigurationException.class).isThrownBy(() -> - AnnotationTypeMappings.forAnnotationType(AliasForSelfWithMissingDefault.class)) - .withMessage("Misconfigured aliases: attribute 'a' in annotation [" - + AliasForSelfWithMissingDefault.class.getName() - + "] and attribute 'b' in annotation [" - + AliasForSelfWithMissingDefault.class.getName() - + "] must declare default values."); + assertThatExceptionOfType(AnnotationConfigurationException.class) + .isThrownBy(() -> AnnotationTypeMappings.forAnnotationType(AliasForSelfWithMissingDefault.class)) + .withMessage("Misconfigured aliases: attribute 'a' in annotation [" + AliasForSelfWithMissingDefault.class.getName() + + "] and attribute 'b' in annotation [" + AliasForSelfWithMissingDefault.class.getName() + + "] must declare default values."); } @Test void forAnnotationTypeWhenAliasWithExplicitMirrorAndDifferentDefaults() { - assertThatExceptionOfType(AnnotationConfigurationException.class).isThrownBy(() -> - AnnotationTypeMappings.forAnnotationType(AliasWithExplicitMirrorAndDifferentDefaults.class)) - .withMessage("Misconfigured aliases: attribute 'a' in annotation [" - + AliasWithExplicitMirrorAndDifferentDefaults.class.getName() - + "] and attribute 'c' in annotation [" - + AliasWithExplicitMirrorAndDifferentDefaults.class.getName() - + "] must declare the same default value."); + assertThatExceptionOfType(AnnotationConfigurationException.class) + .isThrownBy(() -> AnnotationTypeMappings.forAnnotationType(AliasWithExplicitMirrorAndDifferentDefaults.class)) + .withMessage("Misconfigured aliases: attribute 'a' in annotation [" + AliasWithExplicitMirrorAndDifferentDefaults.class.getName() + + "] and attribute 'c' in annotation [" + AliasWithExplicitMirrorAndDifferentDefaults.class.getName() + + "] must declare the same default value."); } @Test @@ -375,18 +358,16 @@ class AnnotationTypeMappingsTests { @Test void resolveMirrorsWhenHasDifferentValuesThrowsException() { AnnotationTypeMapping mapping = AnnotationTypeMappings.forAnnotationType(AliasPair.class).get(0); - assertThatExceptionOfType(AnnotationConfigurationException.class).isThrownBy(() -> - resolveMirrorSets(mapping, WithDifferentValueAliasPair.class, AliasPair.class)) - .withMessage("Different @AliasFor mirror values for annotation [" - + AliasPair.class.getName() + "] declared on " - + WithDifferentValueAliasPair.class.getName() - + "; attribute 'a' and its alias 'b' are declared with values of [test1] and [test2]."); + assertThatExceptionOfType(AnnotationConfigurationException.class) + .isThrownBy(() -> resolveMirrorSets(mapping, WithDifferentValueAliasPair.class, AliasPair.class)) + .withMessage("Different @AliasFor mirror values for annotation [" + AliasPair.class.getName() + "] declared on " + + WithDifferentValueAliasPair.class.getName() + + "; attribute 'a' and its alias 'b' are declared with values of [test1] and [test2]."); } @Test void resolveMirrorsWhenHasWithMultipleRoutesToAliasReturnsMirrors() { - AnnotationTypeMappings mappings = AnnotationTypeMappings.forAnnotationType( - MultipleRoutesToAliasA.class); + AnnotationTypeMappings mappings = AnnotationTypeMappings.forAnnotationType(MultipleRoutesToAliasA.class); AnnotationTypeMapping mappingsA = getMapping(mappings, MultipleRoutesToAliasA.class); assertThat(mappingsA.getMirrorSets().size()).isZero(); AnnotationTypeMapping mappingsB = getMapping(mappings, MultipleRoutesToAliasB.class); @@ -397,8 +378,7 @@ class AnnotationTypeMappingsTests { @Test void getAliasMappingWhenHasWithMultipleRoutesToAliasReturnsMappedAttributes() { - AnnotationTypeMappings mappings = AnnotationTypeMappings.forAnnotationType( - MultipleRoutesToAliasA.class); + AnnotationTypeMappings mappings = AnnotationTypeMappings.forAnnotationType(MultipleRoutesToAliasA.class); AnnotationTypeMapping mappingsA = getMapping(mappings, MultipleRoutesToAliasA.class); assertThat(getAliasMapping(mappingsA, 0)).isNull(); AnnotationTypeMapping mappingsB = getMapping(mappings, MultipleRoutesToAliasB.class); diff --git a/spring-core/src/test/java/org/springframework/core/annotation/AnnotationUtilsTests.java b/spring-core/src/test/java/org/springframework/core/annotation/AnnotationUtilsTests.java index 4185df3c4a1..829dabf3ffb 100644 --- a/spring-core/src/test/java/org/springframework/core/annotation/AnnotationUtilsTests.java +++ b/spring-core/src/test/java/org/springframework/core/annotation/AnnotationUtilsTests.java @@ -925,8 +925,8 @@ class AnnotationUtilsTests { Map map = Collections.singletonMap(VALUE, 42L); assertThatIllegalStateException().isThrownBy(() -> synthesizeAnnotation(map, Component.class, null).value()) - .withMessageContaining("Attribute 'value' in annotation org.springframework.core.testfixture.stereotype.Component " - + "should be compatible with java.lang.String but a java.lang.Long value was returned"); + .withMessageContaining("Attribute 'value' in annotation org.springframework.core.testfixture.stereotype.Component " + + "should be compatible with java.lang.String but a java.lang.Long value was returned"); } @Test diff --git a/spring-core/src/test/java/org/springframework/core/annotation/MergedAnnotationClassLoaderTests.java b/spring-core/src/test/java/org/springframework/core/annotation/MergedAnnotationClassLoaderTests.java index d69cc41e7c1..9073adaa336 100644 --- a/spring-core/src/test/java/org/springframework/core/annotation/MergedAnnotationClassLoaderTests.java +++ b/spring-core/src/test/java/org/springframework/core/annotation/MergedAnnotationClassLoaderTests.java @@ -120,9 +120,7 @@ class MergedAnnotationClassLoaderTests { @Override protected boolean isEligibleForOverriding(String className) { - return WITH_TEST_ANNOTATION.equals(className) - || TEST_ANNOTATION.equals(className) - || TEST_REFERENCE.equals(className); + return WITH_TEST_ANNOTATION.equals(className) || TEST_ANNOTATION.equals(className) || TEST_REFERENCE.equals(className); } } diff --git a/spring-core/src/test/java/org/springframework/core/annotation/MergedAnnotationsCollectionTests.java b/spring-core/src/test/java/org/springframework/core/annotation/MergedAnnotationsCollectionTests.java index a0bbaa5b234..6cc0fb64f81 100644 --- a/spring-core/src/test/java/org/springframework/core/annotation/MergedAnnotationsCollectionTests.java +++ b/spring-core/src/test/java/org/springframework/core/annotation/MergedAnnotationsCollectionTests.java @@ -171,8 +171,7 @@ class MergedAnnotationsCollectionTests { void getWithSelectorReturnsSelected() { MergedAnnotations annotations = getMultiRoute1(); MergedAnnotationSelector deepest = (existing, - candidate) -> candidate.getDistance() > existing.getDistance() ? candidate - : existing; + candidate) -> candidate.getDistance() > existing.getDistance() ? candidate : existing; assertThat(annotations.get(MultiRouteTarget.class, null, deepest).getString( MergedAnnotation.VALUE)).isEqualTo("111"); } diff --git a/spring-core/src/test/java/org/springframework/core/io/support/SpringFactoriesLoaderTests.java b/spring-core/src/test/java/org/springframework/core/io/support/SpringFactoriesLoaderTests.java index 541da8c9f20..06a45293213 100644 --- a/spring-core/src/test/java/org/springframework/core/io/support/SpringFactoriesLoaderTests.java +++ b/spring-core/src/test/java/org/springframework/core/io/support/SpringFactoriesLoaderTests.java @@ -99,8 +99,8 @@ class SpringFactoriesLoaderTests { void loadWhenIncompatibleTypeThrowsException() { assertThatIllegalArgumentException() .isThrownBy(() -> SpringFactoriesLoader.forDefaultResourceLocation().load(String.class)) - .withMessageContaining("Unable to instantiate factory class " - + "[org.springframework.core.io.support.MyDummyFactory1] for factory type [java.lang.String]"); + .withMessageContaining("Unable to instantiate factory class " + + "[org.springframework.core.io.support.MyDummyFactory1] for factory type [java.lang.String]"); } @Test @@ -127,8 +127,8 @@ class SpringFactoriesLoaderTests { assertThatIllegalArgumentException() .isThrownBy(() -> SpringFactoriesLoader.forDefaultResourceLocation(LimitedClassLoader.multipleArgumentFactories) .load(DummyFactory.class, resolver)) - .withMessageContaining("Unable to instantiate factory class " - + "[org.springframework.core.io.support.MultipleConstructorArgsDummyFactory] for factory type [org.springframework.core.io.support.DummyFactory]") + .withMessageContaining("Unable to instantiate factory class " + + "[org.springframework.core.io.support.MultipleConstructorArgsDummyFactory] for factory type [org.springframework.core.io.support.DummyFactory]") .havingRootCause().withMessageContaining("Class [org.springframework.core.io.support.MultipleConstructorArgsDummyFactory] has no suitable constructor"); } diff --git a/spring-core/src/test/java/org/springframework/util/xml/AbstractStaxXMLReaderTests.java b/spring-core/src/test/java/org/springframework/util/xml/AbstractStaxXMLReaderTests.java index 7f51d8af088..58626d8c31b 100644 --- a/spring-core/src/test/java/org/springframework/util/xml/AbstractStaxXMLReaderTests.java +++ b/spring-core/src/test/java/org/springframework/util/xml/AbstractStaxXMLReaderTests.java @@ -218,8 +218,8 @@ abstract class AbstractStaxXMLReaderTests { @Override public Object[] adaptArguments(Object[] arguments) { - if (arguments.length == 3 && arguments[0] instanceof char[] - && arguments[1] instanceof Integer && arguments[2] instanceof Integer) { + if (arguments.length == 3 && arguments[0] instanceof char[] && + arguments[1] instanceof Integer && arguments[2] instanceof Integer) { return new Object[] {new String((char[]) arguments[0], (Integer) arguments[1], (Integer) arguments[2])}; } return arguments; @@ -271,10 +271,10 @@ abstract class AbstractStaxXMLReaderTests { for (int i = 0; i < other.getLength(); i++) { boolean found = false; for (int j = 0; j < attributes.getLength(); j++) { - if (other.getURI(i).equals(attributes.getURI(j)) - && other.getQName(i).equals(attributes.getQName(j)) - && other.getType(i).equals(attributes.getType(j)) - && other.getValue(i).equals(attributes.getValue(j))) { + if (other.getURI(i).equals(attributes.getURI(j)) && + other.getQName(i).equals(attributes.getQName(j)) && + other.getType(i).equals(attributes.getType(j)) && + other.getValue(i).equals(attributes.getValue(j))) { found = true; break; } diff --git a/spring-expression/src/test/java/org/springframework/expression/spel/SpelDocumentationTests.java b/spring-expression/src/test/java/org/springframework/expression/spel/SpelDocumentationTests.java index 57cc2168ea1..70ec1c87590 100644 --- a/spring-expression/src/test/java/org/springframework/expression/spel/SpelDocumentationTests.java +++ b/spring-expression/src/test/java/org/springframework/expression/spel/SpelDocumentationTests.java @@ -737,8 +737,8 @@ class SpelDocumentationTests extends AbstractExpressionTests { parser.parseExpression("Name").setValue(societyContext, "IEEE"); societyContext.setVariable("queryName", "Nikola Tesla"); - String expression = "isMember(#queryName) ? #queryName + ' is a member of the ' " - + "+ Name + ' Society' : #queryName + ' is not a member of the ' + Name + ' Society'"; + String expression = "isMember(#queryName) ? #queryName + ' is a member of the ' " + + "+ Name + ' Society' : #queryName + ' is not a member of the ' + Name + ' Society'"; String queryResultString = parser.parseExpression(expression).getValue(societyContext, String.class); assertThat(queryResultString).isEqualTo("Nikola Tesla is a member of the IEEE Society"); diff --git a/spring-jms/src/test/java/org/springframework/jms/config/JmsNamespaceHandlerTests.java b/spring-jms/src/test/java/org/springframework/jms/config/JmsNamespaceHandlerTests.java index 6fde3769d90..ed146ca0f90 100644 --- a/spring-jms/src/test/java/org/springframework/jms/config/JmsNamespaceHandlerTests.java +++ b/spring-jms/src/test/java/org/springframework/jms/config/JmsNamespaceHandlerTests.java @@ -293,10 +293,10 @@ class JmsNamespaceHandlerTests { assertThat(context.containsComponentDefinition("listener1")).as("Parser should have registered a component named 'listener1'").isTrue(); assertThat(context.containsComponentDefinition("listener2")).as("Parser should have registered a component named 'listener2'").isTrue(); assertThat(context.containsComponentDefinition("listener3")).as("Parser should have registered a component named 'listener3'").isTrue(); - assertThat(context.containsComponentDefinition(DefaultMessageListenerContainer.class.getName() + "#0")).as("Parser should have registered a component named '" - + DefaultMessageListenerContainer.class.getName() + "#0'").isTrue(); - assertThat(context.containsComponentDefinition(JmsMessageEndpointManager.class.getName() + "#0")).as("Parser should have registered a component named '" - + JmsMessageEndpointManager.class.getName() + "#0'").isTrue(); + assertThat(context.containsComponentDefinition(DefaultMessageListenerContainer.class.getName() + "#0")).as("Parser should have registered a component named '" + + DefaultMessageListenerContainer.class.getName() + "#0'").isTrue(); + assertThat(context.containsComponentDefinition(JmsMessageEndpointManager.class.getName() + "#0")).as("Parser should have registered a component named '" + + JmsMessageEndpointManager.class.getName() + "#0'").isTrue(); assertThat(context.containsComponentDefinition("testJmsFactory")).as("Parser should have registered a component named 'testJmsFactory").isTrue(); assertThat(context.containsComponentDefinition("testJcaFactory")).as("Parser should have registered a component named 'testJcaFactory").isTrue(); assertThat(context.containsComponentDefinition("onlyJmsFactory")).as("Parser should have registered a component named 'testJcaFactory").isTrue(); diff --git a/spring-jms/src/test/java/org/springframework/jms/core/JmsTemplateTests.java b/spring-jms/src/test/java/org/springframework/jms/core/JmsTemplateTests.java index 290c4c9c58a..4440b71d48d 100644 --- a/spring-jms/src/test/java/org/springframework/jms/core/JmsTemplateTests.java +++ b/spring-jms/src/test/java/org/springframework/jms/core/JmsTemplateTests.java @@ -530,8 +530,7 @@ class JmsTemplateTests { if (!useTransactedTemplate() && !useTransactedSession()) { given(this.session.getAcknowledgeMode()).willReturn( - clientAcknowledge ? Session.CLIENT_ACKNOWLEDGE - : Session.AUTO_ACKNOWLEDGE); + clientAcknowledge ? Session.CLIENT_ACKNOWLEDGE : Session.AUTO_ACKNOWLEDGE); } TextMessage textMessage = mock(); diff --git a/spring-messaging/src/main/java/org/springframework/messaging/MessagingException.java b/spring-messaging/src/main/java/org/springframework/messaging/MessagingException.java index bd2f8d26af1..ef0d8e8e7f8 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/MessagingException.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/MessagingException.java @@ -71,8 +71,8 @@ public class MessagingException extends NestedRuntimeException { @Override public String toString() { - return super.toString() + (this.failedMessage == null ? "" - : (", failedMessage=" + this.failedMessage)); + return super.toString() + (this.failedMessage == null ? "" : + (", failedMessage=" + this.failedMessage)); } } diff --git a/spring-messaging/src/main/java/org/springframework/messaging/converter/MappingJackson2MessageConverter.java b/spring-messaging/src/main/java/org/springframework/messaging/converter/MappingJackson2MessageConverter.java index d43e991870f..84d237ecef6 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/converter/MappingJackson2MessageConverter.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/converter/MappingJackson2MessageConverter.java @@ -202,8 +202,8 @@ public class MappingJackson2MessageConverter extends AbstractMessageConverter { } // Do not log warning for serializer not found (note: different message wording on Jackson 2.9) - boolean debugLevel = (cause instanceof JsonMappingException && cause.getMessage() != null - && cause.getMessage().startsWith("Cannot find")); + boolean debugLevel = (cause instanceof JsonMappingException && cause.getMessage() != null && + cause.getMessage().startsWith("Cannot find")); if (debugLevel ? logger.isDebugEnabled() : logger.isWarnEnabled()) { String msg = "Failed to evaluate Jackson " + (type instanceof JavaType ? "de" : "") + diff --git a/spring-messaging/src/main/java/org/springframework/messaging/core/GenericMessagingTemplate.java b/spring-messaging/src/main/java/org/springframework/messaging/core/GenericMessagingTemplate.java index 95952f4b0b9..1a3a3271b4c 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/core/GenericMessagingTemplate.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/core/GenericMessagingTemplate.java @@ -176,8 +176,8 @@ public class GenericMessagingTemplate extends AbstractDestinationResolvingMessag accessor.removeHeader(this.receiveTimeoutHeader); accessor.setImmutable(); } - else if (message.getHeaders().containsKey(this.sendTimeoutHeader) - || message.getHeaders().containsKey(this.receiveTimeoutHeader)) { + else if (message.getHeaders().containsKey(this.sendTimeoutHeader) || + message.getHeaders().containsKey(this.receiveTimeoutHeader)) { messageToSend = MessageBuilder.fromMessage(message) .setHeader(this.sendTimeoutHeader, null) .setHeader(this.receiveTimeoutHeader, null) diff --git a/spring-messaging/src/main/java/org/springframework/messaging/handler/HandlerMethod.java b/spring-messaging/src/main/java/org/springframework/messaging/handler/HandlerMethod.java index 7dfd09c6f4d..9209c2f4350 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/handler/HandlerMethod.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/handler/HandlerMethod.java @@ -196,8 +196,8 @@ public class HandlerMethod extends AnnotatedMethod { @Override public boolean equals(@Nullable Object other) { - return (this == other || (super.equals(other) && other instanceof HandlerMethod otherMethod - && this.bean.equals(otherMethod.bean))); + return (this == other || (super.equals(other) && other instanceof HandlerMethod otherMethod && + this.bean.equals(otherMethod.bean))); } @Override diff --git a/spring-messaging/src/main/java/org/springframework/messaging/simp/stomp/StompEncoder.java b/spring-messaging/src/main/java/org/springframework/messaging/simp/stomp/StompEncoder.java index 8d9da03c425..fb6bb7d3ec4 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/simp/stomp/StompEncoder.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/simp/stomp/StompEncoder.java @@ -126,8 +126,8 @@ public class StompEncoder { return; } - boolean shouldEscape = (command != StompCommand.CONNECT && command != StompCommand.STOMP - && command != StompCommand.CONNECTED); + boolean shouldEscape = (command != StompCommand.CONNECT && command != StompCommand.STOMP && + command != StompCommand.CONNECTED); for (Entry> entry : nativeHeaders.entrySet()) { if (command.requiresContentLength() && "content-length".equals(entry.getKey())) { diff --git a/spring-messaging/src/test/java/org/springframework/messaging/simp/stomp/AbstractStompBrokerRelayIntegrationTests.java b/spring-messaging/src/test/java/org/springframework/messaging/simp/stomp/AbstractStompBrokerRelayIntegrationTests.java index ed1fe62fa92..0314c08d8c0 100644 --- a/spring-messaging/src/test/java/org/springframework/messaging/simp/stomp/AbstractStompBrokerRelayIntegrationTests.java +++ b/spring-messaging/src/test/java/org/springframework/messaging/simp/stomp/AbstractStompBrokerRelayIntegrationTests.java @@ -538,8 +538,8 @@ public abstract class AbstractStompBrokerRelayIntegrationTests { @Override public String toString() { - return super.toString() + ", subscriptionId=\"" + this.subscriptionId - + "\", destination=\"" + this.destination + "\", payload=\"" + getPayloadAsText() + "\""; + return super.toString() + ", subscriptionId=\"" + this.subscriptionId + + "\", destination=\"" + this.destination + "\", payload=\"" + getPayloadAsText() + "\""; } protected String getPayloadAsText() { diff --git a/spring-r2dbc/src/test/java/org/springframework/r2dbc/core/R2dbcBeanPropertyRowMapperTests.java b/spring-r2dbc/src/test/java/org/springframework/r2dbc/core/R2dbcBeanPropertyRowMapperTests.java index 192b9f655b1..e718d0cdf1c 100644 --- a/spring-r2dbc/src/test/java/org/springframework/r2dbc/core/R2dbcBeanPropertyRowMapperTests.java +++ b/spring-r2dbc/src/test/java/org/springframework/r2dbc/core/R2dbcBeanPropertyRowMapperTests.java @@ -96,8 +96,8 @@ class R2dbcBeanPropertyRowMapperTests { assertThatExceptionOfType(TypeMismatchException.class) .isThrownBy(() -> mapper.apply(EXTENDED_PERSON_ROW)) - .withMessage("Failed to convert property value of type 'java.lang.String' to required type " - + "'java.lang.String' for property 'address'; simulating type mismatch for address"); + .withMessage("Failed to convert property value of type 'java.lang.String' to required type " + + "'java.lang.String' for property 'address'; simulating type mismatch for address"); } @ParameterizedTest diff --git a/spring-test/src/main/java/org/springframework/test/context/junit/jupiter/AbstractExpressionEvaluatingCondition.java b/spring-test/src/main/java/org/springframework/test/context/junit/jupiter/AbstractExpressionEvaluatingCondition.java index c93f477b555..2e48fbc561f 100644 --- a/spring-test/src/main/java/org/springframework/test/context/junit/jupiter/AbstractExpressionEvaluatingCondition.java +++ b/spring-test/src/main/java/org/springframework/test/context/junit/jupiter/AbstractExpressionEvaluatingCondition.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2024 the original author or authors. + * Copyright 2002-2025 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. @@ -118,8 +118,8 @@ abstract class AbstractExpressionEvaluatingCondition implements ExecutionConditi if (logger.isInfoEnabled()) { logger.info(reason); } - result = (enabledOnTrue ? ConditionEvaluationResult.enabled(reason) - : ConditionEvaluationResult.disabled(reason)); + result = (enabledOnTrue ? ConditionEvaluationResult.enabled(reason) : + ConditionEvaluationResult.disabled(reason)); } else { String adjective = (enabledOnTrue ? "disabled" : "enabled"); diff --git a/spring-test/src/main/java/org/springframework/test/context/support/ContextLoaderUtils.java b/spring-test/src/main/java/org/springframework/test/context/support/ContextLoaderUtils.java index d768a8cfaf2..c435c199b2b 100644 --- a/spring-test/src/main/java/org/springframework/test/context/support/ContextLoaderUtils.java +++ b/spring-test/src/main/java/org/springframework/test/context/support/ContextLoaderUtils.java @@ -252,8 +252,8 @@ abstract class ContextLoaderUtils { // annotated class. if (currentAnnotation.equals(previousAnnotation) && hasResources(currentAnnotation)) { if (logger.isDebugEnabled()) { - logger.debug(String.format("Ignoring duplicate %s declaration on [%s], " - + "since it is also declared on [%s].", currentAnnotation, + logger.debug(String.format("Ignoring duplicate %s declaration on [%s], " + + "since it is also declared on [%s].", currentAnnotation, previousDeclaringClass.getName(), descriptor.getRootDeclaringClass().getName())); } } diff --git a/spring-test/src/main/java/org/springframework/test/context/support/DelegatingSmartContextLoader.java b/spring-test/src/main/java/org/springframework/test/context/support/DelegatingSmartContextLoader.java index 26a4cad9a31..9773943a2ed 100644 --- a/spring-test/src/main/java/org/springframework/test/context/support/DelegatingSmartContextLoader.java +++ b/spring-test/src/main/java/org/springframework/test/context/support/DelegatingSmartContextLoader.java @@ -36,12 +36,14 @@ import org.springframework.util.ClassUtils; */ public class DelegatingSmartContextLoader extends AbstractDelegatingSmartContextLoader { - private static final String GROOVY_XML_CONTEXT_LOADER_CLASS_NAME = "org.springframework.test.context.support.GenericGroovyXmlContextLoader"; + private static final String GROOVY_XML_CONTEXT_LOADER_CLASS_NAME = + "org.springframework.test.context.support.GenericGroovyXmlContextLoader"; private static final boolean groovyPresent = ClassUtils.isPresent("groovy.lang.Closure", - DelegatingSmartContextLoader.class.getClassLoader()) - && ClassUtils.isPresent(GROOVY_XML_CONTEXT_LOADER_CLASS_NAME, - DelegatingSmartContextLoader.class.getClassLoader()); + DelegatingSmartContextLoader.class.getClassLoader()) && + ClassUtils.isPresent(GROOVY_XML_CONTEXT_LOADER_CLASS_NAME, + DelegatingSmartContextLoader.class.getClassLoader()); + private final SmartContextLoader xmlLoader; private final SmartContextLoader annotationConfigLoader; @@ -55,8 +57,8 @@ public class DelegatingSmartContextLoader extends AbstractDelegatingSmartContext this.xmlLoader = (SmartContextLoader) BeanUtils.instantiateClass(loaderClass); } catch (Throwable ex) { - throw new IllegalStateException("Failed to enable support for Groovy scripts; " - + "could not load class: " + GROOVY_XML_CONTEXT_LOADER_CLASS_NAME, ex); + throw new IllegalStateException("Failed to enable support for Groovy scripts; " + + "could not load class: " + GROOVY_XML_CONTEXT_LOADER_CLASS_NAME, ex); } } else { diff --git a/spring-test/src/main/java/org/springframework/test/context/support/TestPropertySourceAttributes.java b/spring-test/src/main/java/org/springframework/test/context/support/TestPropertySourceAttributes.java index c3a43e594dc..f9dfacac4a4 100644 --- a/spring-test/src/main/java/org/springframework/test/context/support/TestPropertySourceAttributes.java +++ b/spring-test/src/main/java/org/springframework/test/context/support/TestPropertySourceAttributes.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2024 the original author or authors. + * Copyright 2002-2025 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. @@ -92,9 +92,9 @@ class TestPropertySourceAttributes { */ void mergeWith(TestPropertySourceAttributes attributes) { Assert.state(attributes.declaringClass == this.declaringClass, - () -> "Detected @TestPropertySource declarations within an aggregate index " - + "with different sources: " + this.declaringClass.getName() + " and " - + attributes.declaringClass.getName()); + () -> "Detected @TestPropertySource declarations within an aggregate index " + + "with different sources: " + this.declaringClass.getName() + " and " + + attributes.declaringClass.getName()); logger.trace(LogMessage.format("Retrieved %s for declaring class [%s].", attributes, this.declaringClass.getName())); assertSameBooleanAttribute(this.inheritLocations, attributes.inheritLocations, diff --git a/spring-test/src/main/java/org/springframework/test/context/web/WebDelegatingSmartContextLoader.java b/spring-test/src/main/java/org/springframework/test/context/web/WebDelegatingSmartContextLoader.java index 7298a632ff4..9973298602c 100644 --- a/spring-test/src/main/java/org/springframework/test/context/web/WebDelegatingSmartContextLoader.java +++ b/spring-test/src/main/java/org/springframework/test/context/web/WebDelegatingSmartContextLoader.java @@ -39,9 +39,9 @@ public class WebDelegatingSmartContextLoader extends AbstractDelegatingSmartCont private static final String GROOVY_XML_WEB_CONTEXT_LOADER_CLASS_NAME = "org.springframework.test.context.web.GenericGroovyXmlWebContextLoader"; private static final boolean groovyPresent = ClassUtils.isPresent("groovy.lang.Closure", - WebDelegatingSmartContextLoader.class.getClassLoader()) - && ClassUtils.isPresent(GROOVY_XML_WEB_CONTEXT_LOADER_CLASS_NAME, - WebDelegatingSmartContextLoader.class.getClassLoader()); + WebDelegatingSmartContextLoader.class.getClassLoader()) && + ClassUtils.isPresent(GROOVY_XML_WEB_CONTEXT_LOADER_CLASS_NAME, + WebDelegatingSmartContextLoader.class.getClassLoader()); private final SmartContextLoader xmlLoader; private final SmartContextLoader annotationConfigLoader; @@ -55,8 +55,8 @@ public class WebDelegatingSmartContextLoader extends AbstractDelegatingSmartCont this.xmlLoader = (SmartContextLoader) BeanUtils.instantiateClass(loaderClass); } catch (Throwable ex) { - throw new IllegalStateException("Failed to enable support for Groovy scripts; " - + "could not load class: " + GROOVY_XML_WEB_CONTEXT_LOADER_CLASS_NAME, ex); + throw new IllegalStateException("Failed to enable support for Groovy scripts; " + + "could not load class: " + GROOVY_XML_WEB_CONTEXT_LOADER_CLASS_NAME, ex); } } else { diff --git a/spring-test/src/main/java/org/springframework/test/json/JsonAssert.java b/spring-test/src/main/java/org/springframework/test/json/JsonAssert.java index a8d2bf404ac..78e3fcd75af 100644 --- a/spring-test/src/main/java/org/springframework/test/json/JsonAssert.java +++ b/spring-test/src/main/java/org/springframework/test/json/JsonAssert.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2024 the original author or authors. + * Copyright 2002-2025 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. @@ -41,8 +41,8 @@ public abstract class JsonAssert { * @see JSONCompareMode#LENIENT */ public static JsonComparator comparator(JsonCompareMode compareMode) { - JSONCompareMode jsonAssertCompareMode = (compareMode != JsonCompareMode.LENIENT - ? JSONCompareMode.STRICT : JSONCompareMode.LENIENT); + JSONCompareMode jsonAssertCompareMode = (compareMode != JsonCompareMode.LENIENT ? + JSONCompareMode.STRICT : JSONCompareMode.LENIENT); return comparator(jsonAssertCompareMode); } @@ -81,18 +81,14 @@ public abstract class JsonAssert { @Override public JsonComparison compare(@Nullable String expectedJson, @Nullable String actualJson) { if (actualJson == null) { - return (expectedJson != null) - ? JsonComparison.mismatch("Expected null JSON") - : JsonComparison.match(); + return (expectedJson != null) ? JsonComparison.mismatch("Expected null JSON") : JsonComparison.match(); } if (expectedJson == null) { return JsonComparison.mismatch("Expected non-null JSON"); } try { JSONCompareResult result = JSONCompare.compareJSON(expectedJson, actualJson, this.jsonAssertComparator); - return (!result.passed()) - ? JsonComparison.mismatch(result.getMessage()) - : JsonComparison.match(); + return (!result.passed()) ? JsonComparison.mismatch(result.getMessage()) : JsonComparison.match(); } catch (JSONException ex) { throw new IllegalStateException(ex); diff --git a/spring-test/src/test/java/org/springframework/test/annotation/ProfileValueUtilsTests.java b/spring-test/src/test/java/org/springframework/test/annotation/ProfileValueUtilsTests.java index cda7ef18052..c5c82c39729 100644 --- a/spring-test/src/test/java/org/springframework/test/annotation/ProfileValueUtilsTests.java +++ b/spring-test/src/test/java/org/springframework/test/annotation/ProfileValueUtilsTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2024 the original author or authors. + * Copyright 2002-2025 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. @@ -47,35 +47,45 @@ class ProfileValueUtilsTests { } private void assertClassIsEnabled(Class testClass) { - assertThat(ProfileValueUtils.isTestEnabledInThisEnvironment(testClass)).as("Test class [" + testClass + "] should be enabled.").isTrue(); + assertThat(ProfileValueUtils.isTestEnabledInThisEnvironment(testClass)) + .as("Test class [" + testClass + "] should be enabled.") + .isTrue(); } private void assertClassIsDisabled(Class testClass) { - assertThat(ProfileValueUtils.isTestEnabledInThisEnvironment(testClass)).as("Test class [" + testClass + "] should be disabled.").isFalse(); + assertThat(ProfileValueUtils.isTestEnabledInThisEnvironment(testClass)) + .as("Test class [" + testClass + "] should be disabled.") + .isFalse(); } private void assertMethodIsEnabled(String methodName, Class testClass) throws Exception { Method testMethod = testClass.getMethod(methodName); - assertThat(ProfileValueUtils.isTestEnabledInThisEnvironment(testMethod, testClass)).as("Test method [" + testMethod + "] should be enabled.").isTrue(); + assertThat(ProfileValueUtils.isTestEnabledInThisEnvironment(testMethod, testClass)) + .as("Test method [" + testMethod + "] should be enabled.") + .isTrue(); } private void assertMethodIsDisabled(String methodName, Class testClass) throws Exception { Method testMethod = testClass.getMethod(methodName); - assertThat(ProfileValueUtils.isTestEnabledInThisEnvironment(testMethod, testClass)).as("Test method [" + testMethod + "] should be disabled.").isFalse(); + assertThat(ProfileValueUtils.isTestEnabledInThisEnvironment(testMethod, testClass)) + .as("Test method [" + testMethod + "] should be disabled.") + .isFalse(); } private void assertMethodIsEnabled(ProfileValueSource profileValueSource, String methodName, Class testClass) throws Exception { Method testMethod = testClass.getMethod(methodName); - assertThat(ProfileValueUtils.isTestEnabledInThisEnvironment(profileValueSource, testMethod, testClass)).as("Test method [" + testMethod + "] should be enabled for ProfileValueSource [" + profileValueSource - + "].").isTrue(); + assertThat(ProfileValueUtils.isTestEnabledInThisEnvironment(profileValueSource, testMethod, testClass)) + .as("Test method [" + testMethod + "] should be enabled for ProfileValueSource [" + profileValueSource + "].") + .isTrue(); } private void assertMethodIsDisabled(ProfileValueSource profileValueSource, String methodName, Class testClass) throws Exception { Method testMethod = testClass.getMethod(methodName); - assertThat(ProfileValueUtils.isTestEnabledInThisEnvironment(profileValueSource, testMethod, testClass)).as("Test method [" + testMethod + "] should be disabled for ProfileValueSource [" + profileValueSource - + "].").isFalse(); + assertThat(ProfileValueUtils.isTestEnabledInThisEnvironment(profileValueSource, testMethod, testClass)) + .as("Test method [" + testMethod + "] should be disabled for ProfileValueSource [" + profileValueSource + "].") + .isFalse(); } // ------------------------------------------------------------------- diff --git a/spring-test/src/test/java/org/springframework/test/context/junit/jupiter/FailingBeforeAndAfterMethodsSpringExtensionTests.java b/spring-test/src/test/java/org/springframework/test/context/junit/jupiter/FailingBeforeAndAfterMethodsSpringExtensionTests.java index 89df44bb8ae..8221b203d9c 100644 --- a/spring-test/src/test/java/org/springframework/test/context/junit/jupiter/FailingBeforeAndAfterMethodsSpringExtensionTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/junit/jupiter/FailingBeforeAndAfterMethodsSpringExtensionTests.java @@ -106,8 +106,8 @@ class FailingBeforeAndAfterMethodsSpringExtensionTests { } private int getExpectedFailedCount(Class testClass) { - if (testClass == AlwaysFailingBeforeTestClassTestCase.class - || testClass == AlwaysFailingAfterTestClassTestCase.class) { + if (testClass == AlwaysFailingBeforeTestClassTestCase.class || + testClass == AlwaysFailingAfterTestClassTestCase.class) { return 0; } return 1; diff --git a/spring-test/src/test/java/org/springframework/test/context/junit4/BeforeAndAfterTransactionAnnotationTests.java b/spring-test/src/test/java/org/springframework/test/context/junit4/BeforeAndAfterTransactionAnnotationTests.java index 2a1041965ea..8c2b877ecbe 100644 --- a/spring-test/src/test/java/org/springframework/test/context/junit4/BeforeAndAfterTransactionAnnotationTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/junit4/BeforeAndAfterTransactionAnnotationTests.java @@ -98,8 +98,7 @@ public class BeforeAndAfterTransactionAnnotationTests extends AbstractTransactio @Before public void before() { assertShouldBeInTransaction(); - long expected = (this.inTransaction ? 1 - : 0); + long expected = (this.inTransaction ? 1 : 0); assertThat(countRowsInPersonTable(jdbcTemplate)).as("Verifying the number of rows in the person table before a test method.").isEqualTo(expected); } diff --git a/spring-test/src/test/java/org/springframework/test/context/junit4/ClassPathResourceSpringJUnit4ClassRunnerAppCtxTests.java b/spring-test/src/test/java/org/springframework/test/context/junit4/ClassPathResourceSpringJUnit4ClassRunnerAppCtxTests.java index 869664fe0b9..cbdc15cf9ca 100644 --- a/spring-test/src/test/java/org/springframework/test/context/junit4/ClassPathResourceSpringJUnit4ClassRunnerAppCtxTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/junit4/ClassPathResourceSpringJUnit4ClassRunnerAppCtxTests.java @@ -42,8 +42,9 @@ public class ClassPathResourceSpringJUnit4ClassRunnerAppCtxTests extends SpringJ * @see SpringJUnit4ClassRunnerAppCtxTests#DEFAULT_CONTEXT_RESOURCE_PATH * @see ResourceUtils#CLASSPATH_URL_PREFIX */ - public static final String CLASSPATH_CONTEXT_RESOURCE_PATH = ResourceUtils.CLASSPATH_URL_PREFIX - + SpringJUnit4ClassRunnerAppCtxTests.DEFAULT_CONTEXT_RESOURCE_PATH; + public static final String CLASSPATH_CONTEXT_RESOURCE_PATH = ResourceUtils.CLASSPATH_URL_PREFIX + + SpringJUnit4ClassRunnerAppCtxTests.DEFAULT_CONTEXT_RESOURCE_PATH; /* all tests are in the parent class. */ + } diff --git a/spring-test/src/test/java/org/springframework/test/context/junit4/MultipleResourcesSpringJUnit4ClassRunnerAppCtxTests.java b/spring-test/src/test/java/org/springframework/test/context/junit4/MultipleResourcesSpringJUnit4ClassRunnerAppCtxTests.java index 2ecbf57c580..0206d6f39a0 100644 --- a/spring-test/src/test/java/org/springframework/test/context/junit4/MultipleResourcesSpringJUnit4ClassRunnerAppCtxTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/junit4/MultipleResourcesSpringJUnit4ClassRunnerAppCtxTests.java @@ -37,10 +37,11 @@ import org.springframework.util.ResourceUtils; MultipleResourcesSpringJUnit4ClassRunnerAppCtxTests.ABSOLUTE_RESOURCE_PATH }) public class MultipleResourcesSpringJUnit4ClassRunnerAppCtxTests extends SpringJUnit4ClassRunnerAppCtxTests { - public static final String CLASSPATH_RESOURCE_PATH = ResourceUtils.CLASSPATH_URL_PREFIX - + "/org/springframework/test/context/junit4/MultipleResourcesSpringJUnit4ClassRunnerAppCtxTests-context1.xml"; + public static final String CLASSPATH_RESOURCE_PATH = ResourceUtils.CLASSPATH_URL_PREFIX + + "/org/springframework/test/context/junit4/MultipleResourcesSpringJUnit4ClassRunnerAppCtxTests-context1.xml"; public static final String LOCAL_RESOURCE_PATH = "MultipleResourcesSpringJUnit4ClassRunnerAppCtxTests-context2.xml"; public static final String ABSOLUTE_RESOURCE_PATH = "/org/springframework/test/context/junit4/MultipleResourcesSpringJUnit4ClassRunnerAppCtxTests-context3.xml"; /* all tests are in the parent class. */ + } diff --git a/spring-test/src/test/java/org/springframework/test/context/junit4/annotation/meta/ConfigClassesAndProfileResolverWithCustomDefaultsMetaConfig.java b/spring-test/src/test/java/org/springframework/test/context/junit4/annotation/meta/ConfigClassesAndProfileResolverWithCustomDefaultsMetaConfig.java index a7a1fc8bf80..3da51489898 100644 --- a/spring-test/src/test/java/org/springframework/test/context/junit4/annotation/meta/ConfigClassesAndProfileResolverWithCustomDefaultsMetaConfig.java +++ b/spring-test/src/test/java/org/springframework/test/context/junit4/annotation/meta/ConfigClassesAndProfileResolverWithCustomDefaultsMetaConfig.java @@ -84,8 +84,8 @@ public @interface ConfigClassesAndProfileResolverWithCustomDefaultsMetaConfig { @Override public String[] resolve(Class testClass) { - return testClass.getSimpleName().equals("ConfigClassesAndProfileResolverWithCustomDefaultsMetaConfigTests") ? new String[] { "resolver" } - : new String[] {}; + return testClass.getSimpleName().equals("ConfigClassesAndProfileResolverWithCustomDefaultsMetaConfigTests") ? + new String[] { "resolver" } : new String[] {}; } } diff --git a/spring-test/src/test/java/org/springframework/test/context/support/ActiveProfilesUtilsTests.java b/spring-test/src/test/java/org/springframework/test/context/support/ActiveProfilesUtilsTests.java index ce233f7cb77..0a9113f3b9d 100644 --- a/spring-test/src/test/java/org/springframework/test/context/support/ActiveProfilesUtilsTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/support/ActiveProfilesUtilsTests.java @@ -372,8 +372,8 @@ class ActiveProfilesUtilsTests extends AbstractContextConfigurationUtilsTests { @Override public String[] resolve(Class testClass) { - return testClass.isAnnotation() ? new String[] { "@" + testClass.getSimpleName() } - : new String[] { testClass.getSimpleName() }; + return testClass.isAnnotation() ? new String[] { "@" + testClass.getSimpleName() } : + new String[] { testClass.getSimpleName() }; } } diff --git a/spring-test/src/test/java/org/springframework/test/context/web/AbstractBasicWacTests.java b/spring-test/src/test/java/org/springframework/test/context/web/AbstractBasicWacTests.java index 32a13490a22..70d7aca3197 100644 --- a/spring-test/src/test/java/org/springframework/test/context/web/AbstractBasicWacTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/web/AbstractBasicWacTests.java @@ -84,8 +84,7 @@ public abstract class AbstractBasicWacTests implements ServletContextAware { assertThat(webRequest).as("ServletWebRequest should have been autowired from the WAC.").isNotNull(); Object rootWac = mockServletContext.getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE); - assertThat(rootWac).as("Root WAC must be stored in the ServletContext as: " - + WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE).isNotNull(); + assertThat(rootWac).as("Root WAC must be stored in the ServletContext as: " + WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE).isNotNull(); assertThat(rootWac).as("test WAC and Root WAC in ServletContext must be the same object.").isSameAs(wac); assertThat(wac.getServletContext()).as("ServletContext instances must be the same object.").isSameAs(mockServletContext); assertThat(request.getServletContext()).as("ServletContext in the WAC and in the mock request").isSameAs(mockServletContext); diff --git a/spring-test/src/test/java/org/springframework/test/context/web/JUnit4SpringContextWebTests.java b/spring-test/src/test/java/org/springframework/test/context/web/JUnit4SpringContextWebTests.java index a24e430b87d..b512ceefdfe 100644 --- a/spring-test/src/test/java/org/springframework/test/context/web/JUnit4SpringContextWebTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/web/JUnit4SpringContextWebTests.java @@ -99,8 +99,7 @@ public class JUnit4SpringContextWebTests extends AbstractJUnit4SpringContextTest assertThat(webRequest).as("ServletWebRequest should have been autowired from the WAC.").isNotNull(); Object rootWac = mockServletContext.getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE); - assertThat(rootWac).as("Root WAC must be stored in the ServletContext as: " - + WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE).isNotNull(); + assertThat(rootWac).as("Root WAC must be stored in the ServletContext as: " + WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE).isNotNull(); assertThat(rootWac).as("test WAC and Root WAC in ServletContext must be the same object.").isSameAs(wac); assertThat(wac.getServletContext()).as("ServletContext instances must be the same object.").isSameAs(mockServletContext); assertThat(request.getServletContext()).as("ServletContext in the WAC and in the mock request").isSameAs(mockServletContext); diff --git a/spring-test/src/test/java/org/springframework/test/context/web/MetaAnnotationConfigWacTests.java b/spring-test/src/test/java/org/springframework/test/context/web/MetaAnnotationConfigWacTests.java index 373780b0768..d821d4e49e8 100644 --- a/spring-test/src/test/java/org/springframework/test/context/web/MetaAnnotationConfigWacTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/web/MetaAnnotationConfigWacTests.java @@ -63,8 +63,7 @@ class MetaAnnotationConfigWacTests { assertThat(mockServletContext).as("ServletContext should have been autowired from the WAC.").isNotNull(); Object rootWac = mockServletContext.getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE); - assertThat(rootWac).as("Root WAC must be stored in the ServletContext as: " - + WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE).isNotNull(); + assertThat(rootWac).as("Root WAC must be stored in the ServletContext as: " + WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE).isNotNull(); assertThat(rootWac).as("test WAC and Root WAC in ServletContext must be the same object.").isSameAs(wac); assertThat(wac.getServletContext()).as("ServletContext instances must be the same object.").isSameAs(mockServletContext); diff --git a/spring-test/src/test/java/org/springframework/test/web/Person.java b/spring-test/src/test/java/org/springframework/test/web/Person.java index c3f11753b7b..9a5f2381cae 100644 --- a/spring-test/src/test/java/org/springframework/test/web/Person.java +++ b/spring-test/src/test/java/org/springframework/test/web/Person.java @@ -81,8 +81,8 @@ public class Person { @Override public String toString() { - return "Person [name=" + this.name + ", someDouble=" + this.someDouble - + ", someBoolean=" + this.someBoolean + "]"; + return "Person [name=" + this.name + ", someDouble=" + this.someDouble + + ", someBoolean=" + this.someBoolean + "]"; } } diff --git a/spring-test/src/test/java/org/springframework/test/web/reactive/server/samples/XmlContentTests.java b/spring-test/src/test/java/org/springframework/test/web/reactive/server/samples/XmlContentTests.java index c913d323522..a420cc4a213 100644 --- a/spring-test/src/test/java/org/springframework/test/web/reactive/server/samples/XmlContentTests.java +++ b/spring-test/src/test/java/org/springframework/test/web/reactive/server/samples/XmlContentTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2025 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. @@ -48,13 +48,14 @@ import static org.hamcrest.Matchers.startsWith; */ class XmlContentTests { - private static final String persons_XML = - "" - + "" - + "Jane" - + "Jason" - + "John" - + ""; + private static final String persons_XML = """ + + + Jane + Jason + John + + """; private final WebTestClient client = WebTestClient.bindToController(new PersonController()).build(); diff --git a/spring-test/src/test/java/org/springframework/test/web/servlet/htmlunit/HtmlUnitRequestBuilderTests.java b/spring-test/src/test/java/org/springframework/test/web/servlet/htmlunit/HtmlUnitRequestBuilderTests.java index 96073fa71d3..718fb1702ee 100644 --- a/spring-test/src/test/java/org/springframework/test/web/servlet/htmlunit/HtmlUnitRequestBuilderTests.java +++ b/spring-test/src/test/java/org/springframework/test/web/servlet/htmlunit/HtmlUnitRequestBuilderTests.java @@ -706,8 +706,7 @@ public class HtmlUnitRequestBuilderTests { webRequest.setAdditionalHeader("Cookie", "JSESSIONID=" + sessionId + "NEW"); actualRequest = requestBuilder.buildRequest(servletContext); assertThat(actualRequest.getSession()).isNotEqualTo(session); - assertSingleSessionCookie("JSESSIONID=" + actualRequest.getSession().getId() - + "; Path=/test; Domain=example.com"); + assertSingleSessionCookie("JSESSIONID=" + actualRequest.getSession().getId() + "; Path=/test; Domain=example.com"); } @Test @@ -763,8 +762,8 @@ public class HtmlUnitRequestBuilderTests { sessionToRemove.invalidate(); assertThat(sessions.containsKey(sessionToRemove.getId())).isFalse(); - assertSingleSessionCookie("JSESSIONID=" + sessionToRemove.getId() - + "; Expires=Thu, 01-Jan-1970 00:00:01 GMT; Path=/test; Domain=example.com"); + assertSingleSessionCookie("JSESSIONID=" + sessionToRemove.getId() + + "; Expires=Thu, 01-Jan-1970 00:00:01 GMT; Path=/test; Domain=example.com"); webRequest.removeAdditionalHeader("Cookie"); requestBuilder = new HtmlUnitRequestBuilder(sessions, webClient, webRequest); diff --git a/spring-web/src/main/java/org/springframework/http/codec/multipart/MultipartParser.java b/spring-web/src/main/java/org/springframework/http/codec/multipart/MultipartParser.java index 04a658e01ad..25390ad7a7d 100644 --- a/spring-web/src/main/java/org/springframework/http/codec/multipart/MultipartParser.java +++ b/spring-web/src/main/java/org/springframework/http/codec/multipart/MultipartParser.java @@ -416,14 +416,13 @@ final class MultipartParser extends BaseSubscriber { */ private boolean isLastBoundary(DataBuffer buf) { return (this.buffers.isEmpty() && - buf.readableByteCount() >= 2 && - buf.getByte(0) == HYPHEN && buf.getByte(1) == HYPHEN) - || + buf.readableByteCount() >= 2 && + buf.getByte(0) == HYPHEN && buf.getByte(1) == HYPHEN) || (this.buffers.size() == 1 && - this.buffers.get(0).readableByteCount() == 1 && - this.buffers.get(0).getByte(0) == HYPHEN && - buf.readableByteCount() >= 1 && - buf.getByte(0) == HYPHEN); + this.buffers.get(0).readableByteCount() == 1 && + this.buffers.get(0).getByte(0) == HYPHEN && + buf.readableByteCount() >= 1 && + buf.getByte(0) == HYPHEN); } /** diff --git a/spring-web/src/main/java/org/springframework/http/codec/multipart/MultipartUtils.java b/spring-web/src/main/java/org/springframework/http/codec/multipart/MultipartUtils.java index b7e4d07db0f..0bb5f715888 100644 --- a/spring-web/src/main/java/org/springframework/http/codec/multipart/MultipartUtils.java +++ b/spring-web/src/main/java/org/springframework/http/codec/multipart/MultipartUtils.java @@ -104,7 +104,7 @@ abstract class MultipartUtils { public static boolean isFormField(HttpHeaders headers) { MediaType contentType = headers.getContentType(); - return (contentType == null || MediaType.TEXT_PLAIN.equalsTypeAndSubtype(contentType)) - && headers.getContentDisposition().getFilename() == null; + return (contentType == null || MediaType.TEXT_PLAIN.equalsTypeAndSubtype(contentType)) && + headers.getContentDisposition().getFilename() == null; } } diff --git a/spring-web/src/main/java/org/springframework/http/codec/multipart/PartEventHttpMessageReader.java b/spring-web/src/main/java/org/springframework/http/codec/multipart/PartEventHttpMessageReader.java index 68dc17e57fb..964d124e2b9 100644 --- a/spring-web/src/main/java/org/springframework/http/codec/multipart/PartEventHttpMessageReader.java +++ b/spring-web/src/main/java/org/springframework/http/codec/multipart/PartEventHttpMessageReader.java @@ -212,8 +212,8 @@ public class PartEventHttpMessageReader extends LoggingCodecSupport implements H this.maxPartSize + " bytes")); } else { - return isFilePart ? Mono.just(DefaultPartEvents.file(headers, buffer, body.isLast())) - : Mono.just(DefaultPartEvents.create(headers, body.buffer(), body.isLast())); + return (isFilePart ? Mono.just(DefaultPartEvents.file(headers, buffer, body.isLast())) : + Mono.just(DefaultPartEvents.create(headers, body.buffer(), body.isLast()))); } }) .switchIfEmpty(Mono.fromCallable(() -> diff --git a/spring-web/src/main/java/org/springframework/http/codec/multipart/PartGenerator.java b/spring-web/src/main/java/org/springframework/http/codec/multipart/PartGenerator.java index cb7b94b8bdb..62838ef7bbf 100644 --- a/spring-web/src/main/java/org/springframework/http/codec/multipart/PartGenerator.java +++ b/spring-web/src/main/java/org/springframework/http/codec/multipart/PartGenerator.java @@ -163,9 +163,8 @@ final class PartGenerator extends BaseSubscriber { return true; } else { - logger.warn("Could not switch from " + oldState + - " to " + newState + "; current state:" - + this.state.get()); + logger.warn("Could not switch from " + oldState + " to " + newState + + "; current state:" + this.state.get()); return false; } } diff --git a/spring-web/src/main/java/org/springframework/web/cors/CorsConfiguration.java b/spring-web/src/main/java/org/springframework/web/cors/CorsConfiguration.java index fced7fcba40..609bab7e980 100644 --- a/spring-web/src/main/java/org/springframework/web/cors/CorsConfiguration.java +++ b/spring-web/src/main/java/org/springframework/web/cors/CorsConfiguration.java @@ -752,8 +752,8 @@ public class CorsConfiguration { } boolean allowAnyHeader = this.allowedHeaders.contains(ALL); - int maxResultSize = allowAnyHeader ? requestHeaders.size() - : Math.min(requestHeaders.size(), this.allowedHeaders.size()); + int maxResultSize = (allowAnyHeader ? requestHeaders.size() : + Math.min(requestHeaders.size(), this.allowedHeaders.size())); List result = new ArrayList<>(maxResultSize); for (String requestHeader : requestHeaders) { if (StringUtils.hasText(requestHeader)) { diff --git a/spring-web/src/main/java/org/springframework/web/cors/reactive/CorsUtils.java b/spring-web/src/main/java/org/springframework/web/cors/reactive/CorsUtils.java index c5256f24d6f..394df76441e 100644 --- a/spring-web/src/main/java/org/springframework/web/cors/reactive/CorsUtils.java +++ b/spring-web/src/main/java/org/springframework/web/cors/reactive/CorsUtils.java @@ -50,9 +50,8 @@ public abstract class CorsUtils { */ public static boolean isPreFlightRequest(ServerHttpRequest request) { HttpHeaders headers = request.getHeaders(); - return (request.getMethod() == HttpMethod.OPTIONS - && headers.containsKey(HttpHeaders.ORIGIN) - && headers.containsKey(HttpHeaders.ACCESS_CONTROL_REQUEST_METHOD)); + return (request.getMethod() == HttpMethod.OPTIONS && headers.containsKey(HttpHeaders.ORIGIN) && + headers.containsKey(HttpHeaders.ACCESS_CONTROL_REQUEST_METHOD)); } /** diff --git a/spring-web/src/main/java/org/springframework/web/method/support/InvocableHandlerMethod.java b/spring-web/src/main/java/org/springframework/web/method/support/InvocableHandlerMethod.java index 6e2916f1a4a..5ef91ce2226 100644 --- a/spring-web/src/main/java/org/springframework/web/method/support/InvocableHandlerMethod.java +++ b/spring-web/src/main/java/org/springframework/web/method/support/InvocableHandlerMethod.java @@ -321,9 +321,9 @@ public class InvocableHandlerMethod extends HandlerMethod { Object arg = args[index]; if (!(parameter.isOptional() && arg == null)) { KType type = parameter.getType(); - if (!(type.isMarkedNullable() && arg == null) - && type.getClassifier() instanceof KClass kClass - && KotlinDetector.isInlineClass(JvmClassMappingKt.getJavaClass(kClass))) { + if (!(type.isMarkedNullable() && arg == null) && + type.getClassifier() instanceof KClass kClass && + KotlinDetector.isInlineClass(JvmClassMappingKt.getJavaClass(kClass))) { arg = box(kClass, arg); } argMap.put(parameter, arg); @@ -342,9 +342,9 @@ public class InvocableHandlerMethod extends HandlerMethod { private static Object box(KClass kClass, @Nullable Object arg) { KFunction constructor = Objects.requireNonNull(KClasses.getPrimaryConstructor(kClass)); KType type = constructor.getParameters().get(0).getType(); - if (!(type.isMarkedNullable() && arg == null) - && type.getClassifier() instanceof KClass parameterClass - && KotlinDetector.isInlineClass(JvmClassMappingKt.getJavaClass(parameterClass))) { + if (!(type.isMarkedNullable() && arg == null) && + type.getClassifier() instanceof KClass parameterClass && + KotlinDetector.isInlineClass(JvmClassMappingKt.getJavaClass(parameterClass))) { arg = box(parameterClass, arg); } if (!KCallablesJvm.isAccessible(constructor)) { diff --git a/spring-web/src/test/java/org/springframework/http/server/reactive/ErrorHandlerIntegrationTests.java b/spring-web/src/test/java/org/springframework/http/server/reactive/ErrorHandlerIntegrationTests.java index 145d6a8cedc..6bf4bc54977 100644 --- a/spring-web/src/test/java/org/springframework/http/server/reactive/ErrorHandlerIntegrationTests.java +++ b/spring-web/src/test/java/org/springframework/http/server/reactive/ErrorHandlerIntegrationTests.java @@ -88,8 +88,8 @@ class ErrorHandlerIntegrationTests extends AbstractHttpHandlerIntegrationTests { // but an application can apply CompactPathRule via RewriteHandler: // https://www.eclipse.org/jetty/documentation/jetty-11/programming_guide.php - HttpStatus expectedStatus = (httpServer instanceof JettyHttpServer || httpServer instanceof JettyCoreHttpServer - ? HttpStatus.BAD_REQUEST : HttpStatus.OK); + HttpStatus expectedStatus = (httpServer instanceof JettyHttpServer || httpServer instanceof JettyCoreHttpServer ? + HttpStatus.BAD_REQUEST : HttpStatus.OK); assertThat(response.getStatusCode()).isEqualTo(expectedStatus); } diff --git a/spring-web/src/test/java/org/springframework/http/server/reactive/ZeroCopyIntegrationTests.java b/spring-web/src/test/java/org/springframework/http/server/reactive/ZeroCopyIntegrationTests.java index eb243953e08..82e7652b0a4 100644 --- a/spring-web/src/test/java/org/springframework/http/server/reactive/ZeroCopyIntegrationTests.java +++ b/spring-web/src/test/java/org/springframework/http/server/reactive/ZeroCopyIntegrationTests.java @@ -55,8 +55,8 @@ class ZeroCopyIntegrationTests extends AbstractHttpHandlerIntegrationTests { @ParameterizedHttpServerTest void zeroCopy(HttpServer httpServer) throws Exception { - assumeTrue(httpServer instanceof ReactorHttpServer || httpServer instanceof UndertowHttpServer - || httpServer instanceof JettyCoreHttpServer, "Zero-copy does not support Servlet"); + assumeTrue(httpServer instanceof ReactorHttpServer || httpServer instanceof UndertowHttpServer || + httpServer instanceof JettyCoreHttpServer, "Zero-copy does not support Servlet"); startServer(httpServer); diff --git a/spring-web/src/test/java/org/springframework/web/filter/RequestLoggingFilterTests.java b/spring-web/src/test/java/org/springframework/web/filter/RequestLoggingFilterTests.java index f8d66ba991c..f7d10f97669 100644 --- a/spring-web/src/test/java/org/springframework/web/filter/RequestLoggingFilterTests.java +++ b/spring-web/src/test/java/org/springframework/web/filter/RequestLoggingFilterTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2024 the original author or authors. + * Copyright 2002-2025 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. @@ -258,23 +258,25 @@ class RequestLoggingFilterTests { filter.doFilter(request, response, filterChain); assertThat(filter.beforeRequestMessage) - .isEqualTo("Before request [" - + "POST /hotels?booking=42" - + ", client=4.2.2.2" - + ", session=42" - + ", user=Arthur" - + ", headers=[Content-Type:\"application/json;charset=ISO-8859-1\", Content-Length:\"22\"]" - + "]"); + .isEqualTo(""" + Before request [\ + POST /hotels?booking=42, \ + client=4.2.2.2, \ + session=42, \ + user=Arthur, \ + headers=[Content-Type:"application/json;charset=ISO-8859-1", Content-Length:"22"]\ + ]"""); assertThat(filter.afterRequestMessage) - .isEqualTo("After request [" - + "POST /hotels?booking=42" - + ", client=4.2.2.2" - + ", session=42" - + ", user=Arthur" - + ", headers=[Content-Type:\"application/json;charset=ISO-8859-1\", Content-Length:\"22\"]" - + ", payload={\"msg\": \"Hello World\"}" - + "]"); + .isEqualTo(""" + After request [\ + POST /hotels?booking=42, \ + client=4.2.2.2, \ + session=42, \ + user=Arthur, \ + headers=[Content-Type:"application/json;charset=ISO-8859-1", Content-Length:"22"], \ + payload={"msg": "Hello World"}\ + ]"""); } private void applyFilter() throws Exception { diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/accept/RequestedContentTypeResolverBuilder.java b/spring-webflux/src/main/java/org/springframework/web/reactive/accept/RequestedContentTypeResolverBuilder.java index b74cc841f95..bb9087ca82d 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/accept/RequestedContentTypeResolverBuilder.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/accept/RequestedContentTypeResolverBuilder.java @@ -103,8 +103,7 @@ public class RequestedContentTypeResolverBuilder { } private boolean isMediaTypeAll(List mediaTypes) { - return mediaTypes.size() == 1 - && mediaTypes.get(0).removeQualityValue().equals(MediaType.ALL); + return mediaTypes.size() == 1 && mediaTypes.get(0).removeQualityValue().equals(MediaType.ALL); } diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/InvocableHandlerMethod.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/InvocableHandlerMethod.java index 2effeb2ee2d..2508a55a0e5 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/InvocableHandlerMethod.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/InvocableHandlerMethod.java @@ -360,9 +360,9 @@ public class InvocableHandlerMethod extends HandlerMethod { Object arg = args[index]; if (!(parameter.isOptional() && arg == null)) { KType type = parameter.getType(); - if (!(type.isMarkedNullable() && arg == null) - && type.getClassifier() instanceof KClass kClass - && KotlinDetector.isInlineClass(JvmClassMappingKt.getJavaClass(kClass))) { + if (!(type.isMarkedNullable() && arg == null) && + type.getClassifier() instanceof KClass kClass && + KotlinDetector.isInlineClass(JvmClassMappingKt.getJavaClass(kClass))) { arg = box(kClass, arg); } argMap.put(parameter, arg); @@ -382,9 +382,9 @@ public class InvocableHandlerMethod extends HandlerMethod { private static Object box(KClass kClass, @Nullable Object arg) { KFunction constructor = Objects.requireNonNull(KClasses.getPrimaryConstructor(kClass)); KType type = constructor.getParameters().get(0).getType(); - if (!(type.isMarkedNullable() && arg == null) - && type.getClassifier() instanceof KClass parameterClass - && KotlinDetector.isInlineClass(JvmClassMappingKt.getJavaClass(parameterClass))) { + if (!(type.isMarkedNullable() && arg == null) && + type.getClassifier() instanceof KClass parameterClass && + KotlinDetector.isInlineClass(JvmClassMappingKt.getJavaClass(parameterClass))) { arg = box(parameterClass, arg); } if (!KCallablesJvm.isAccessible(constructor)) { diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestMappingHandlerAdapter.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestMappingHandlerAdapter.java index 071ddc37c89..a867ae9fc65 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestMappingHandlerAdapter.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestMappingHandlerAdapter.java @@ -373,8 +373,8 @@ public class RequestMappingHandlerAdapter @Override public boolean test(HandlerMethod handlerMethod) { Class returnType = handlerMethod.getReturnType().getParameterType(); - return (this.adapterRegistry.getAdapter(returnType) == null - && !KotlinDetector.isSuspendingFunction(handlerMethod.getMethod())); + return (this.adapterRegistry.getAdapter(returnType) == null && + !KotlinDetector.isSuspendingFunction(handlerMethod.getMethod())); } } diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/NestedRouteIntegrationTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/NestedRouteIntegrationTests.java index 6d9d35cee97..ff6b999961b 100644 --- a/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/NestedRouteIntegrationTests.java +++ b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/NestedRouteIntegrationTests.java @@ -149,8 +149,8 @@ class NestedRouteIntegrationTests extends AbstractRouterFunctionIntegrationTests Map pathVariables = request.pathVariables(); Map attributePathVariables = (Map) request.attributes().get(RouterFunctions.URI_TEMPLATE_VARIABLES_ATTRIBUTE); - assertThat((pathVariables.equals(attributePathVariables)) - || (pathVariables.isEmpty() && (attributePathVariables == null))).isTrue(); + assertThat((pathVariables.equals(attributePathVariables)) || + (pathVariables.isEmpty() && (attributePathVariables == null))).isTrue(); PathPattern pathPattern = matchingPattern(request); String pattern = pathPattern != null ? pathPattern.getPatternString() : ""; diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/HttpEntityMethodProcessor.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/HttpEntityMethodProcessor.java index 31323f81e8b..6169489ca0e 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/HttpEntityMethodProcessor.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/HttpEntityMethodProcessor.java @@ -245,8 +245,8 @@ public class HttpEntityMethodProcessor extends AbstractMessageConverterMethodPro outputMessage.getServletResponse().setStatus(returnStatus.value()); if (returnStatus.value() == HttpStatus.OK.value()) { HttpMethod method = inputMessage.getMethod(); - if ((HttpMethod.GET.equals(method) || HttpMethod.HEAD.equals(method)) - && isResourceNotModified(inputMessage, outputMessage)) { + if ((HttpMethod.GET.equals(method) || HttpMethod.HEAD.equals(method)) && + isResourceNotModified(inputMessage, outputMessage)) { outputMessage.flush(); return; } diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/MvcUriComponentsBuilder.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/MvcUriComponentsBuilder.java index 64ad6f1db12..062e6f38ef0 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/MvcUriComponentsBuilder.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/MvcUriComponentsBuilder.java @@ -666,8 +666,8 @@ public class MvcUriComponentsBuilder { private static String resolveEmbeddedValue(String value) { if (value.contains(SystemPropertyUtils.PLACEHOLDER_PREFIX)) { WebApplicationContext webApplicationContext = getWebApplicationContext(); - if (webApplicationContext != null - && webApplicationContext.getAutowireCapableBeanFactory() instanceof ConfigurableBeanFactory cbf) { + if (webApplicationContext != null && + webApplicationContext.getAutowireCapableBeanFactory() instanceof ConfigurableBeanFactory cbf) { String resolvedEmbeddedValue = cbf.resolveEmbeddedValue(value); if (resolvedEmbeddedValue != null) { return resolvedEmbeddedValue; diff --git a/spring-webmvc/src/test/java/org/springframework/web/context/ContextLoaderTests.java b/spring-webmvc/src/test/java/org/springframework/web/context/ContextLoaderTests.java index 2f5a1d8eca9..4b5dba4e644 100644 --- a/spring-webmvc/src/test/java/org/springframework/web/context/ContextLoaderTests.java +++ b/spring-webmvc/src/test/java/org/springframework/web/context/ContextLoaderTests.java @@ -294,8 +294,8 @@ class ContextLoaderTests { @Test void frameworkServletWithCustomLocation() throws Exception { DispatcherServlet servlet = new DispatcherServlet(); - servlet.setContextConfigLocation("/org/springframework/web/context/WEB-INF/testNamespace.xml " - + "/org/springframework/web/context/WEB-INF/context-addition.xml"); + servlet.setContextConfigLocation("/org/springframework/web/context/WEB-INF/testNamespace.xml " + + "/org/springframework/web/context/WEB-INF/context-addition.xml"); servlet.init(new MockServletConfig(new MockServletContext(""), "test")); assertThat(servlet.getWebApplicationContext().containsBean("kerry")).isTrue(); assertThat(servlet.getWebApplicationContext().containsBean("kerryX")).isTrue(); diff --git a/spring-webmvc/src/test/java/org/springframework/web/servlet/view/InternalResourceViewTests.java b/spring-webmvc/src/test/java/org/springframework/web/servlet/view/InternalResourceViewTests.java index 2c782869a61..5d017ae1944 100644 --- a/spring-webmvc/src/test/java/org/springframework/web/servlet/view/InternalResourceViewTests.java +++ b/spring-webmvc/src/test/java/org/springframework/web/servlet/view/InternalResourceViewTests.java @@ -82,8 +82,8 @@ class InternalResourceViewTests { view.render(model, request, response); assertThat(response.getForwardedUrl()).isEqualTo(url); - model.forEach((key, value) -> assertThat(request.getAttribute(key)).as("Values for model key '" + key - + "' must match").isEqualTo(value)); + model.forEach((key, value) -> assertThat(request.getAttribute(key)) + .as("Values for model key '%s' must match", key).isEqualTo(value)); } @Test diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/SockJsMessageDeliveryException.java b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/SockJsMessageDeliveryException.java index 59a988daa62..f7ca9351fee 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/SockJsMessageDeliveryException.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/SockJsMessageDeliveryException.java @@ -41,8 +41,8 @@ public class SockJsMessageDeliveryException extends SockJsException { } public SockJsMessageDeliveryException(String sessionId, List undeliveredMessages, String message) { - super("Failed to deliver message(s) " + undeliveredMessages + " for session " - + sessionId + ": " + message, sessionId, null); + super("Failed to deliver message(s) " + undeliveredMessages + " for session " + sessionId + ": " + message, + sessionId, null); this.undeliveredMessages = undeliveredMessages; } diff --git a/src/checkstyle/checkstyle-suppressions.xml b/src/checkstyle/checkstyle-suppressions.xml index 2337e87c697..791d7086789 100644 --- a/src/checkstyle/checkstyle-suppressions.xml +++ b/src/checkstyle/checkstyle-suppressions.xml @@ -55,6 +55,7 @@ + @@ -140,6 +141,7 @@ + diff --git a/src/checkstyle/checkstyle.xml b/src/checkstyle/checkstyle.xml index 66b308424e3..0115fddad2b 100644 --- a/src/checkstyle/checkstyle.xml +++ b/src/checkstyle/checkstyle.xml @@ -215,6 +215,14 @@ + + + + + + +