use of org.springframework.data.repository.core.RepositoryMetadata in project spring-data-commons by spring-projects.
the class DefaultRepositoryInformationUnitTests method discoversCustomlyImplementedCrudMethodWithoutGenericParameters.
// DATACMNS-1008, DATACMNS-912, DATACMNS-854
@Test
public void discoversCustomlyImplementedCrudMethodWithoutGenericParameters() throws Exception {
SimpleSaveRepositoryImpl customImplementation = new SimpleSaveRepositoryImpl();
RepositoryMetadata metadata = new DefaultRepositoryMetadata(SimpleSaveRepository.class);
RepositoryInformation information = new DefaultRepositoryInformation(metadata, RepositoryFactorySupport.class, RepositoryComposition.just(customImplementation).withMethodLookup(MethodLookups.forRepositoryTypes(metadata)));
Method customBaseRepositoryMethod = SimpleSaveRepository.class.getMethod("save", Object.class);
assertThat(information.isCustomMethod(customBaseRepositoryMethod)).isTrue();
}
use of org.springframework.data.repository.core.RepositoryMetadata in project spring-data-commons by spring-projects.
the class DefaultRepositoryInformationUnitTests method discoversRepositoryBaseClassMethod.
@Test
public void discoversRepositoryBaseClassMethod() throws Exception {
Method method = FooRepository.class.getMethod("findById", Integer.class);
RepositoryMetadata metadata = new DefaultRepositoryMetadata(FooRepository.class);
DefaultRepositoryInformation information = new DefaultRepositoryInformation(metadata, REPOSITORY, RepositoryComposition.empty().withMethodLookup(MethodLookups.forRepositoryTypes(metadata)));
Method reference = information.getTargetClassMethod(method);
assertThat(reference.getDeclaringClass()).isEqualTo(REPOSITORY);
assertThat(reference.getName()).isEqualTo("findById");
}
use of org.springframework.data.repository.core.RepositoryMetadata in project spring-data-commons by spring-projects.
the class DefaultRepositoryInformationUnitTests method detectsQueryMethodCorrectly.
// DATACMNS-193
@Test
public void detectsQueryMethodCorrectly() {
RepositoryMetadata metadata = new DefaultRepositoryMetadata(ConcreteRepository.class);
RepositoryInformation information = new DefaultRepositoryInformation(metadata, CrudRepository.class, RepositoryComposition.empty());
Method queryMethod = getMethodFrom(ConcreteRepository.class, "findBySomethingDifferent");
assertThat(information.getQueryMethods()).contains(queryMethod);
assertThat(information.isQueryMethod(queryMethod)).isTrue();
}
use of org.springframework.data.repository.core.RepositoryMetadata in project spring-data-commons by spring-projects.
the class CrudRepositoryInvokerUnitTests method getInvokerFor.
@SuppressWarnings({ "rawtypes", "unchecked" })
private static RepositoryInvoker getInvokerFor(Object repository, VerifyingMethodInterceptor interceptor) {
Object proxy = getVerifyingRepositoryProxy(repository, interceptor);
RepositoryMetadata metadata = new DefaultRepositoryMetadata(repository.getClass().getInterfaces()[0]);
GenericConversionService conversionService = new DefaultFormattingConversionService();
return new CrudRepositoryInvoker((CrudRepository) proxy, metadata, conversionService);
}
use of org.springframework.data.repository.core.RepositoryMetadata in project spring-data-jdbc by spring-projects.
the class JdbcQueryMethodUnitTests method returnsSpecifiedRowMapperClass.
// DATAJDBC-165
@Test
public void returnsSpecifiedRowMapperClass() throws NoSuchMethodException {
RepositoryMetadata metadata = mock(RepositoryMetadata.class);
when(metadata.getReturnedDomainClass(any(Method.class))).thenReturn((Class) String.class);
JdbcQueryMethod queryMethod = new JdbcQueryMethod(JdbcQueryMethodUnitTests.class.getDeclaredMethod("queryMethod"), metadata, mock(ProjectionFactory.class));
assertThat(queryMethod.getRowMapperClass()).isEqualTo(CustomRowMapper.class);
}
Aggregations