Browse Source

DATACMNS-713 - Disabled total adaption in PageImpl for empty pages.

The newly introduced adaption of the total in PageImpl must only be applied if the page accessed is not empty.
1.8.x
Oliver Gierke 11 years ago
parent
commit
cc079b18e4
  1. 2
      src/main/java/org/springframework/data/domain/PageImpl.java
  2. 10
      src/test/java/org/springframework/data/domain/PageImplUnitTests.java

2
src/main/java/org/springframework/data/domain/PageImpl.java

@ -41,7 +41,7 @@ public class PageImpl<T> extends Chunk<T> implements Page<T> { @@ -41,7 +41,7 @@ public class PageImpl<T> extends Chunk<T> implements Page<T> {
super(content, pageable);
this.total = pageable != null && pageable.getOffset() + pageable.getPageSize() > total
this.total = !content.isEmpty() && pageable != null && pageable.getOffset() + pageable.getPageSize() > total
? pageable.getOffset() + content.size() : total;
}

10
src/test/java/org/springframework/data/domain/PageImplUnitTests.java

@ -160,4 +160,14 @@ public class PageImplUnitTests { @@ -160,4 +160,14 @@ public class PageImplUnitTests {
assertThat(new PageImpl<String>(Arrays.asList("foo", "bar"), new PageRequest(1, 10), 11).getTotalElements(),
is(12L));
}
/**
* @see DATACMNS-713
*/
@Test
public void doesNotAdapttotalIfPageIsEmpty() {
assertThat(new PageImpl<String>(Collections.<String> emptyList(), new PageRequest(1, 10), 0).getTotalElements(),
is(0L));
}
}

Loading…
Cancel
Save