Guest User

Untitled

a guest
Dec 16th, 2017
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | None | 0 0
  1. Page getFilteredResults(int pageSize, Result result) {
  2. // stored results
  3. List<Result> results = new ArrayList<>();
  4.  
  5. // initial query
  6. Page currentPage = queryService.query(pageSize, null);
  7. results.addAll(currentPage.getResults());
  8.  
  9. // get all results
  10. while(currentPage.hasMore()) {
  11. // get last result
  12. Results lastResult = currentPage.getResults().get(currentPage.getResults().size() - 1);
  13. currentPage = queryService.query(pageSize, lastResult);
  14. results.addAll(currentPage.getResults());
  15. }
  16.  
  17. // filter through results
  18. List<Result> filteredResults =
  19. results
  20. .stream()
  21. .filter(result -> test(result))
  22. .collect(Collectors.toList());
  23.  
  24. // paginate filtered results
  25. List<Result> paginatedFilteredResults =
  26. filteredResults
  27. .stream()
  28. .limit(pageSize)
  29. .collect(Collectors.toList());
  30.  
  31. return new Page(paginatedFilteredResults, filteredResults.size() > paginatedFilteredResults.size());
  32. }
Add Comment
Please, Sign In to add comment