Skip to content

Commit 692e5fc

Browse files
Follow changes in data-commons AOT support.
Closes: #5053
1 parent b4335d7 commit 692e5fc

File tree

3 files changed

+38
-2
lines changed

3 files changed

+38
-2
lines changed

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import org.jspecify.annotations.Nullable;
1919
import org.springframework.aot.generate.GenerationContext;
2020
import org.springframework.core.ResolvableType;
21+
import org.springframework.data.aot.AotContext;
2122
import org.springframework.data.aot.ManagedTypesBeanRegistrationAotProcessor;
2223
import org.springframework.data.mongodb.MongoManagedTypes;
2324
import org.springframework.util.ClassUtils;
@@ -44,13 +45,13 @@ protected boolean isMongoManagedTypes(@Nullable Class<?> beanType) {
4445
}
4546

4647
@Override
47-
protected void contributeType(ResolvableType type, GenerationContext generationContext) {
48+
protected void contributeType(ResolvableType type, GenerationContext generationContext, AotContext aotContext) {
4849

4950
if (MongoAotPredicates.IS_SIMPLE_TYPE.test(type.toClass())) {
5051
return;
5152
}
5253

53-
super.contributeType(type, generationContext);
54+
super.contributeType(type, generationContext, aotContext);
5455
lazyLoadingProxyAotProcessor.registerLazyLoadingProxyIfNeeded(type.toClass(), generationContext);
5556
}
5657
}

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

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,11 @@
1919
import static org.mockito.Mockito.*;
2020

2121
import java.lang.annotation.Annotation;
22+
import java.util.Collection;
2223
import java.util.Collections;
2324
import java.util.List;
2425
import java.util.Set;
26+
import java.util.function.Consumer;
2527

2628
import org.jmolecules.ddd.annotation.Entity;
2729
import org.jspecify.annotations.Nullable;
@@ -42,6 +44,7 @@
4244
import org.springframework.core.env.StandardEnvironment;
4345
import org.springframework.data.annotation.Id;
4446
import org.springframework.data.aot.AotContext;
47+
import org.springframework.data.aot.AotTypeConfiguration;
4548
import org.springframework.data.mongodb.repository.support.SimpleMongoRepository;
4649
import org.springframework.data.repository.Repository;
4750
import org.springframework.data.repository.config.AotRepositoryContext;
@@ -177,6 +180,11 @@ public Set<Class<?>> getResolvedTypes() {
177180
return Set.of();
178181
}
179182

183+
@Override
184+
public Set<Class<?>> getUserDomainTypes() {
185+
return Set.of();
186+
}
187+
180188
@Override
181189
public ConfigurableListableBeanFactory getBeanFactory() {
182190
return applicationContext != null ? applicationContext.getBeanFactory() : null;
@@ -197,6 +205,15 @@ public IntrospectedBeanDefinition introspectBeanDefinition(String beanName) {
197205
return null;
198206
}
199207

208+
@Override
209+
public void typeConfiguration(Class<?> type, Consumer<AotTypeConfiguration> configurationConsumer) {
210+
211+
}
212+
213+
@Override
214+
public Collection<AotTypeConfiguration> typeConfigurations() {
215+
return List.of();
216+
}
200217
}
201218

202219
}

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

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,10 @@
1717

1818
import java.io.IOException;
1919
import java.lang.annotation.Annotation;
20+
import java.util.Collection;
2021
import java.util.List;
2122
import java.util.Set;
23+
import java.util.function.Consumer;
2224

2325
import org.jspecify.annotations.Nullable;
2426

@@ -28,6 +30,7 @@
2830
import org.springframework.core.env.StandardEnvironment;
2931
import org.springframework.core.io.ClassPathResource;
3032
import org.springframework.core.test.tools.ClassFile;
33+
import org.springframework.data.aot.AotTypeConfiguration;
3134
import org.springframework.data.mongodb.core.mapping.Document;
3235
import org.springframework.data.mongodb.repository.support.MongoRepositoryFragmentsContributor;
3336
import org.springframework.data.mongodb.repository.support.SimpleMongoRepository;
@@ -77,6 +80,16 @@ public IntrospectedBeanDefinition introspectBeanDefinition(String beanName) {
7780
return null;
7881
}
7982

83+
@Override
84+
public void typeConfiguration(Class<?> type, Consumer<AotTypeConfiguration> configurationConsumer) {
85+
86+
}
87+
88+
@Override
89+
public Collection<AotTypeConfiguration> typeConfigurations() {
90+
return List.of();
91+
}
92+
8093
@Override
8194
public String getBeanName() {
8295
return "dummyRepository";
@@ -117,6 +130,11 @@ public Set<Class<?>> getResolvedTypes() {
117130
return Set.of();
118131
}
119132

133+
@Override
134+
public Set<Class<?>> getUserDomainTypes() {
135+
return Set.of();
136+
}
137+
120138
public List<ClassFile> getRequiredContextFiles() {
121139
return List.of(classFileForType(repositoryInformation.getRepositoryBaseClass()));
122140
}

0 commit comments

Comments
 (0)