Skip to content

Commit 8c6c2da

Browse files
committed
DATACMNS-1172 - Polishing.
Tweaked newly introduced RepositoryConfiguration.getImplementationBasePackage() to not require a parameter but use internal information instead (the repository interface in DefaultRepositoryConfiguration). Original pull request: #248.
1 parent 318cf9b commit 8c6c2da

File tree

4 files changed

+13
-11
lines changed

4 files changed

+13
-11
lines changed

src/main/java/org/springframework/data/repository/config/CustomRepositoryImplementationDetector.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ public AbstractBeanDefinition detectCustomImplementation(RepositoryConfiguration
8181
// TODO 2.0: Extract into dedicated interface for custom implementation lookup configuration.
8282

8383
return detectCustomImplementation(configuration.getImplementationClassName(), //
84-
configuration.getImplementationBasePackages(configuration.getRepositoryInterface()), //
84+
configuration.getImplementationBasePackages(), //
8585
configuration.getExcludeFilters());
8686
}
8787

src/main/java/org/springframework/data/repository/config/DefaultRepositoryConfiguration.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -83,11 +83,11 @@ public Iterable<String> getBasePackages() {
8383

8484
/*
8585
* (non-Javadoc)
86-
* @see org.springframework.data.repository.config.RepositoryConfiguration#getBasePackages(String)
86+
* @see org.springframework.data.repository.config.RepositoryConfiguration#getImplementationBasePackages()
8787
*/
8888
@Override
89-
public Iterable<String> getImplementationBasePackages(String interfaceClassName) {
90-
return Collections.singleton(ClassUtils.getPackageName(interfaceClassName));
89+
public Iterable<String> getImplementationBasePackages() {
90+
return Collections.singleton(ClassUtils.getPackageName(getRepositoryInterface()));
9191
}
9292

9393
/*

src/main/java/org/springframework/data/repository/config/RepositoryConfiguration.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public interface RepositoryConfiguration<T extends RepositoryConfigurationSource
4040
* @return
4141
* @since 1.13.8
4242
*/
43-
Iterable<String> getImplementationBasePackages(String interfaceClassName);
43+
Iterable<String> getImplementationBasePackages();
4444

4545
/**
4646
* Returns the interface name of the repository.

src/test/java/org/springframework/data/repository/config/DefaultRepositoryConfigurationUnitTests.java

+8-6
Original file line numberDiff line numberDiff line change
@@ -54,28 +54,30 @@ public void supportsBasicConfiguration() {
5454
@Test // DATACMNS-1172
5555
public void limitsImplementationBasePackages() {
5656

57-
Iterable<String> packages = getConfiguration(source).getImplementationBasePackages("com.acme.MyRepository");
57+
Iterable<String> packages = getConfiguration(source, "com.acme.MyRepository").getImplementationBasePackages();
5858

5959
assertThat(packages, hasItem("com.acme"));
6060
}
6161

6262
@Test // DATACMNS-1172
6363
public void limitsImplementationBasePackagesOfNestedClass() {
6464

65-
Iterable<String> packages = getConfiguration(source).getImplementationBasePackages(NestedInterface.class.getName());
65+
Iterable<String> packages = getConfiguration(source, MyRepository.class.getName()).getImplementationBasePackages();
6666

6767
assertThat(packages, hasItem("org.springframework.data.repository.config"));
6868
}
6969

7070
private DefaultRepositoryConfiguration<RepositoryConfigurationSource> getConfiguration(
71-
RepositoryConfigurationSource source) {
72-
RootBeanDefinition beanDefinition = createBeanDefinition();
71+
RepositoryConfigurationSource source, String repositoryInterfaceName) {
72+
73+
RootBeanDefinition beanDefinition = createBeanDefinition(repositoryInterfaceName);
74+
7375
return new DefaultRepositoryConfiguration<RepositoryConfigurationSource>(source, beanDefinition);
7476
}
7577

76-
private static RootBeanDefinition createBeanDefinition() {
78+
private static RootBeanDefinition createBeanDefinition(String repositoryInterfaceName) {
7779

78-
RootBeanDefinition beanDefinition = new RootBeanDefinition("com.acme.MyRepository");
80+
RootBeanDefinition beanDefinition = new RootBeanDefinition(repositoryInterfaceName);
7981

8082
ConstructorArgumentValues constructorArgumentValues = new ConstructorArgumentValues();
8183
constructorArgumentValues.addGenericArgumentValue(MyRepository.class);

0 commit comments

Comments
 (0)