From cfb967801893b44ee8c34efe4dccd649feed627e Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Sat, 3 Jun 2017 13:11:06 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B3=D1=80=D0=B0=D0=BD=D0=B8=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BA=D0=BE=D0=BB=D0=B8=D1=87=D0=B5?= =?UTF-8?q?=D1=81=D1=82=D0=B2=D0=B0=20=D0=BF=D0=BE=D0=B8=D1=81=D0=BA=D0=BE?= =?UTF-8?q?=D0=B2=D0=BE=D0=B9=20=D0=B2=D1=8B=D0=B4=D0=B0=D1=87=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/kinosearch/kinosearch3/base/BaseRepository.java | 2 +- .../java/kinosearch/kinosearch3/base/MongoDBRepository.java | 5 ++++- .../java/kinosearch/kinosearch3/webpp/WebAppController.java | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/kinosearch/kinosearch3/base/BaseRepository.java b/src/main/java/kinosearch/kinosearch3/base/BaseRepository.java index f76d4df..63cb193 100644 --- a/src/main/java/kinosearch/kinosearch3/base/BaseRepository.java +++ b/src/main/java/kinosearch/kinosearch3/base/BaseRepository.java @@ -7,6 +7,6 @@ package kinosearch.kinosearch3.base; import java.util.List; public interface BaseRepository { - List findByTitle(String title); + List findByTitle(String title, int page); void save(CinemaDocument cinemaDocument); } diff --git a/src/main/java/kinosearch/kinosearch3/base/MongoDBRepository.java b/src/main/java/kinosearch/kinosearch3/base/MongoDBRepository.java index b6ee14a..c2327e4 100644 --- a/src/main/java/kinosearch/kinosearch3/base/MongoDBRepository.java +++ b/src/main/java/kinosearch/kinosearch3/base/MongoDBRepository.java @@ -22,10 +22,13 @@ public class MongoDBRepository implements BaseRepository { } @Override - public List findByTitle(String title) { + public List findByTitle(String title, int page) { Query query = new Query(); final String regex = String.format(".*%s.*", Pattern.quote(title)); query.addCriteria(Criteria.where("title").regex(regex, "i")); + final int limitPage = 10; + query.skip(limitPage * (page-1)); + query.limit(limitPage); logger.debug("query: {}", query.toString()); return mongoOperations.find(query, CinemaDocument.class); } diff --git a/src/main/java/kinosearch/kinosearch3/webpp/WebAppController.java b/src/main/java/kinosearch/kinosearch3/webpp/WebAppController.java index ef182cc..165561f 100644 --- a/src/main/java/kinosearch/kinosearch3/webpp/WebAppController.java +++ b/src/main/java/kinosearch/kinosearch3/webpp/WebAppController.java @@ -46,7 +46,7 @@ public class WebAppController { if (searchText.trim().isEmpty()) { return "redirect:/"; } - List cinemaDocuments = baseRepository.findByTitle(searchText.trim()); + List cinemaDocuments = baseRepository.findByTitle(searchText.trim(), 1); model.addAttribute("cindocs", cinemaDocuments); model.addAttribute("searchText", searchText); return "searchResult";