use of org.springframework.data.repository.core.support.DefaultRepositoryMetadata in project spring-data-mongodb by spring-projects.
the class MongoQueryCreatorUnitTests method assertBindsDistanceToQuery.
private void assertBindsDistanceToQuery(Point point, Distance distance, Query reference) throws Exception {
PartTree tree = new PartTree("findByLocationNearAndFirstname", org.springframework.data.mongodb.repository.Person.class);
Method method = PersonRepository.class.getMethod("findByLocationNearAndFirstname", Point.class, Distance.class, String.class);
MongoQueryMethod queryMethod = new MongoQueryMethod(method, new DefaultRepositoryMetadata(PersonRepository.class), new SpelAwareProxyProjectionFactory(), new MongoMappingContext());
MongoParameterAccessor accessor = new MongoParametersParameterAccessor(queryMethod, new Object[] { point, distance, "Dave" });
Query query = new MongoQueryCreator(tree, new ConvertingParameterAccessor(converter, accessor), context).createQuery();
assertThat(query, is(query));
}
use of org.springframework.data.repository.core.support.DefaultRepositoryMetadata in project spring-data-mongodb by spring-projects.
the class MongoQueryMethodUnitTests method queryMethod.
private MongoQueryMethod queryMethod(Class<?> repository, String name, Class<?>... parameters) throws Exception {
Method method = repository.getMethod(name, parameters);
ProjectionFactory factory = new SpelAwareProxyProjectionFactory();
return new MongoQueryMethod(method, new DefaultRepositoryMetadata(repository), factory, context);
}
use of org.springframework.data.repository.core.support.DefaultRepositoryMetadata in project spring-data-mongodb by spring-projects.
the class PartTreeMongoQueryUnitTests method createQueryForMethod.
private PartTreeMongoQuery createQueryForMethod(String methodName, Class<?>... paramTypes) {
try {
Method method = Repo.class.getMethod(methodName, paramTypes);
ProjectionFactory factory = new SpelAwareProxyProjectionFactory();
MongoQueryMethod queryMethod = new MongoQueryMethod(method, new DefaultRepositoryMetadata(Repo.class), factory, mappingContext);
return new PartTreeMongoQuery(queryMethod, mongoOperationsMock);
} catch (Exception e) {
throw new IllegalArgumentException(e.getMessage(), e);
}
}
use of org.springframework.data.repository.core.support.DefaultRepositoryMetadata in project spring-data-mongodb by spring-projects.
the class ReactiveStringBasedMongoQueryUnitTests method createQueryForMethod.
private ReactiveStringBasedMongoQuery createQueryForMethod(String name, Class<?>... parameters) throws Exception {
Method method = SampleRepository.class.getMethod(name, parameters);
ProjectionFactory factory = new SpelAwareProxyProjectionFactory();
ReactiveMongoQueryMethod queryMethod = new ReactiveMongoQueryMethod(method, new DefaultRepositoryMetadata(SampleRepository.class), factory, converter.getMappingContext());
return new ReactiveStringBasedMongoQuery(queryMethod, operations, PARSER, DefaultEvaluationContextProvider.INSTANCE);
}
use of org.springframework.data.repository.core.support.DefaultRepositoryMetadata in project spring-data-mongodb by spring-projects.
the class AbstractMongoQueryUnitTests method createQueryForMethod.
private MongoQueryFake createQueryForMethod(Class<?> repository, String methodName, Class<?>... paramTypes) {
try {
Method method = repository.getMethod(methodName, paramTypes);
ProjectionFactory factory = new SpelAwareProxyProjectionFactory();
MongoQueryMethod queryMethod = new MongoQueryMethod(method, new DefaultRepositoryMetadata(repository), factory, mappingContextMock);
return new MongoQueryFake(queryMethod, mongoOperationsMock);
} catch (Exception e) {
throw new IllegalArgumentException(e.getMessage(), e);
}
}
Aggregations