Browse Source

Enable `Streamable` for `Pageable` use.

Closes #3397
pull/3399/head
Mark Paluch 1 month ago
parent
commit
c4527daaa0
No known key found for this signature in database
GPG Key ID: 55BC6374BAA9D973
  1. 1
      src/main/java/org/springframework/data/repository/util/QueryExecutionConverters.java
  2. 12
      src/test/java/org/springframework/data/repository/query/QueryMethodUnitTests.java

1
src/main/java/org/springframework/data/repository/util/QueryExecutionConverters.java

@ -100,6 +100,7 @@ public abstract class QueryExecutionConverters { @@ -100,6 +100,7 @@ public abstract class QueryExecutionConverters {
ALLOWED_PAGEABLE_TYPES.add(Slice.class);
ALLOWED_PAGEABLE_TYPES.add(Page.class);
ALLOWED_PAGEABLE_TYPES.add(List.class);
ALLOWED_PAGEABLE_TYPES.add(Streamable.class);
ALLOWED_PAGEABLE_TYPES.add(Window.class);
ALLOWED_PAGEABLE_TYPES.add(SearchResults.class);

12
src/test/java/org/springframework/data/repository/query/QueryMethodUnitTests.java

@ -206,6 +206,16 @@ class QueryMethodUnitTests { @@ -206,6 +206,16 @@ class QueryMethodUnitTests {
assertThat(new QueryMethod(method, repositoryMetadata, factory, DefaultParameters::new).isStreamQuery()).isTrue();
}
@Test // GH-3397
void doesNotRejectStreamableForPagination() throws Exception {
RepositoryMetadata repositoryMetadata = new DefaultRepositoryMetadata(SampleRepository.class);
var method = SampleRepository.class.getMethod("streamable", Pageable.class);
assertThat(new QueryMethod(method, repositoryMetadata, factory, DefaultParameters::new).isCollectionQuery())
.isTrue();
}
@Test // DATACMNS-716
void doesNotRejectCompletableFutureQueryForSingleEntity() throws Exception {
@ -445,6 +455,8 @@ class QueryMethodUnitTests { @@ -445,6 +455,8 @@ class QueryMethodUnitTests {
Stream<String> streaming(Pageable pageable);
Streamable<String> streamable(Pageable pageable);
// DATACMNS-716
CompletableFuture<User> returnsCompletableFutureForSingleEntity();

Loading…
Cancel
Save