From b5c35e3106578742f5765785ba6e8efe0b1a1757 Mon Sep 17 00:00:00 2001 From: Dmitriy Yakovlev Date: Thu, 18 Apr 2019 20:18:56 +0300 Subject: [PATCH] DATAES-459 - Return ScrolledPage instead of Page while using startScroll and continueScroll methods. --- .../reference/elasticsearch-misc.adoc | 8 +-- .../core/ElasticsearchOperations.java | 13 +++-- .../core/ElasticsearchRestTemplate.java | 24 ++++---- .../core/ElasticsearchTemplate.java | 24 ++++---- .../core/ElasticsearchTemplateTests.java | 56 +++++++++---------- 5 files changed, 63 insertions(+), 62 deletions(-) diff --git a/src/main/asciidoc/reference/elasticsearch-misc.adoc b/src/main/asciidoc/reference/elasticsearch-misc.adoc index bd71ca098..fcfd610ee 100644 --- a/src/main/asciidoc/reference/elasticsearch-misc.adoc +++ b/src/main/asciidoc/reference/elasticsearch-misc.adoc @@ -40,13 +40,13 @@ SearchQuery searchQuery = new NativeSearchQueryBuilder() .withPageable(PageRequest.of(0, 10)) .build(); -Page scroll = elasticsearchTemplate.startScroll(1000, searchQuery, SampleEntity.class); +ScrolledPage scroll = elasticsearchTemplate.startScroll(1000, searchQuery, SampleEntity.class); -String scrollId = ((ScrolledPage) scroll).getScrollId(); +String scrollId = scroll.getScrollId(); List sampleEntities = new ArrayList<>(); while (scroll.hasContent()) { sampleEntities.addAll(scroll.getContent()); - scrollId = ((ScrolledPage) scroll).getScrollId(); + scrollId = scroll.getScrollId(); scroll = elasticsearchTemplate.continueScroll(scrollId, 1000, SampleEntity.class); } elasticsearchTemplate.clearScroll(scrollId); @@ -74,4 +74,4 @@ while (stream.hasNext()) { sampleEntities.add(stream.next()); } ---- -==== \ No newline at end of file +==== diff --git a/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchOperations.java b/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchOperations.java index f07f69f33..0f1b6108f 100755 --- a/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchOperations.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchOperations.java @@ -36,6 +36,7 @@ * @author Mohsin Husen * @author Kevin Leturc * @author Zetang Zeng + * @author Dmitriy Yakovlev */ public interface ElasticsearchOperations { @@ -544,7 +545,7 @@ default List> queryForList(List queries, List> cla * @param clazz The class of entity to retrieve. * @return The scan id for input query. */ - Page startScroll(long scrollTimeInMillis, SearchQuery query, Class clazz); + ScrolledPage startScroll(long scrollTimeInMillis, SearchQuery query, Class clazz); /** * Returns scrolled page for given query @@ -555,7 +556,7 @@ default List> queryForList(List queries, List> cla * @param mapper Custom impl to map result to entities * @return The scan id for input query. */ - Page startScroll(long scrollTimeInMillis, SearchQuery query, Class clazz, SearchResultMapper mapper); + ScrolledPage startScroll(long scrollTimeInMillis, SearchQuery query, Class clazz, SearchResultMapper mapper); /** * Returns scrolled page for given query @@ -566,7 +567,7 @@ default List> queryForList(List queries, List> cla * @param clazz The class of entity to retrieve. * @return The scan id for input query. */ - Page startScroll(long scrollTimeInMillis, CriteriaQuery criteriaQuery, Class clazz); + ScrolledPage startScroll(long scrollTimeInMillis, CriteriaQuery criteriaQuery, Class clazz); /** * Returns scrolled page for given query @@ -577,11 +578,11 @@ default List> queryForList(List queries, List> cla * @param mapper Custom impl to map result to entities * @return The scan id for input query. */ - Page startScroll(long scrollTimeInMillis, CriteriaQuery criteriaQuery, Class clazz, SearchResultMapper mapper); + ScrolledPage startScroll(long scrollTimeInMillis, CriteriaQuery criteriaQuery, Class clazz, SearchResultMapper mapper); - Page continueScroll(@Nullable String scrollId, long scrollTimeInMillis, Class clazz); - Page continueScroll(@Nullable String scrollId, long scrollTimeInMillis, Class clazz, SearchResultMapper mapper); + ScrolledPage continueScroll(@Nullable String scrollId, long scrollTimeInMillis, Class clazz); + ScrolledPage continueScroll(@Nullable String scrollId, long scrollTimeInMillis, Class clazz, SearchResultMapper mapper); /** * Clears the search contexts associated with specified scroll ids. * diff --git a/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchRestTemplate.java b/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchRestTemplate.java index 0ea8705e1..e9903c944 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchRestTemplate.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchRestTemplate.java @@ -496,7 +496,7 @@ public Page queryForPage(StringQuery query, Class clazz, SearchResultM @Override public CloseableIterator stream(CriteriaQuery query, Class clazz) { final long scrollTimeInMillis = TimeValue.timeValueMinutes(1).millis(); - return doStream(scrollTimeInMillis, (ScrolledPage) startScroll(scrollTimeInMillis, query, clazz), clazz, + return doStream(scrollTimeInMillis, startScroll(scrollTimeInMillis, query, clazz), clazz, resultsMapper); } @@ -508,7 +508,7 @@ public CloseableIterator stream(SearchQuery query, Class clazz) { @Override public CloseableIterator stream(SearchQuery query, final Class clazz, final SearchResultMapper mapper) { final long scrollTimeInMillis = TimeValue.timeValueMinutes(1).millis(); - return doStream(scrollTimeInMillis, (ScrolledPage) startScroll(scrollTimeInMillis, query, clazz, mapper), clazz, + return doStream(scrollTimeInMillis, startScroll(scrollTimeInMillis, query, clazz, mapper), clazz, mapper); } @@ -547,7 +547,7 @@ public boolean hasNext() { // Test if it remains hits if (currentHits == null || !currentHits.hasNext()) { // Do a new request - final ScrolledPage scroll = (ScrolledPage) continueScroll(scrollId, scrollTimeInMillis, clazz, mapper); + final ScrolledPage scroll = continueScroll(scrollId, scrollTimeInMillis, clazz, mapper); // Save hits and scroll id currentHits = scroll.iterator(); finished = !currentHits.hasNext(); @@ -878,14 +878,14 @@ public AggregatedPage mapResults(SearchResponse response, Class clazz, } }; - Page scrolledResult = startScroll(scrollTimeInMillis, searchQuery, SearchHit.class, + ScrolledPage scrolledResult = startScroll(scrollTimeInMillis, searchQuery, SearchHit.class, deleteEntryResultMapper); BulkRequest request = new BulkRequest(); List documentsToDelete = new ArrayList<>(); do { documentsToDelete.addAll(scrolledResult.getContent()); - scrolledResult = continueScroll(((ScrolledPage) scrolledResult).getScrollId(), scrollTimeInMillis, + scrolledResult = continueScroll(scrolledResult.getScrollId(), scrollTimeInMillis, SearchHit.class, deleteEntryResultMapper); } while (scrolledResult.getContent().size() != 0); @@ -903,7 +903,7 @@ public AggregatedPage mapResults(SearchResponse response, Class clazz, } } - clearScroll(((ScrolledPage) scrolledResult).getScrollId()); + clearScroll(scrolledResult.getScrollId()); } @Override @@ -999,29 +999,29 @@ private SearchResponse doScroll(SearchRequest request, SearchQuery searchQuery) } } - public Page startScroll(long scrollTimeInMillis, SearchQuery searchQuery, Class clazz) { + public ScrolledPage startScroll(long scrollTimeInMillis, SearchQuery searchQuery, Class clazz) { SearchResponse response = doScroll(prepareScroll(searchQuery, scrollTimeInMillis, clazz), searchQuery); return resultsMapper.mapResults(response, clazz, null); } - public Page startScroll(long scrollTimeInMillis, CriteriaQuery criteriaQuery, Class clazz) { + public ScrolledPage startScroll(long scrollTimeInMillis, CriteriaQuery criteriaQuery, Class clazz) { SearchResponse response = doScroll(prepareScroll(criteriaQuery, scrollTimeInMillis, clazz), criteriaQuery); return resultsMapper.mapResults(response, clazz, null); } - public Page startScroll(long scrollTimeInMillis, SearchQuery searchQuery, Class clazz, + public ScrolledPage startScroll(long scrollTimeInMillis, SearchQuery searchQuery, Class clazz, SearchResultMapper mapper) { SearchResponse response = doScroll(prepareScroll(searchQuery, scrollTimeInMillis, clazz), searchQuery); return mapper.mapResults(response, clazz, null); } - public Page startScroll(long scrollTimeInMillis, CriteriaQuery criteriaQuery, Class clazz, + public ScrolledPage startScroll(long scrollTimeInMillis, CriteriaQuery criteriaQuery, Class clazz, SearchResultMapper mapper) { SearchResponse response = doScroll(prepareScroll(criteriaQuery, scrollTimeInMillis, clazz), criteriaQuery); return mapper.mapResults(response, clazz, null); } - public Page continueScroll(@Nullable String scrollId, long scrollTimeInMillis, Class clazz) { + public ScrolledPage continueScroll(@Nullable String scrollId, long scrollTimeInMillis, Class clazz) { SearchScrollRequest request = new SearchScrollRequest(scrollId); request.scroll(TimeValue.timeValueMillis(scrollTimeInMillis)); SearchResponse response; @@ -1033,7 +1033,7 @@ public Page continueScroll(@Nullable String scrollId, long scrollTimeInMi return resultsMapper.mapResults(response, clazz, Pageable.unpaged()); } - public Page continueScroll(@Nullable String scrollId, long scrollTimeInMillis, Class clazz, + public ScrolledPage continueScroll(@Nullable String scrollId, long scrollTimeInMillis, Class clazz, SearchResultMapper mapper) { SearchScrollRequest request = new SearchScrollRequest(scrollId); request.scroll(TimeValue.timeValueMillis(scrollTimeInMillis)); diff --git a/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplate.java b/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplate.java index 27ae36ed7..67bbd5673 100755 --- a/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplate.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplate.java @@ -437,7 +437,7 @@ public Page queryForPage(StringQuery query, Class clazz, SearchResultM @Override public CloseableIterator stream(CriteriaQuery query, Class clazz) { final long scrollTimeInMillis = TimeValue.timeValueMinutes(1).millis(); - return doStream(scrollTimeInMillis, (ScrolledPage) startScroll(scrollTimeInMillis, query, clazz), clazz, + return doStream(scrollTimeInMillis, startScroll(scrollTimeInMillis, query, clazz), clazz, resultsMapper); } @@ -449,7 +449,7 @@ public CloseableIterator stream(SearchQuery query, Class clazz) { @Override public CloseableIterator stream(SearchQuery query, final Class clazz, final SearchResultMapper mapper) { final long scrollTimeInMillis = TimeValue.timeValueMinutes(1).millis(); - return doStream(scrollTimeInMillis, (ScrolledPage) startScroll(scrollTimeInMillis, query, clazz, mapper), clazz, + return doStream(scrollTimeInMillis, startScroll(scrollTimeInMillis, query, clazz, mapper), clazz, mapper); } @@ -488,7 +488,7 @@ public boolean hasNext() { // Test if it remains hits if (currentHits == null || !currentHits.hasNext()) { // Do a new request - final ScrolledPage scroll = (ScrolledPage) continueScroll(scrollId, scrollTimeInMillis, clazz, mapper); + final ScrolledPage scroll = continueScroll(scrollId, scrollTimeInMillis, clazz, mapper); // Save hits and scroll id currentHits = scroll.iterator(); finished = !currentHits.hasNext(); @@ -765,14 +765,14 @@ public AggregatedPage mapResults(SearchResponse response, Class clazz, } }; - Page scrolledResult = startScroll(scrollTimeInMillis, searchQuery, SearchHit.class, + ScrolledPage scrolledResult = startScroll(scrollTimeInMillis, searchQuery, SearchHit.class, deleteEntryResultMapper); BulkRequestBuilder bulkRequestBuilder = client.prepareBulk(); List documentsToDelete = new ArrayList<>(); do { documentsToDelete.addAll(scrolledResult.getContent()); - scrolledResult = continueScroll(((ScrolledPage) scrolledResult).getScrollId(), scrollTimeInMillis, + scrolledResult = continueScroll(scrolledResult.getScrollId(), scrollTimeInMillis, SearchHit.class, deleteEntryResultMapper); } while (scrolledResult.getContent().size() != 0); @@ -784,7 +784,7 @@ public AggregatedPage mapResults(SearchResponse response, Class clazz, bulkRequestBuilder.execute().actionGet(); } - clearScroll(((ScrolledPage) scrolledResult).getScrollId()); + clearScroll(scrolledResult.getScrollId()); } @Override @@ -862,35 +862,35 @@ private SearchResponse doScroll(SearchRequestBuilder requestBuilder, SearchQuery return getSearchResponse(requestBuilder.setQuery(searchQuery.getQuery())); } - public Page startScroll(long scrollTimeInMillis, SearchQuery searchQuery, Class clazz) { + public ScrolledPage startScroll(long scrollTimeInMillis, SearchQuery searchQuery, Class clazz) { SearchResponse response = doScroll(prepareScroll(searchQuery, scrollTimeInMillis, clazz), searchQuery); return resultsMapper.mapResults(response, clazz, null); } - public Page startScroll(long scrollTimeInMillis, CriteriaQuery criteriaQuery, Class clazz) { + public ScrolledPage startScroll(long scrollTimeInMillis, CriteriaQuery criteriaQuery, Class clazz) { SearchResponse response = doScroll(prepareScroll(criteriaQuery, scrollTimeInMillis, clazz), criteriaQuery); return resultsMapper.mapResults(response, clazz, null); } - public Page startScroll(long scrollTimeInMillis, SearchQuery searchQuery, Class clazz, + public ScrolledPage startScroll(long scrollTimeInMillis, SearchQuery searchQuery, Class clazz, SearchResultMapper mapper) { SearchResponse response = doScroll(prepareScroll(searchQuery, scrollTimeInMillis, clazz), searchQuery); return mapper.mapResults(response, clazz, null); } - public Page startScroll(long scrollTimeInMillis, CriteriaQuery criteriaQuery, Class clazz, + public ScrolledPage startScroll(long scrollTimeInMillis, CriteriaQuery criteriaQuery, Class clazz, SearchResultMapper mapper) { SearchResponse response = doScroll(prepareScroll(criteriaQuery, scrollTimeInMillis, clazz), criteriaQuery); return mapper.mapResults(response, clazz, null); } - public Page continueScroll(@Nullable String scrollId, long scrollTimeInMillis, Class clazz) { + public ScrolledPage continueScroll(@Nullable String scrollId, long scrollTimeInMillis, Class clazz) { SearchResponse response = getSearchResponse( client.prepareSearchScroll(scrollId).setScroll(TimeValue.timeValueMillis(scrollTimeInMillis)).execute()); return resultsMapper.mapResults(response, clazz, Pageable.unpaged()); } - public Page continueScroll(@Nullable String scrollId, long scrollTimeInMillis, Class clazz, + public ScrolledPage continueScroll(@Nullable String scrollId, long scrollTimeInMillis, Class clazz, SearchResultMapper mapper) { SearchResponse response = getSearchResponse( client.prepareSearchScroll(scrollId).setScroll(TimeValue.timeValueMillis(scrollTimeInMillis)).execute()); diff --git a/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplateTests.java b/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplateTests.java index 4e4fdd0f1..af6b1c7d7 100755 --- a/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplateTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplateTests.java @@ -994,11 +994,11 @@ public void shouldReturnResultsWithScanAndScrollForGivenCriteriaQuery() { criteriaQuery.addTypes(TYPE_NAME); criteriaQuery.setPageable(PageRequest.of(0, 10)); - ScrolledPage scroll = (ScrolledPage) elasticsearchTemplate.startScroll( 1000, criteriaQuery, SampleEntity.class); + ScrolledPage scroll = elasticsearchTemplate.startScroll( 1000, criteriaQuery, SampleEntity.class); List sampleEntities = new ArrayList<>(); while (scroll.hasContent()) { sampleEntities.addAll(scroll.getContent()); - scroll = (ScrolledPage) elasticsearchTemplate.continueScroll(scroll.getScrollId() , 1000, SampleEntity.class); + scroll = elasticsearchTemplate.continueScroll(scroll.getScrollId() , 1000, SampleEntity.class); } elasticsearchTemplate.clearScroll(scroll.getScrollId()); assertThat(sampleEntities.size(), is(equalTo(30))); @@ -1016,11 +1016,11 @@ public void shouldReturnResultsWithScanAndScrollForGivenSearchQuery() { SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).withIndices(INDEX_NAME) .withTypes(TYPE_NAME).withPageable(PageRequest.of(0, 10)).build(); - ScrolledPage scroll = (ScrolledPage) elasticsearchTemplate.startScroll(1000, searchQuery, SampleEntity.class); + ScrolledPage scroll = elasticsearchTemplate.startScroll(1000, searchQuery, SampleEntity.class); List sampleEntities = new ArrayList<>(); while (scroll.hasContent()) { sampleEntities.addAll(scroll.getContent()); - scroll = (ScrolledPage) elasticsearchTemplate.continueScroll(scroll.getScrollId() , 1000, SampleEntity.class); + scroll = elasticsearchTemplate.continueScroll(scroll.getScrollId() , 1000, SampleEntity.class); } elasticsearchTemplate.clearScroll(scroll.getScrollId()); assertThat(sampleEntities.size(), is(equalTo(30))); @@ -1067,12 +1067,12 @@ public void shouldReturnResultsWithScanAndScrollForSpecifiedFieldsForCriteriaQue criteriaQuery.addFields("message"); criteriaQuery.setPageable(PageRequest.of(0, 10)); - Page scroll = elasticsearchTemplate.startScroll(1000, criteriaQuery, SampleEntity.class, searchResultMapper); - String scrollId = ((ScrolledPage)scroll).getScrollId(); + ScrolledPage scroll = elasticsearchTemplate.startScroll(1000, criteriaQuery, SampleEntity.class, searchResultMapper); + String scrollId = scroll.getScrollId(); List sampleEntities = new ArrayList<>(); while (scroll.hasContent()) { sampleEntities.addAll(scroll.getContent()); - scrollId = ((ScrolledPage)scroll).getScrollId(); + scrollId = scroll.getScrollId(); scroll = elasticsearchTemplate.continueScroll(scrollId , 1000, SampleEntity.class, searchResultMapper); } elasticsearchTemplate. clearScroll(scrollId); @@ -1099,12 +1099,12 @@ public void shouldReturnResultsWithScanAndScrollForSpecifiedFieldsForSearchCrite .withPageable(PageRequest.of(0, 10)) .build(); - Page scroll = elasticsearchTemplate.startScroll(1000, searchQuery, SampleEntity.class, searchResultMapper); - String scrollId = ((ScrolledPage) scroll).getScrollId(); + ScrolledPage scroll = elasticsearchTemplate.startScroll(1000, searchQuery, SampleEntity.class, searchResultMapper); + String scrollId = scroll.getScrollId(); List sampleEntities = new ArrayList<>(); while (scroll.hasContent()) { sampleEntities.addAll(scroll.getContent()); - scrollId = ((ScrolledPage) scroll).getScrollId(); + scrollId = scroll.getScrollId(); scroll = elasticsearchTemplate.continueScroll(scrollId, 1000, SampleEntity.class, searchResultMapper); } elasticsearchTemplate.clearScroll(scrollId); @@ -1128,12 +1128,12 @@ public void shouldReturnResultsForScanAndScrollWithCustomResultMapperForGivenCri criteriaQuery.addTypes(TYPE_NAME); criteriaQuery.setPageable(PageRequest.of(0, 10)); - Page scroll = elasticsearchTemplate.startScroll(1000, criteriaQuery, SampleEntity.class, searchResultMapper); - String scrollId = ((ScrolledPage) scroll).getScrollId(); + ScrolledPage scroll = elasticsearchTemplate.startScroll(1000, criteriaQuery, SampleEntity.class, searchResultMapper); + String scrollId = scroll.getScrollId(); List sampleEntities = new ArrayList<>(); while (scroll.hasContent()) { sampleEntities.addAll(scroll.getContent()); - scrollId = ((ScrolledPage) scroll).getScrollId(); + scrollId = scroll.getScrollId(); scroll = elasticsearchTemplate.continueScroll(scrollId, 1000, SampleEntity.class, searchResultMapper); } elasticsearchTemplate.clearScroll(scrollId); @@ -1152,12 +1152,12 @@ public void shouldReturnResultsForScanAndScrollWithCustomResultMapperForGivenSea SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).withIndices(INDEX_NAME) .withTypes(TYPE_NAME).withPageable(PageRequest.of(0, 10)).build(); - Page scroll = elasticsearchTemplate.startScroll(1000, searchQuery, SampleEntity.class,searchResultMapper); - String scrollId = ((ScrolledPage) scroll).getScrollId(); + ScrolledPage scroll = elasticsearchTemplate.startScroll(1000, searchQuery, SampleEntity.class,searchResultMapper); + String scrollId = scroll.getScrollId(); List sampleEntities = new ArrayList<>(); while (scroll.hasContent()) { sampleEntities.addAll(scroll.getContent()); - scrollId = ((ScrolledPage) scroll).getScrollId(); + scrollId = scroll.getScrollId(); scroll = elasticsearchTemplate.continueScroll(scrollId, 1000, SampleEntity.class, searchResultMapper); } elasticsearchTemplate.clearScroll(scrollId); @@ -1179,12 +1179,12 @@ public void shouldReturnResultsWithScanAndScrollForGivenCriteriaQueryAndClass() CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria()); criteriaQuery.setPageable(PageRequest.of(0, 10)); - Page scroll = elasticsearchTemplate.startScroll(1000, criteriaQuery, SampleEntity.class); - String scrollId = ((ScrolledPage) scroll).getScrollId(); + ScrolledPage scroll = elasticsearchTemplate.startScroll(1000, criteriaQuery, SampleEntity.class); + String scrollId = scroll.getScrollId(); List sampleEntities = new ArrayList<>(); while (scroll.hasContent()) { sampleEntities.addAll(scroll.getContent()); - scrollId = ((ScrolledPage) scroll).getScrollId(); + scrollId = scroll.getScrollId(); scroll = elasticsearchTemplate.continueScroll(scrollId, 1000, SampleEntity.class); } elasticsearchTemplate.clearScroll(scrollId); @@ -1206,12 +1206,12 @@ public void shouldReturnResultsWithScanAndScrollForGivenSearchQueryAndClass() { SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withPageable(PageRequest.of(0, 10)).build(); - Page scroll = elasticsearchTemplate.startScroll(1000, searchQuery, SampleEntity.class); - String scrollId = ((ScrolledPage) scroll).getScrollId(); + ScrolledPage scroll = elasticsearchTemplate.startScroll(1000, searchQuery, SampleEntity.class); + String scrollId = scroll.getScrollId(); List sampleEntities = new ArrayList<>(); while (scroll.hasContent()) { sampleEntities.addAll(scroll.getContent()); - scrollId = ((ScrolledPage) scroll).getScrollId(); + scrollId = scroll.getScrollId(); scroll = elasticsearchTemplate.continueScroll(scrollId, 1000, SampleEntity.class); } elasticsearchTemplate.clearScroll(scrollId); @@ -2634,12 +2634,12 @@ public void shouldApplyCriteriaQueryToScanAndScrollForGivenCriteriaQuery() { criteriaQuery.addTypes(TYPE_NAME); criteriaQuery.setPageable(PageRequest.of(0, 10)); - ScrolledPage scroll = (ScrolledPage) elasticsearchTemplate.startScroll(1000, + ScrolledPage scroll = elasticsearchTemplate.startScroll(1000, criteriaQuery, SampleEntity.class); List sampleEntities = new ArrayList<>(); while (scroll.hasContent()) { sampleEntities.addAll(scroll.getContent()); - scroll = (ScrolledPage) elasticsearchTemplate.continueScroll(scroll.getScrollId(), 1000, + scroll = elasticsearchTemplate.continueScroll(scroll.getScrollId(), 1000, SampleEntity.class); } elasticsearchTemplate.clearScroll(scroll.getScrollId()); @@ -2671,12 +2671,12 @@ public void shouldApplySearchQueryToScanAndScrollForGivenSearchQuery() { SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchQuery("message", "message")) .withIndices(INDEX_NAME).withTypes(TYPE_NAME).withPageable(PageRequest.of(0, 10)).build(); - ScrolledPage scroll = (ScrolledPage) elasticsearchTemplate.startScroll(1000, + ScrolledPage scroll = elasticsearchTemplate.startScroll(1000, searchQuery, SampleEntity.class); List sampleEntities = new ArrayList<>(); while (scroll.hasContent()) { sampleEntities.addAll(scroll.getContent()); - scroll = (ScrolledPage) elasticsearchTemplate.continueScroll(scroll.getScrollId(), 1000, + scroll = elasticsearchTemplate.continueScroll(scroll.getScrollId(), 1000, SampleEntity.class); } elasticsearchTemplate.clearScroll(scroll.getScrollId()); @@ -2703,11 +2703,11 @@ public void shouldRespectSourceFilterWithScanAndScrollForGivenSearchQuery() { .withSourceFilter(sourceFilter) .build(); - ScrolledPage scroll = (ScrolledPage) elasticsearchTemplate.startScroll(1000, searchQuery, SampleEntity.class); + ScrolledPage scroll = elasticsearchTemplate.startScroll(1000, searchQuery, SampleEntity.class); List sampleEntities = new ArrayList<>(); while (scroll.hasContent()) { sampleEntities.addAll(scroll.getContent()); - scroll = (ScrolledPage) elasticsearchTemplate.continueScroll(scroll.getScrollId() , 1000, SampleEntity.class); + scroll = elasticsearchTemplate.continueScroll(scroll.getScrollId() , 1000, SampleEntity.class); } elasticsearchTemplate.clearScroll(scroll.getScrollId()); assertThat(sampleEntities.size(), is(equalTo(3)));