Browse Source

DATACMNS-1613 - Fixed Chunk.getSize() for usage with an unpaged Pageable.

We now return the content length as size of a Chunk if no Pageable has been used to create a Chunk. This makes the usage of a Chunk without an explicit Pageable work just like it was requested with the size of the given content.
pull/420/head
Oliver Drotbohm 6 years ago
parent
commit
d6c94d64b3
  1. 2
      src/main/java/org/springframework/data/domain/Chunk.java
  2. 11
      src/test/java/org/springframework/data/domain/PageImplUnitTests.java

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

@ -70,7 +70,7 @@ abstract class Chunk<T> implements Slice<T>, Serializable { @@ -70,7 +70,7 @@ abstract class Chunk<T> implements Slice<T>, Serializable {
* @see org.springframework.data.domain.Slice#getSize()
*/
public int getSize() {
return pageable.isPaged() ? pageable.getPageSize() : 0;
return pageable.isPaged() ? pageable.getPageSize() : content.size();
}
/*

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

@ -161,4 +161,15 @@ public class PageImplUnitTests { @@ -161,4 +161,15 @@ public class PageImplUnitTests {
assertThat(new PageImpl<>(Collections.<String> emptyList(), PageRequest.of(1, 10), 0).getTotalElements())
.isEqualTo(0L);
}
@Test // DATACMNS-1613
public void usesContentLengthForSizeIfNoPageableGiven() {
Page<Integer> page = new PageImpl<>(Arrays.asList(1, 2));
assertThat(page.getSize()).isEqualTo(2);
assertThat(page.getTotalPages()).isEqualTo(1);
assertThat(page.hasPrevious()).isFalse();
assertThat(page.hasNext()).isFalse();
}
}

Loading…
Cancel
Save