From b6aa6899a89da01a93d7e45f219fc2c0aacd633b Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Tue, 24 Jun 2025 21:58:39 +0200 Subject: [PATCH] Polishing --- .../aot/BeanRegistrationAotContribution.java | 6 ++--- .../aot/BeanRegistrationCodeFragments.java | 25 +++++++++---------- .../aot/BeanRegistrationCodeGenerator.java | 1 + .../DefaultBeanRegistrationCodeFragments.java | 2 +- ...FactoryInitializationAotContributions.java | 20 +++++++-------- .../hibernate5/HibernateQueryException.java | 4 +-- .../LocalSessionFactoryBuilder.java | 9 +++---- 7 files changed, 30 insertions(+), 37 deletions(-) diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanRegistrationAotContribution.java b/spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanRegistrationAotContribution.java index 3989a142c0d..851283d2c2a 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanRegistrationAotContribution.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanRegistrationAotContribution.java @@ -40,8 +40,7 @@ public interface BeanRegistrationAotContribution { * default code generation isn't suitable. * @param generationContext the generation context * @param codeFragments the existing code fragments - * @return the code fragments to use, may be the original instance or a - * wrapper + * @return the code fragments to use, may be the original instance or a wrapper */ default BeanRegistrationCodeFragments customizeBeanRegistrationCodeFragments( GenerationContext generationContext, BeanRegistrationCodeFragments codeFragments) { @@ -77,8 +76,7 @@ public interface BeanRegistrationAotContribution { return defaultCodeFragments.apply(codeFragments); } @Override - public void applyTo(GenerationContext generationContext, - BeanRegistrationCode beanRegistrationCode) { + public void applyTo(GenerationContext generationContext, BeanRegistrationCode beanRegistrationCode) { } }; } diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanRegistrationCodeFragments.java b/spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanRegistrationCodeFragments.java index 5d391c541c6..cc7dc90d8e4 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanRegistrationCodeFragments.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanRegistrationCodeFragments.java @@ -31,14 +31,15 @@ import org.springframework.javapoet.CodeBlock; /** * Generate the various fragments of code needed to register a bean. - *

- * A default implementation is provided that suits most needs and custom code + * + *

A default implementation is provided that suits most needs and custom code * fragments are only expected to be used by library authors having built custom * arrangement on top of the core container. - *

- * Users are not expected to implement this interface directly, but rather extends - * from {@link BeanRegistrationCodeFragmentsDecorator} and only override the - * necessary method(s). + * + *

Users are not expected to implement this interface directly, but rather + * extends from {@link BeanRegistrationCodeFragmentsDecorator} and only override + * the necessary method(s). + * * @author Phillip Webb * @author Stephane Nicoll * @since 6.0 @@ -48,12 +49,12 @@ import org.springframework.javapoet.CodeBlock; public interface BeanRegistrationCodeFragments { /** - * The variable name to used when creating the bean definition. + * The variable name used when creating the bean definition. */ String BEAN_DEFINITION_VARIABLE = "beanDefinition"; /** - * The variable name to used when creating the bean definition. + * The variable name used when creating the bean definition. */ String INSTANCE_SUPPLIER_VARIABLE = "instanceSupplier"; @@ -69,8 +70,7 @@ public interface BeanRegistrationCodeFragments { /** * Generate the code that defines the new bean definition instance. - *

- * This should declare a variable named {@value BEAN_DEFINITION_VARIABLE} + *

This should declare a variable named {@value BEAN_DEFINITION_VARIABLE} * so that further fragments can refer to the variable to further tune * the bean definition. * @param generationContext the generation context @@ -94,14 +94,13 @@ public interface BeanRegistrationCodeFragments { /** * Generate the code that sets the instance supplier on the bean definition. - *

- * The {@code postProcessors} represent methods to be exposed once the + *

The {@code postProcessors} represent methods to be exposed once the * instance has been created to further configure it. Each method should * accept two parameters, the {@link RegisteredBean} and the bean * instance, and should return the modified bean instance. * @param generationContext the generation context * @param beanRegistrationCode the bean registration code - * @param instanceSupplierCode the instance supplier code supplier code + * @param instanceSupplierCode the instance supplier code * @param postProcessors any instance post processors that should be applied * @return the generated code * @see #generateInstanceSupplierCode diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanRegistrationCodeGenerator.java b/spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanRegistrationCodeGenerator.java index ee814c7b64e..5ef293f128b 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanRegistrationCodeGenerator.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanRegistrationCodeGenerator.java @@ -58,6 +58,7 @@ class BeanRegistrationCodeGenerator implements BeanRegistrationCode { this.codeFragments = codeFragments; } + @Override public ClassName getClassName() { return this.className; diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/aot/DefaultBeanRegistrationCodeFragments.java b/spring-beans/src/main/java/org/springframework/beans/factory/aot/DefaultBeanRegistrationCodeFragments.java index 42cd51936b2..edf07b24d13 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/aot/DefaultBeanRegistrationCodeFragments.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/aot/DefaultBeanRegistrationCodeFragments.java @@ -246,7 +246,7 @@ class DefaultBeanRegistrationCodeFragments implements BeanRegistrationCodeFragme } private boolean hasInstanceSupplier() { - return this.registeredBean.getMergedBeanDefinition().getInstanceSupplier() != null; + return (this.registeredBean.getMergedBeanDefinition().getInstanceSupplier() != null); } } diff --git a/spring-context/src/main/java/org/springframework/context/aot/BeanFactoryInitializationAotContributions.java b/spring-context/src/main/java/org/springframework/context/aot/BeanFactoryInitializationAotContributions.java index 21348c1e4ef..6fad51205d9 100644 --- a/spring-context/src/main/java/org/springframework/context/aot/BeanFactoryInitializationAotContributions.java +++ b/spring-context/src/main/java/org/springframework/context/aot/BeanFactoryInitializationAotContributions.java @@ -31,9 +31,8 @@ import org.springframework.beans.factory.support.DefaultListableBeanFactory; import org.springframework.lang.Nullable; /** - * A collection of {@link BeanFactoryInitializationAotContribution AOT - * contributions} obtained from {@link BeanFactoryInitializationAotProcessor AOT - * processors}. + * A collection of {@link BeanFactoryInitializationAotContribution AOT contributions} + * obtained from {@link BeanFactoryInitializationAotProcessor AOT processors}. * * @author Phillip Webb * @since 6.0 @@ -47,14 +46,12 @@ class BeanFactoryInitializationAotContributions { this(beanFactory, AotServices.factoriesAndBeans(beanFactory)); } - BeanFactoryInitializationAotContributions(DefaultListableBeanFactory beanFactory, - AotServices.Loader loader) { + BeanFactoryInitializationAotContributions(DefaultListableBeanFactory beanFactory, AotServices.Loader loader) { this.contributions = getContributions(beanFactory, getProcessors(loader)); } - private static List getProcessors( - AotServices.Loader loader) { + private static List getProcessors(AotServices.Loader loader) { List processors = new ArrayList<>( loader.load(BeanFactoryInitializationAotProcessor.class).asList()); processors.add(new RuntimeHintsBeanFactoryInitializationAotProcessor()); @@ -62,8 +59,8 @@ class BeanFactoryInitializationAotContributions { } private List getContributions( - DefaultListableBeanFactory beanFactory, - List processors) { + DefaultListableBeanFactory beanFactory, List processors) { + List contributions = new ArrayList<>(); for (BeanFactoryInitializationAotProcessor processor : processors) { BeanFactoryInitializationAotContribution contribution = processAheadOfTime(processor, beanFactory); @@ -75,8 +72,8 @@ class BeanFactoryInitializationAotContributions { } @Nullable - private BeanFactoryInitializationAotContribution processAheadOfTime(BeanFactoryInitializationAotProcessor processor, - DefaultListableBeanFactory beanFactory) { + private BeanFactoryInitializationAotContribution processAheadOfTime( + BeanFactoryInitializationAotProcessor processor, DefaultListableBeanFactory beanFactory) { try { return processor.processAheadOfTime(beanFactory); @@ -92,6 +89,7 @@ class BeanFactoryInitializationAotContributions { void applyTo(GenerationContext generationContext, BeanFactoryInitializationCode beanFactoryInitializationCode) { + for (BeanFactoryInitializationAotContribution contribution : this.contributions) { contribution.applyTo(generationContext, beanFactoryInitializationCode); } diff --git a/spring-orm/src/main/java/org/springframework/orm/hibernate5/HibernateQueryException.java b/spring-orm/src/main/java/org/springframework/orm/hibernate5/HibernateQueryException.java index 4aa09f42322..8b935d725ed 100644 --- a/spring-orm/src/main/java/org/springframework/orm/hibernate5/HibernateQueryException.java +++ b/spring-orm/src/main/java/org/springframework/orm/hibernate5/HibernateQueryException.java @@ -40,9 +40,9 @@ public class HibernateQueryException extends InvalidDataAccessResourceUsageExcep * Return the HQL query string that was invalid. */ @Nullable - @SuppressWarnings("NullAway") public String getQueryString() { - return ((QueryException) getCause()).getQueryString(); + QueryException cause = (QueryException) getCause(); + return (cause != null ? cause.getQueryString() : null); } } diff --git a/spring-orm/src/main/java/org/springframework/orm/hibernate5/LocalSessionFactoryBuilder.java b/spring-orm/src/main/java/org/springframework/orm/hibernate5/LocalSessionFactoryBuilder.java index c5b11ab52dc..47d07a749d5 100644 --- a/spring-orm/src/main/java/org/springframework/orm/hibernate5/LocalSessionFactoryBuilder.java +++ b/spring-orm/src/main/java/org/springframework/orm/hibernate5/LocalSessionFactoryBuilder.java @@ -120,7 +120,6 @@ public class LocalSessionFactoryBuilder extends Configuration { private final ResourcePatternResolver resourcePatternResolver; - @Nullable private TypeFilter[] entityTypeFilters = DEFAULT_ENTITY_TYPE_FILTERS; @@ -379,11 +378,9 @@ public class LocalSessionFactoryBuilder extends Configuration { * the current class descriptor contained in the metadata reader. */ private boolean matchesEntityTypeFilter(MetadataReader reader, MetadataReaderFactory readerFactory) throws IOException { - if (this.entityTypeFilters != null) { - for (TypeFilter filter : this.entityTypeFilters) { - if (filter.match(reader, readerFactory)) { - return true; - } + for (TypeFilter filter : this.entityTypeFilters) { + if (filter.match(reader, readerFactory)) { + return true; } } return false;