Browse Source

Apply sort of unpaged `Pageable` to query.

Original pull request: #4773
Closes #4771
4.3.x
Christoph Strobl 1 year ago committed by Mark Paluch
parent
commit
e9e6f88e97
No known key found for this signature in database
GPG Key ID: 55BC6374BAA9D973
  1. 3
      spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/Query.java
  2. 10
      spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/query/QueryTests.java

3
spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/Query.java

@ -272,6 +272,9 @@ public class Query implements ReadConcernAware, ReadPreferenceAware { @@ -272,6 +272,9 @@ public class Query implements ReadConcernAware, ReadPreferenceAware {
public Query with(Pageable pageable) {
if (pageable.isUnpaged()) {
if(pageable.getSort().isSorted()) {
return with(pageable.getSort());
}
return this;
}

10
spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/query/QueryTests.java

@ -23,6 +23,7 @@ import org.bson.Document; @@ -23,6 +23,7 @@ import org.bson.Document;
import org.junit.jupiter.api.Test;
import org.springframework.aop.framework.ProxyFactory;
import org.springframework.data.domain.Limit;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.domain.Sort.Direction;
import org.springframework.data.domain.Sort.Order;
@ -366,6 +367,15 @@ class QueryTests { @@ -366,6 +367,15 @@ class QueryTests {
compareQueries(target, source);
}
@Test // GH-4771
void appliesSortOfUnpagedPageable() {
Query query = new Query();
query.with(Pageable.unpaged(Sort.by("sortMe")));
assertThat(query.isSorted()).isTrue();
}
private void compareQueries(Query actual, Query expected) {
assertThat(actual.getCollation()).isEqualTo(expected.getCollation());

Loading…
Cancel
Save