38
38
import org .springframework .data .repository .config .basepackage .repo .PersonRepository ;
39
39
import org .springframework .data .repository .core .support .DummyReactiveRepositoryFactory ;
40
40
import org .springframework .data .repository .core .support .DummyRepositoryFactory ;
41
+ import org .springframework .data .repository .core .support .RepositoryFragmentsContributor ;
41
42
import org .springframework .data .repository .reactive .ReactiveCrudRepository ;
42
43
43
44
/**
@@ -196,6 +197,19 @@ void considersDefaultFragmentsContributor() {
196
197
.contains (SampleRepositoryFragmentsContributor .class .getName ());
197
198
}
198
199
200
+ @ Test // GH-3279
201
+ void skipsInterfaceFragmentsContributor () {
202
+
203
+ RootBeanDefinition bd = new RootBeanDefinition (DummyRepositoryFactory .class );
204
+ bd .getConstructorArgumentValues ().addGenericArgumentValue (PersonRepository .class );
205
+
206
+ AnnotationMetadata metadata = AnnotationMetadata .introspect (ConfigurationWithFragmentsContributorInterface .class );
207
+ AnnotationRepositoryConfigurationSource configurationSource = new AnnotationRepositoryConfigurationSource (metadata ,
208
+ EnableRepositoriesWithContributor .class , resourceLoader , environment , registry , null );
209
+
210
+ assertThat (configurationSource .getRepositoryFragmentsContributorClassName ()).isEmpty ();
211
+ }
212
+
199
213
@ Test // GH-3279
200
214
void omitsUnspecifiedFragmentsContributor () {
201
215
@@ -216,8 +230,9 @@ void considerBeanNameGeneratorForReactiveRepos() {
216
230
bd .getConstructorArgumentValues ().addGenericArgumentValue (ReactivePersonRepository .class );
217
231
218
232
assertThat (getConfigSource (ConfigurationWithBeanNameGenerator .class ).generateBeanName (bd ))
219
- .isEqualTo (ReactivePersonRepository .class .getName ());
220
- assertThat (getConfigSource (DefaultConfiguration .class ).generateBeanName (bd )).isEqualTo ("annotationRepositoryConfigurationSourceUnitTests.ReactivePersonRepository" );
233
+ .isEqualTo (ReactivePersonRepository .class .getName ());
234
+ assertThat (getConfigSource (DefaultConfiguration .class ).generateBeanName (bd ))
235
+ .isEqualTo ("annotationRepositoryConfigurationSourceUnitTests.ReactivePersonRepository" );
221
236
}
222
237
223
238
private AnnotationRepositoryConfigurationSource getConfigSource (Class <?> type ) {
@@ -247,6 +262,9 @@ static class ConfigurationWithBeanNameGenerator {}
247
262
@ EnableRepositoriesWithContributor ()
248
263
static class ConfigurationWithFragmentsContributor {}
249
264
265
+ @ EnableRepositoriesWithContributor (fragmentsContributor = RepositoryFragmentsContributor .class )
266
+ static class ConfigurationWithFragmentsContributorInterface {}
267
+
250
268
@ EnableReactiveRepositories (nameGenerator = FullyQualifiedAnnotationBeanNameGenerator .class )
251
269
static class ReactiveConfigurationWithBeanNameGenerator {}
252
270
@@ -256,6 +274,7 @@ static class ReactiveConfigurationWithBeanNameGenerator {}
256
274
Filter [] includeFilters () default {};
257
275
258
276
Filter [] excludeFilters () default {};
277
+
259
278
}
260
279
261
280
@ SampleAnnotation
0 commit comments