From c2073d51cf2d5a8e3d2cd0ad086d4539c115ba9a Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Tue, 11 Oct 2022 11:40:05 +0200 Subject: [PATCH] Adapt to changed AOT packages in Spring Data Commons. Closes #2661 --- .../jpa/{ => repository}/aot/JpaRuntimeHints.java | 13 ++++++++----- .../config/JpaRepositoryConfigExtension.java | 4 ++-- .../main/resources/META-INF/spring/aot.factories | 2 +- .../aot/JpaRuntimeHintsUnitTests.java | 7 +++++-- ...RepositoryRegistrationAotProcessorUnitTests.java | 2 +- 5 files changed, 17 insertions(+), 11 deletions(-) rename spring-data-jpa/src/main/java/org/springframework/data/jpa/{ => repository}/aot/JpaRuntimeHints.java (88%) rename spring-data-jpa/src/test/java/org/springframework/data/jpa/{ => repository}/aot/JpaRuntimeHintsUnitTests.java (94%) diff --git a/spring-data-jpa/src/main/java/org/springframework/data/jpa/aot/JpaRuntimeHints.java b/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/aot/JpaRuntimeHints.java similarity index 88% rename from spring-data-jpa/src/main/java/org/springframework/data/jpa/aot/JpaRuntimeHints.java rename to spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/aot/JpaRuntimeHints.java index a8026d6eb..0f4a4a768 100644 --- a/spring-data-jpa/src/main/java/org/springframework/data/jpa/aot/JpaRuntimeHints.java +++ b/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/aot/JpaRuntimeHints.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.jpa.aot; +package org.springframework.data.jpa.repository.aot; import java.util.Arrays; @@ -29,10 +29,12 @@ import org.springframework.lang.Nullable; import org.springframework.util.ClassUtils; /** + * Runtime hints for JPA AOT processing. + * * @author Christoph Strobl * @since 3.0 */ -public class JpaRuntimeHints implements RuntimeHintsRegistrar { +class JpaRuntimeHints implements RuntimeHintsRegistrar { @Override public void registerHints(RuntimeHints hints, @Nullable ClassLoader classLoader) { @@ -49,9 +51,10 @@ public class JpaRuntimeHints implements RuntimeHintsRegistrar { .withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS, MemberCategory.INVOKE_DECLARED_METHODS)); hints.reflection().registerTypes(Arrays.asList( // - TypeReference.of(AuditingBeanFactoryPostProcessor.class), // - TypeReference.of(AuditingEntityListener.class)), - hint -> hint.withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS, MemberCategory.INVOKE_DECLARED_METHODS)); + TypeReference.of(AuditingBeanFactoryPostProcessor.class), // + TypeReference.of(AuditingEntityListener.class)), + hint -> hint.withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS, + MemberCategory.INVOKE_DECLARED_METHODS)); } hints.reflection().registerType(TypeReference.of(SimpleJpaRepository.class), diff --git a/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/config/JpaRepositoryConfigExtension.java b/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/config/JpaRepositoryConfigExtension.java index e06e6abb0..4f4317f77 100644 --- a/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/config/JpaRepositoryConfigExtension.java +++ b/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/config/JpaRepositoryConfigExtension.java @@ -46,13 +46,13 @@ import org.springframework.core.annotation.AnnotationAttributes; import org.springframework.core.io.ResourceLoader; import org.springframework.dao.DataAccessException; import org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor; -import org.springframework.data.aot.AotRepositoryContext; -import org.springframework.data.aot.RepositoryRegistrationAotProcessor; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.support.DefaultJpaContext; import org.springframework.data.jpa.repository.support.EntityManagerBeanDefinitionRegistrarPostProcessor; import org.springframework.data.jpa.repository.support.JpaEvaluationContextExtension; import org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean; +import org.springframework.data.repository.aot.AotRepositoryContext; +import org.springframework.data.repository.aot.RepositoryRegistrationAotProcessor; import org.springframework.data.repository.config.AnnotationRepositoryConfigurationSource; import org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport; import org.springframework.data.repository.config.RepositoryConfigurationSource; diff --git a/spring-data-jpa/src/main/resources/META-INF/spring/aot.factories b/spring-data-jpa/src/main/resources/META-INF/spring/aot.factories index 4363dcaeb..50d5fc795 100644 --- a/spring-data-jpa/src/main/resources/META-INF/spring/aot.factories +++ b/spring-data-jpa/src/main/resources/META-INF/spring/aot.factories @@ -1,2 +1,2 @@ org.springframework.aot.hint.RuntimeHintsRegistrar=\ - org.springframework.data.jpa.aot.JpaRuntimeHints + org.springframework.data.jpa.repository.aot.JpaRuntimeHints diff --git a/spring-data-jpa/src/test/java/org/springframework/data/jpa/aot/JpaRuntimeHintsUnitTests.java b/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/aot/JpaRuntimeHintsUnitTests.java similarity index 94% rename from spring-data-jpa/src/test/java/org/springframework/data/jpa/aot/JpaRuntimeHintsUnitTests.java rename to spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/aot/JpaRuntimeHintsUnitTests.java index c99237519..c457ffcf8 100644 --- a/spring-data-jpa/src/test/java/org/springframework/data/jpa/aot/JpaRuntimeHintsUnitTests.java +++ b/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/aot/JpaRuntimeHintsUnitTests.java @@ -13,12 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.jpa.aot; +package org.springframework.data.jpa.repository.aot; import static org.assertj.core.api.AssertionsForClassTypes.*; -import static org.springframework.aot.hint.predicate.RuntimeHintsPredicates.reflection; +import static org.springframework.aot.hint.predicate.RuntimeHintsPredicates.*; import org.junit.jupiter.api.Test; + import org.springframework.aot.hint.RuntimeHints; import org.springframework.beans.factory.aspectj.AnnotationBeanConfigurerAspect; import org.springframework.data.jpa.domain.support.AuditingBeanFactoryPostProcessor; @@ -26,6 +27,8 @@ import org.springframework.data.jpa.domain.support.AuditingEntityListener; import org.springframework.data.jpa.util.HidingClassLoader; /** + * Unit tests for {@link JpaRuntimeHints}. + * * @author Christoph Strobl */ class JpaRuntimeHintsUnitTests { diff --git a/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/config/JpaRepositoryRegistrationAotProcessorUnitTests.java b/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/config/JpaRepositoryRegistrationAotProcessorUnitTests.java index a267cf4da..7b2ade342 100644 --- a/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/config/JpaRepositoryRegistrationAotProcessorUnitTests.java +++ b/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/config/JpaRepositoryRegistrationAotProcessorUnitTests.java @@ -31,7 +31,7 @@ import org.springframework.aot.generate.InMemoryGeneratedFiles; import org.springframework.aot.hint.predicate.RuntimeHintsPredicates; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.core.annotation.MergedAnnotation; -import org.springframework.data.aot.AotRepositoryContext; +import org.springframework.data.repository.aot.AotRepositoryContext; import org.springframework.data.repository.core.RepositoryInformation; import org.springframework.javapoet.ClassName;