Skip to content

Commit 3bd5bfb

Browse files
committed
Adopt to Spring Framework changes.
1 parent 2daa1c9 commit 3bd5bfb

3 files changed

+66
-54
lines changed

src/test/java/org/springframework/data/aot/ManagedTypesBeanRegistrationAotProcessorUnitTests.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import org.junit.jupiter.api.Test;
2525
import org.springframework.aot.generate.ClassNameGenerator;
2626
import org.springframework.aot.generate.DefaultGenerationContext;
27+
import org.springframework.aot.generate.GeneratedClasses;
2728
import org.springframework.aot.generate.InMemoryGeneratedFiles;
2829
import org.springframework.aot.hint.RuntimeHints;
2930
import org.springframework.aot.hint.RuntimeHintsPredicates;
@@ -72,7 +73,8 @@ void contributesReflectionForManagedTypes() {
7273
BeanRegistrationAotContribution contribution = createPostProcessor("commons")
7374
.processAheadOfTime(RegisteredBean.of(beanFactory, "commons.managed-types"));
7475

75-
DefaultGenerationContext generationContext = new DefaultGenerationContext(new ClassNameGenerator(),
76+
DefaultGenerationContext generationContext = new DefaultGenerationContext(
77+
new GeneratedClasses(new ClassNameGenerator(Object.class)),
7678
new InMemoryGeneratedFiles(), new RuntimeHints());
7779

7880
contribution.applyTo(generationContext, null);

src/test/java/org/springframework/data/aot/RepositoryRegistrationAotContributionAssert.java

+37-21
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
*/
1616
package org.springframework.data.aot;
1717

18-
import static org.assertj.core.api.Assertions.assertThat;
19-
import static org.mockito.Mockito.mock;
18+
import static org.assertj.core.api.Assertions.*;
19+
import static org.mockito.Mockito.*;
2020

2121
import java.util.LinkedHashSet;
2222
import java.util.Set;
@@ -27,61 +27,80 @@
2727
import org.springframework.aot.generate.ClassNameGenerator;
2828
import org.springframework.aot.generate.DefaultGenerationContext;
2929
import org.springframework.aot.generate.InMemoryGeneratedFiles;
30-
import org.springframework.aot.hint.RuntimeHints;
3130
import org.springframework.beans.factory.aot.BeanRegistrationCode;
3231
import org.springframework.data.repository.core.RepositoryInformation;
3332
import org.springframework.data.repository.core.support.RepositoryFragment;
34-
import org.springframework.lang.NonNull;
3533

3634
/**
3735
* AssertJ {@link AbstractAssert Assertion} for {@link RepositoryRegistrationAotContribution}.
3836
*
3937
* @author Christoph Strobl
4038
* @author John Blum
41-
* @see org.mockito.Mockito
42-
* @see org.assertj.core.api.AbstractAssert
43-
* @see org.springframework.data.aot.RepositoryRegistrationAotContribution
44-
* @since 3.0.0
39+
* @since 3.0
4540
*/
4641
public class RepositoryRegistrationAotContributionAssert
47-
extends AbstractAssert<RepositoryRegistrationAotContributionAssert, RepositoryRegistrationAotContribution> {
42+
extends AbstractAssert<RepositoryRegistrationAotContributionAssert, RepositoryRegistrationAotContribution> {
4843

49-
@NonNull
5044
public static RepositoryRegistrationAotContributionAssert assertThatContribution(
51-
@NonNull RepositoryRegistrationAotContribution actual) {
45+
RepositoryRegistrationAotContribution actual) {
5246

5347
return new RepositoryRegistrationAotContributionAssert(actual);
5448
}
5549

56-
public RepositoryRegistrationAotContributionAssert(@NonNull RepositoryRegistrationAotContribution actual) {
50+
/**
51+
* Create the assertion object.
52+
*
53+
* @param actual
54+
*/
55+
public RepositoryRegistrationAotContributionAssert(RepositoryRegistrationAotContribution actual) {
5756
super(actual, RepositoryRegistrationAotContributionAssert.class);
5857
}
5958

59+
/**
60+
* Verifies that the actual repository type is equal to the given one.
61+
*
62+
* @param expected
63+
* @return {@code this} assertion object.
64+
*/
6065
public RepositoryRegistrationAotContributionAssert targetRepositoryTypeIs(Class<?> expected) {
6166

6267
assertThat(getRepositoryInformation().getRepositoryInterface()).isEqualTo(expected);
6368

6469
return this.myself;
6570
}
6671

72+
/**
73+
* Verifies that the actual repository has no repository fragments.
74+
*
75+
* @return {@code this} assertion object.
76+
*/
6777
public RepositoryRegistrationAotContributionAssert hasNoFragments() {
6878

6979
assertThat(getRepositoryInformation().getFragments()).isEmpty();
7080

7181
return this;
7282
}
7383

84+
/**
85+
* Verifies that the actual repository has repository fragments.
86+
*
87+
* @return {@code this} assertion object.
88+
*/
7489
public RepositoryRegistrationAotContributionAssert hasFragments() {
7590

7691
assertThat(getRepositoryInformation().getFragments()).isNotEmpty();
7792

7893
return this;
7994
}
8095

96+
/**
97+
* Verifies that the actual repository fragments satisfy the given {@link Consumer}.
98+
*
99+
* @return {@code this} assertion object.
100+
*/
81101
public RepositoryRegistrationAotContributionAssert verifyFragments(Consumer<Set<RepositoryFragment<?>>> consumer) {
82102

83-
assertThat(getRepositoryInformation().getFragments())
84-
.satisfies(it -> consumer.accept(new LinkedHashSet<>(it)));
103+
assertThat(getRepositoryInformation().getFragments()).satisfies(it -> consumer.accept(new LinkedHashSet<>(it)));
85104

86105
return this;
87106
}
@@ -91,8 +110,8 @@ public RepositoryRegistrationAotContributionAssert codeContributionSatisfies(
91110

92111
BeanRegistrationCode mockBeanRegistrationCode = mock(BeanRegistrationCode.class);
93112

94-
DefaultGenerationContext generationContext =
95-
new DefaultGenerationContext(new ClassNameGenerator(), new InMemoryGeneratedFiles(), new RuntimeHints());
113+
DefaultGenerationContext generationContext = new DefaultGenerationContext(new ClassNameGenerator(Object.class),
114+
new InMemoryGeneratedFiles());
96115

97116
this.actual.applyTo(generationContext, mockBeanRegistrationCode);
98117

@@ -103,13 +122,10 @@ public RepositoryRegistrationAotContributionAssert codeContributionSatisfies(
103122

104123
private RepositoryInformation getRepositoryInformation() {
105124

106-
assertThat(this.actual)
107-
.describedAs("No repository interface found on null bean contribution")
108-
.isNotNull();
125+
assertThat(this.actual).describedAs("No repository interface found on null bean contribution").isNotNull();
109126

110127
assertThat(this.actual.getRepositoryInformation())
111-
.describedAs("No repository interface found on null repository information")
112-
.isNotNull();
128+
.describedAs("No repository interface found on null repository information").isNotNull();
113129

114130
return this.actual.getRepositoryInformation();
115131
}

src/test/java/org/springframework/data/aot/RepositoryRegistrationAotProcessorIntegrationTests.java

+26-32
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
*/
1616
package org.springframework.data.aot;
1717

18-
import static org.assertj.core.api.Assertions.assertThat;
19-
import static org.springframework.data.aot.RepositoryRegistrationAotContributionAssert.assertThatContribution;
18+
import static org.assertj.core.api.Assertions.*;
19+
import static org.springframework.data.aot.RepositoryRegistrationAotContributionAssert.*;
2020

2121
import java.io.Serializable;
2222

@@ -51,18 +51,15 @@
5151
* Integration Tests for {@link RepositoryRegistrationAotProcessor}.
5252
*
5353
* @author Christoph Strobl
54-
* @see org.junit.jupiter.api.Test
55-
* @see org.springframework.data.aot.RepositoryRegistrationAotProcessor
56-
* @see org.springframework.data.aot.RepositoryRegistrationAotContributionAssert
5754
* @author John Blum
5855
*/
5956
public class RepositoryRegistrationAotProcessorIntegrationTests {
6057

6158
@Test // GH-2593
6259
void simpleRepositoryNoTxManagerNoKotlinNoReactiveNoComponent() {
6360

64-
RepositoryRegistrationAotContribution repositoryBeanContribution = computeAotConfiguration(ConfigWithSimpleCrudRepository.class)
65-
.forRepository(ConfigWithSimpleCrudRepository.MyRepo.class);
61+
RepositoryRegistrationAotContribution repositoryBeanContribution = computeAotConfiguration(
62+
ConfigWithSimpleCrudRepository.class).forRepository(ConfigWithSimpleCrudRepository.MyRepo.class);
6663

6764
assertThatContribution(repositoryBeanContribution) //
6865
.targetRepositoryTypeIs(ConfigWithSimpleCrudRepository.MyRepo.class) //
@@ -123,8 +120,7 @@ void simpleRepositoryWithTxManagerNoKotlinNoReactiveButComponent() {
123120
// interface
124121
.contributesReflectionFor(PagingAndSortingRepository.class) // base repository
125122
.contributesReflectionFor(
126-
ConfigWithTransactionManagerPresentAndAtComponentAnnotatedRepoisoty.Person.class) // repository domain
127-
// type
123+
ConfigWithTransactionManagerPresentAndAtComponentAnnotatedRepoisoty.Person.class) // domain type
128124

129125
// proxies
130126
.contributesJdkProxy(
@@ -142,8 +138,8 @@ void simpleRepositoryWithTxManagerNoKotlinNoReactiveButComponent() {
142138
@Test // GH-2593
143139
void contributesFragmentsCorrectly() {
144140

145-
RepositoryRegistrationAotContribution repositoryBeanContribution = computeAotConfiguration(ConfigWithFragments.class)
146-
.forRepository(ConfigWithFragments.RepositoryWithFragments.class);
141+
RepositoryRegistrationAotContribution repositoryBeanContribution = computeAotConfiguration(
142+
ConfigWithFragments.class).forRepository(ConfigWithFragments.RepositoryWithFragments.class);
147143

148144
assertThatContribution(repositoryBeanContribution) //
149145
.targetRepositoryTypeIs(ConfigWithFragments.RepositoryWithFragments.class) //
@@ -175,8 +171,9 @@ void contributesFragmentsCorrectly() {
175171
@Test // GH-2593
176172
void contributesCustomImplementationCorrectly() {
177173

178-
RepositoryRegistrationAotContribution repositoryBeanContribution = computeAotConfiguration(ConfigWithCustomImplementation.class)
179-
.forRepository(ConfigWithCustomImplementation.RepositoryWithCustomImplementation.class);
174+
RepositoryRegistrationAotContribution repositoryBeanContribution = computeAotConfiguration(
175+
ConfigWithCustomImplementation.class)
176+
.forRepository(ConfigWithCustomImplementation.RepositoryWithCustomImplementation.class);
180177

181178
assertThatContribution(repositoryBeanContribution) //
182179
.targetRepositoryTypeIs(ConfigWithCustomImplementation.RepositoryWithCustomImplementation.class) //
@@ -197,12 +194,11 @@ void contributesCustomImplementationCorrectly() {
197194
@Test // GH-2593
198195
void contributesDomainTypeAndReachableTypesCorrectly() {
199196

200-
RepositoryRegistrationAotContribution repositoryBeanContribution =
201-
computeAotConfiguration(ConfigWithSimpleCrudRepository.class)
202-
.forRepository(ConfigWithSimpleCrudRepository.MyRepo.class);
197+
RepositoryRegistrationAotContribution repositoryBeanContribution = computeAotConfiguration(
198+
ConfigWithSimpleCrudRepository.class).forRepository(ConfigWithSimpleCrudRepository.MyRepo.class);
203199

204-
assertThatContribution(repositoryBeanContribution).codeContributionSatisfies(contribution ->
205-
contribution.contributesReflectionFor(ConfigWithSimpleCrudRepository.Person.class,
200+
assertThatContribution(repositoryBeanContribution).codeContributionSatisfies(
201+
contribution -> contribution.contributesReflectionFor(ConfigWithSimpleCrudRepository.Person.class,
206202
ConfigWithSimpleCrudRepository.Address.class));
207203
}
208204

@@ -245,19 +241,18 @@ void contributesRepositoryBaseClassCorrectly() {
245241
@Test // GH-2593
246242
void contributesTypesFromQueryMethods() {
247243

248-
RepositoryRegistrationAotContribution repositoryBeanContribution = computeAotConfiguration(ConfigWithQueryMethods.class)
249-
.forRepository(ConfigWithQueryMethods.CustomerRepositoryWithQueryMethods.class);
244+
RepositoryRegistrationAotContribution repositoryBeanContribution = computeAotConfiguration(
245+
ConfigWithQueryMethods.class).forRepository(ConfigWithQueryMethods.CustomerRepositoryWithQueryMethods.class);
250246

251247
assertThatContribution(repositoryBeanContribution)
252-
.codeContributionSatisfies(contribution ->
253-
contribution.contributesReflectionFor(ProjectionInterface.class));
248+
.codeContributionSatisfies(contribution -> contribution.contributesReflectionFor(ProjectionInterface.class));
254249
}
255250

256251
@Test // GH-2593
257252
void contributesProxiesForPotentialProjections() {
258253

259-
RepositoryRegistrationAotContribution repositoryBeanContribution = computeAotConfiguration(ConfigWithQueryMethods.class)
260-
.forRepository(ConfigWithQueryMethods.CustomerRepositoryWithQueryMethods.class);
254+
RepositoryRegistrationAotContribution repositoryBeanContribution = computeAotConfiguration(
255+
ConfigWithQueryMethods.class).forRepository(ConfigWithQueryMethods.CustomerRepositoryWithQueryMethods.class);
261256

262257
assertThatContribution(repositoryBeanContribution) //
263258
.codeContributionSatisfies(contribution -> {
@@ -271,8 +266,8 @@ void contributesProxiesForPotentialProjections() {
271266
@Test // GH-2593
272267
void contributesProxiesForDataAnnotations() {
273268

274-
RepositoryRegistrationAotContribution repositoryBeanContribution = computeAotConfiguration(ConfigWithQueryMethods.class)
275-
.forRepository(ConfigWithQueryMethods.CustomerRepositoryWithQueryMethods.class);
269+
RepositoryRegistrationAotContribution repositoryBeanContribution = computeAotConfiguration(
270+
ConfigWithQueryMethods.class).forRepository(ConfigWithQueryMethods.CustomerRepositoryWithQueryMethods.class);
276271

277272
assertThatContribution(repositoryBeanContribution) //
278273
.codeContributionSatisfies(contribution -> {
@@ -286,8 +281,8 @@ void contributesProxiesForDataAnnotations() {
286281
@Test // GH-2593
287282
void doesNotCareAboutNonDataAnnotations() {
288283

289-
RepositoryRegistrationAotContribution repositoryBeanContribution = computeAotConfiguration(ConfigWithSimpleCrudRepository.class)
290-
.forRepository(ConfigWithSimpleCrudRepository.MyRepo.class);
284+
RepositoryRegistrationAotContribution repositoryBeanContribution = computeAotConfiguration(
285+
ConfigWithSimpleCrudRepository.class).forRepository(ConfigWithSimpleCrudRepository.MyRepo.class);
291286

292287
assertThatContribution(repositoryBeanContribution) //
293288
.codeContributionSatisfies(contribution -> {
@@ -311,16 +306,15 @@ RepositoryRegistrationAotContributionBuilder computeAotConfiguration(Class<?> co
311306
String[] repositoryBeanNames = applicationContext.getBeanNamesForType(repositoryType);
312307

313308
assertThat(repositoryBeanNames)
314-
.describedAs("Unable to find repository [%s] in configuration [%s]",
315-
repositoryType, configuration)
309+
.describedAs("Unable to find repository [%s] in configuration [%s]", repositoryType, configuration)
316310
.hasSize(1);
317311

318312
String repositoryBeanName = repositoryBeanNames[0];
319313

320314
ConfigurableBeanFactory beanFactory = applicationContext.getDefaultListableBeanFactory();
321315

322-
RepositoryRegistrationAotProcessor repositoryAotProcessor =
323-
applicationContext.getBean(RepositoryRegistrationAotProcessor.class);
316+
RepositoryRegistrationAotProcessor repositoryAotProcessor = applicationContext
317+
.getBean(RepositoryRegistrationAotProcessor.class);
324318

325319
repositoryAotProcessor.setBeanFactory(beanFactory);
326320

0 commit comments

Comments
 (0)