Browse Source

Follow changes in data-commons AOT support.

Closes: #5053
pull/5056/head
Christoph Strobl 3 months ago
parent
commit
692e5fc3c7
No known key found for this signature in database
GPG Key ID: E6054036D0C37A4B
  1. 5
      spring-data-mongodb/src/main/java/org/springframework/data/mongodb/aot/MongoManagedTypesBeanRegistrationAotProcessor.java
  2. 17
      spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/aot/AotMongoRepositoryPostProcessorUnitTests.java
  3. 18
      spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/aot/TestMongoAotRepositoryContext.java

5
spring-data-mongodb/src/main/java/org/springframework/data/mongodb/aot/MongoManagedTypesBeanRegistrationAotProcessor.java

@ -18,6 +18,7 @@ package org.springframework.data.mongodb.aot; @@ -18,6 +18,7 @@ package org.springframework.data.mongodb.aot;
import org.jspecify.annotations.Nullable;
import org.springframework.aot.generate.GenerationContext;
import org.springframework.core.ResolvableType;
import org.springframework.data.aot.AotContext;
import org.springframework.data.aot.ManagedTypesBeanRegistrationAotProcessor;
import org.springframework.data.mongodb.MongoManagedTypes;
import org.springframework.util.ClassUtils;
@ -44,13 +45,13 @@ class MongoManagedTypesBeanRegistrationAotProcessor extends ManagedTypesBeanRegi @@ -44,13 +45,13 @@ class MongoManagedTypesBeanRegistrationAotProcessor extends ManagedTypesBeanRegi
}
@Override
protected void contributeType(ResolvableType type, GenerationContext generationContext) {
protected void contributeType(ResolvableType type, GenerationContext generationContext, AotContext aotContext) {
if (MongoAotPredicates.IS_SIMPLE_TYPE.test(type.toClass())) {
return;
}
super.contributeType(type, generationContext);
super.contributeType(type, generationContext, aotContext);
lazyLoadingProxyAotProcessor.registerLazyLoadingProxyIfNeeded(type.toClass(), generationContext);
}
}

17
spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/aot/AotMongoRepositoryPostProcessorUnitTests.java

@ -19,9 +19,11 @@ import static org.assertj.core.api.Assertions.*; @@ -19,9 +19,11 @@ import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*;
import java.lang.annotation.Annotation;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Set;
import java.util.function.Consumer;
import org.jmolecules.ddd.annotation.Entity;
import org.jspecify.annotations.Nullable;
@ -42,6 +44,7 @@ import org.springframework.core.env.Environment; @@ -42,6 +44,7 @@ import org.springframework.core.env.Environment;
import org.springframework.core.env.StandardEnvironment;
import org.springframework.data.annotation.Id;
import org.springframework.data.aot.AotContext;
import org.springframework.data.aot.AotTypeConfiguration;
import org.springframework.data.mongodb.repository.support.SimpleMongoRepository;
import org.springframework.data.repository.Repository;
import org.springframework.data.repository.config.AotRepositoryContext;
@ -177,6 +180,11 @@ class AotMongoRepositoryPostProcessorUnitTests { @@ -177,6 +180,11 @@ class AotMongoRepositoryPostProcessorUnitTests {
return Set.of();
}
@Override
public Set<Class<?>> getUserDomainTypes() {
return Set.of();
}
@Override
public ConfigurableListableBeanFactory getBeanFactory() {
return applicationContext != null ? applicationContext.getBeanFactory() : null;
@ -197,6 +205,15 @@ class AotMongoRepositoryPostProcessorUnitTests { @@ -197,6 +205,15 @@ class AotMongoRepositoryPostProcessorUnitTests {
return null;
}
@Override
public void typeConfiguration(Class<?> type, Consumer<AotTypeConfiguration> configurationConsumer) {
}
@Override
public Collection<AotTypeConfiguration> typeConfigurations() {
return List.of();
}
}
}

18
spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/aot/TestMongoAotRepositoryContext.java

@ -17,8 +17,10 @@ package org.springframework.data.mongodb.repository.aot; @@ -17,8 +17,10 @@ package org.springframework.data.mongodb.repository.aot;
import java.io.IOException;
import java.lang.annotation.Annotation;
import java.util.Collection;
import java.util.List;
import java.util.Set;
import java.util.function.Consumer;
import org.jspecify.annotations.Nullable;
@ -28,6 +30,7 @@ import org.springframework.core.env.Environment; @@ -28,6 +30,7 @@ import org.springframework.core.env.Environment;
import org.springframework.core.env.StandardEnvironment;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.test.tools.ClassFile;
import org.springframework.data.aot.AotTypeConfiguration;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.repository.support.MongoRepositoryFragmentsContributor;
import org.springframework.data.mongodb.repository.support.SimpleMongoRepository;
@ -77,6 +80,16 @@ public class TestMongoAotRepositoryContext implements AotRepositoryContext { @@ -77,6 +80,16 @@ public class TestMongoAotRepositoryContext implements AotRepositoryContext {
return null;
}
@Override
public void typeConfiguration(Class<?> type, Consumer<AotTypeConfiguration> configurationConsumer) {
}
@Override
public Collection<AotTypeConfiguration> typeConfigurations() {
return List.of();
}
@Override
public String getBeanName() {
return "dummyRepository";
@ -117,6 +130,11 @@ public class TestMongoAotRepositoryContext implements AotRepositoryContext { @@ -117,6 +130,11 @@ public class TestMongoAotRepositoryContext implements AotRepositoryContext {
return Set.of();
}
@Override
public Set<Class<?>> getUserDomainTypes() {
return Set.of();
}
public List<ClassFile> getRequiredContextFiles() {
return List.of(classFileForType(repositoryInformation.getRepositoryBaseClass()));
}

Loading…
Cancel
Save