DATACMNS-836 - Improve reactive repository configuration.

RepositoryConfigurationExtensionSupport now exposes a ….useRepositoryConfiguration(RepositoryMetadata) so that extensions can opt in or out of an interface taking part in configuration more easily. Turned loadRepositoryInterface(…) private again as extensions should be able to just inspect the RepositoryMetadata now.

Some parameter rename in ReactiveWrapperConverters to avoid confusion.
This commit is contained in:
Oliver Gierke
2016-11-14 12:08:17 +01:00
parent 5d591db848
commit 9bca55a8c4
3 changed files with 46 additions and 19 deletions

View File

@@ -30,6 +30,8 @@ import org.springframework.core.io.DefaultResourceLoader;
import org.springframework.core.type.AnnotationMetadata;
import org.springframework.core.type.StandardAnnotationMetadata;
import org.springframework.data.repository.Repository;
import org.springframework.data.repository.core.RepositoryMetadata;
import org.springframework.data.repository.core.support.AbstractRepositoryMetadata;
import org.springframework.data.repository.core.support.RepositoryFactorySupport;
/**
@@ -46,7 +48,9 @@ public class RepositoryConfigurationExtensionSupportUnitTests {
*/
@Test
public void doesNotConsiderRepositoryForPlainTypeStrictMatch() {
assertThat(extension.isStrictRepositoryCandidate(PlainTypeRepository.class), is(false));
RepositoryMetadata metadata = AbstractRepositoryMetadata.getMetadata(PlainTypeRepository.class);
assertThat(extension.isStrictRepositoryCandidate(metadata), is(false));
}
/**
@@ -54,7 +58,9 @@ public class RepositoryConfigurationExtensionSupportUnitTests {
*/
@Test
public void considersRepositoryWithAnnotatedTypeStrictMatch() {
assertThat(extension.isStrictRepositoryCandidate(AnnotatedTypeRepository.class), is(true));
RepositoryMetadata metadata = AbstractRepositoryMetadata.getMetadata(AnnotatedTypeRepository.class);
assertThat(extension.isStrictRepositoryCandidate(metadata), is(true));
}
/**
@@ -62,7 +68,9 @@ public class RepositoryConfigurationExtensionSupportUnitTests {
*/
@Test
public void considersRepositoryInterfaceExtendingStoreInterfaceStrictMatch() {
assertThat(extension.isStrictRepositoryCandidate(ExtendingInterface.class), is(true));
RepositoryMetadata metadata = AbstractRepositoryMetadata.getMetadata(ExtendingInterface.class);
assertThat(extension.isStrictRepositoryCandidate(metadata), is(true));
}
/**
@@ -99,12 +107,12 @@ public class RepositoryConfigurationExtensionSupportUnitTests {
@Override
protected Collection<Class<? extends Annotation>> getIdentifyingAnnotations() {
return Collections.<Class<? extends Annotation>> singleton(Primary.class);
return Collections.<Class<? extends Annotation>>singleton(Primary.class);
}
@Override
protected Collection<Class<?>> getIdentifyingTypes() {
return Collections.<Class<?>> singleton(StoreInterface.class);
return Collections.<Class<?>>singleton(StoreInterface.class);
}
}