This is an automated email from the ASF dual-hosted git repository. ofuks pushed a commit to branch audit in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
The following commit(s) were added to refs/heads/audit by this push: new abb6979 Added pagination for audit records new 13b73bd Merge remote-tracking branch 'origin/audit' into audit abb6979 is described below commit abb6979c9384102b3462b09524acf9df43697cf0 Author: Oleh Fuks <olegfuk...@gmail.com> AuthorDate: Wed Jun 17 16:51:06 2020 +0300 Added pagination for audit records --- .../java/com/epam/dlab/backendapi/dao/AuditDAO.java | 2 +- .../com/epam/dlab/backendapi/dao/AuditDAOImpl.java | 4 ++-- .../java/com/epam/dlab/backendapi/dao/BaseDAO.java | 18 ++++++++++++++++++ .../epam/dlab/backendapi/resources/AuditResource.java | 6 ++++-- .../com/epam/dlab/backendapi/service/AuditService.java | 2 +- .../dlab/backendapi/service/impl/AuditServiceImpl.java | 4 ++-- 6 files changed, 28 insertions(+), 8 deletions(-) diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/AuditDAO.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/AuditDAO.java index 3c9d825..23da384 100644 --- a/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/AuditDAO.java +++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/AuditDAO.java @@ -26,5 +26,5 @@ import java.util.List; public interface AuditDAO { void save(AuditDTO audit); - List<AuditDTO> getAudit(); + List<AuditDTO> getAudit(int pageNumber, int pageSize); } diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/AuditDAOImpl.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/AuditDAOImpl.java index 234011f..ee90efa 100644 --- a/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/AuditDAOImpl.java +++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/AuditDAOImpl.java @@ -32,7 +32,7 @@ public class AuditDAOImpl extends BaseDAO implements AuditDAO { } @Override - public List<AuditDTO> getAudit() { - return find(AUDIT_COLLECTION, AuditDTO.class); + public List<AuditDTO> getAudit(int pageNumber, int pageSize) { + return find(AUDIT_COLLECTION, pageNumber, pageSize, AuditDTO.class); } } diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/BaseDAO.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/BaseDAO.java index 96532a5..bdf88cc 100644 --- a/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/BaseDAO.java +++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/BaseDAO.java @@ -317,6 +317,24 @@ public class BaseDAO { } /** + * Finds and returns all documents from the collection converted to resulted type with pagination. + * + * @param collection collection name. + * @param pageNumber page number + * @param pageSize size of page + * @param resultedClass type of class for deserialization. + */ + protected <T> List<T> find(String collection, int pageNumber, int pageSize, Class<T> resultedClass) { + return find(collection) + .skip(pageSize * (pageNumber - 1)) + .limit(pageSize) + .into(new ArrayList<>()) + .stream() + .map(d -> convertFromDocument(d, resultedClass)) + .collect(Collectors.toList()); + } + + /** * Finds and returns documents from the collection by condition. * * @param collection collection name. diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/AuditResource.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/AuditResource.java index 3dccb90..2e5bba3 100644 --- a/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/AuditResource.java +++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/AuditResource.java @@ -31,6 +31,7 @@ import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; +import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; @@ -52,7 +53,8 @@ public class AuditResource { @GET @Produces(MediaType.APPLICATION_JSON) - public Response getAudit(@Auth UserInfo userInfo) { - return Response.ok(auditService.getAudit()).build(); + public Response getAudit(@Auth UserInfo userInfo, @QueryParam("page-number") int pageNumber, + @QueryParam("page-size") int pageSize) { + return Response.ok(auditService.getAudit(pageNumber, pageSize)).build(); } } diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/AuditService.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/AuditService.java index e3cf50c..6b9c3a9 100644 --- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/AuditService.java +++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/AuditService.java @@ -29,5 +29,5 @@ public interface AuditService { void save(String user, AuditCreateDTO audit); - List<AuditDTO> getAudit(); + List<AuditDTO> getAudit(int pageNumber, int pageSize); } diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/AuditServiceImpl.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/AuditServiceImpl.java index c2d17e0..060bbf3 100644 --- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/AuditServiceImpl.java +++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/AuditServiceImpl.java @@ -54,7 +54,7 @@ public class AuditServiceImpl implements AuditService { } @Override - public List<AuditDTO> getAudit() { - return auditDAO.getAudit(); + public List<AuditDTO> getAudit(int pageNumber, int pageSize) { + return auditDAO.getAudit(pageNumber, pageSize); } } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@dlab.apache.org For additional commands, e-mail: commits-h...@dlab.apache.org