Browse Source

DATAMONGO-1105 - Added implementation of QueryDslPredicateExecutor.findAll(OrderSpecifier<?>... orders).

Renamed QuerydslRepositorySupportUnitTests to QuerydslRepositorySupportTests as it's an integration test.
pull/246/head
Oliver Gierke 11 years ago
parent
commit
10c37b101d
  1. 11
      spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/support/QueryDslMongoRepository.java
  2. 11
      spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/AbstractPersonRepositoryIntegrationTests.java
  3. 7
      spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/support/QuerydslRepositorySupportTests.java

11
spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/support/QueryDslMongoRepository.java

@ -102,6 +102,15 @@ public class QueryDslMongoRepository<T, ID extends Serializable> extends SimpleM @@ -102,6 +102,15 @@ public class QueryDslMongoRepository<T, ID extends Serializable> extends SimpleM
return createQueryFor(predicate).orderBy(orders).list();
}
/*
* (non-Javadoc)
* @see org.springframework.data.querydsl.QueryDslPredicateExecutor#findAll(com.mysema.query.types.OrderSpecifier[])
*/
@Override
public Iterable<T> findAll(OrderSpecifier<?>... orders) {
return createQueryFor(new Predicate[0]).orderBy(orders).list();
}
/*
* (non-Javadoc)
* @see org.springframework.data.querydsl.QueryDslPredicateExecutor#findAll(com.mysema.query.types.Predicate, org.springframework.data.domain.Pageable)
@ -128,7 +137,7 @@ public class QueryDslMongoRepository<T, ID extends Serializable> extends SimpleM @@ -128,7 +137,7 @@ public class QueryDslMongoRepository<T, ID extends Serializable> extends SimpleM
* @param predicate
* @return
*/
private MongodbQuery<T> createQueryFor(Predicate predicate) {
private MongodbQuery<T> createQueryFor(Predicate... predicate) {
Class<T> domainType = getEntityInformation().getJavaType();

11
spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/AbstractPersonRepositoryIntegrationTests.java

@ -1060,4 +1060,15 @@ public abstract class AbstractPersonRepositoryIntegrationTests { @@ -1060,4 +1060,15 @@ public abstract class AbstractPersonRepositoryIntegrationTests {
assertThat(persons, hasSize(1));
assertThat(persons, hasItem(alicia));
}
/**
* @see DATAMONGO-1105
*/
@Test
public void returnsOrderedResultsForQuerydslOrderSpecifier() {
Iterable<Person> result = repository.findAll(person.firstname.asc());
assertThat(result, contains(alicia, boyd, carter, dave, leroi, oliver, stefan));
}
}

7
spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/support/QuerydslRepositorySupportUnitTests.java → spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/support/QuerydslRepositorySupportTests.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2011 the original author or authors.
* Copyright 2011-2014 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -37,16 +37,18 @@ import com.mysema.query.mongodb.MongodbQuery; @@ -37,16 +37,18 @@ import com.mysema.query.mongodb.MongodbQuery;
* Unit tests for {@link QuerydslRepositorySupport}.
*
* @author Oliver Gierke
* @author Christoph Strobl
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:infrastructure.xml")
public class QuerydslRepositorySupportUnitTests {
public class QuerydslRepositorySupportTests {
@Autowired MongoOperations operations;
Person person;
@Before
public void setUp() {
operations.remove(new Query(), Person.class);
person = new Person("Dave", "Matthews");
operations.save(person);
@ -54,6 +56,7 @@ public class QuerydslRepositorySupportUnitTests { @@ -54,6 +56,7 @@ public class QuerydslRepositorySupportUnitTests {
@Test
public void providesMongoQuery() {
QPerson p = QPerson.person;
QuerydslRepositorySupport support = new QuerydslRepositorySupport(operations) {};
MongodbQuery<Person> query = support.from(p).where(p.lastname.eq("Matthews"));
Loading…
Cancel
Save