From 79eaee888237ab79f1792d10d19edce0cb0d1eba Mon Sep 17 00:00:00 2001 From: hilpitome Date: Thu, 23 Jun 2022 15:49:38 +0300 Subject: [PATCH 1/3] order Practitioners by serverversion --- configs | 2 +- pom.xml | 4 +- .../postgres/PractitionerRepositoryImpl.java | 11 +++- .../search/PractitionerSearchBean.java | 58 ++++++++++++++++--- .../postgres/PractitionerRepositoryTest.java | 9 ++- .../service/PractitionerServiceTest.java | 2 +- 6 files changed, 67 insertions(+), 19 deletions(-) diff --git a/configs b/configs index c3b715d4e..16478fed3 160000 --- a/configs +++ b/configs @@ -1 +1 @@ -Subproject commit c3b715d4eba79bca22ea7e87a633ebe8655d3c86 +Subproject commit 16478fed3b976566d4e8ff8f06271420748599e5 diff --git a/pom.xml b/pom.xml index 66345198f..c0d172209 100755 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ opensrp-server-core jar - 2.14.0-SNAPSHOT + 2.14.1-SNAPSHOT opensrp-server-core OpenSRP Server Core module https://github.com/OpenSRP/opensrp-server-core @@ -21,7 +21,7 @@ UTF-8 1.5.1 - 1.1.2-SNAPSHOT + 1.1.3-SNAPSHOT 2.0.1-SNAPSHOT 1.6.7-SNAPSHOT 2.12.6 diff --git a/src/main/java/org/opensrp/repository/postgres/PractitionerRepositoryImpl.java b/src/main/java/org/opensrp/repository/postgres/PractitionerRepositoryImpl.java index e51d5da4d..5a9cab56e 100755 --- a/src/main/java/org/opensrp/repository/postgres/PractitionerRepositoryImpl.java +++ b/src/main/java/org/opensrp/repository/postgres/PractitionerRepositoryImpl.java @@ -2,6 +2,7 @@ import org.apache.commons.lang3.StringUtils; import org.joda.time.DateTime; +import org.opensrp.search.OrganizationSearchBean; import org.smartregister.domain.Practitioner; import org.opensrp.domain.postgres.PractitionerExample; import org.opensrp.repository.PractitionerRepository; @@ -190,7 +191,7 @@ public Practitioner getPractitionerByUsername(String username) { @Override public List getAllPractitioners(PractitionerSearchBean practitionerSearchBean) { - Pair pageSizeAndOffset = RepositoryUtil.getPageSizeAndOffset(practitionerSearchBean); + Pair pageSizeAndOffset = getPageSizeAndOffset(practitionerSearchBean); PractitionerExample practitionerExample = new PractitionerExample(); practitionerExample.createCriteria().andDateDeletedIsNull(); if(practitionerSearchBean.getOrderByFieldName() != null && practitionerSearchBean.getOrderByType() != null) { @@ -205,8 +206,8 @@ public List getAllPractitioners(PractitionerSearchBean practitione @Override public List getAllPractitionersByIdentifiers(List practitionerIdentifiers) { - PractitionerSearchBean practitionerSearchBean = new PractitionerSearchBean(null); - Pair pageSizeAndOffset = RepositoryUtil.getPageSizeAndOffset(practitionerSearchBean); + PractitionerSearchBean practitionerSearchBean = new PractitionerSearchBean(); + Pair pageSizeAndOffset = getPageSizeAndOffset(practitionerSearchBean); PractitionerExample practitionerExample = new PractitionerExample(); practitionerExample.createCriteria().andDateDeletedIsNull().andIdentifierIn(practitionerIdentifiers); List pgPractitionerList = practitionerMapper.selectMany(practitionerExample, pageSizeAndOffset.getRight(), pageSizeAndOffset.getLeft()); @@ -295,4 +296,8 @@ public Practitioner getPractitionerByIdentifier(String practitionerIdentifier) { return null; } } + + private Pair getPageSizeAndOffset(PractitionerSearchBean practitionerSearchBean) { + return RepositoryUtil.getPageSizeAndOffset(practitionerSearchBean.getPageNumber(), practitionerSearchBean.getPageSize()); + } } diff --git a/src/main/java/org/opensrp/search/PractitionerSearchBean.java b/src/main/java/org/opensrp/search/PractitionerSearchBean.java index 23cc707ca..23b218506 100644 --- a/src/main/java/org/opensrp/search/PractitionerSearchBean.java +++ b/src/main/java/org/opensrp/search/PractitionerSearchBean.java @@ -1,13 +1,25 @@ package org.opensrp.search; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.experimental.SuperBuilder; -@Data -@AllArgsConstructor -@SuperBuilder -public class PractitionerSearchBean extends BaseSearchBean { +public class PractitionerSearchBean { + + + private Integer pageNumber = 0; + + private Integer pageSize = 0; + + private FieldName orderByFieldName; + + private OrderByType orderByType; + + public enum OrderByType { + ASC, DESC + } + + + public enum FieldName { + id, identifier, server_version + } private Long serverVersion; @@ -18,4 +30,36 @@ public Long getServerVersion() { public void setServerVersion(Long serverVersion) { this.serverVersion = serverVersion; } + + public Integer getPageNumber() { + return pageNumber; + } + + public void setPageNumber(Integer pageNumber) { + this.pageNumber = pageNumber; + } + + public Integer getPageSize() { + return pageSize; + } + + public void setPageSize(Integer pageSize) { + this.pageSize = pageSize; + } + + public FieldName getOrderByFieldName() { + return orderByFieldName; + } + + public void setOrderByFieldName(FieldName orderByFieldName) { + this.orderByFieldName = orderByFieldName; + } + + public OrderByType getOrderByType() { + return orderByType; + } + + public void setOrderByType(OrderByType orderByType) { + this.orderByType = orderByType; + } } diff --git a/src/test/java/org/opensrp/repository/postgres/PractitionerRepositoryTest.java b/src/test/java/org/opensrp/repository/postgres/PractitionerRepositoryTest.java index 26d721466..7bdfecc44 100755 --- a/src/test/java/org/opensrp/repository/postgres/PractitionerRepositoryTest.java +++ b/src/test/java/org/opensrp/repository/postgres/PractitionerRepositoryTest.java @@ -341,9 +341,9 @@ public void testGetAllPractitioners() { practitionerRepository.add(practitioner1); Practitioner practitioner2 = initTestPractitioner2(); practitionerRepository.add(practitioner2); - PractitionerSearchBean practitionerSearchBean = PractitionerSearchBean.builder(). - orderByType(BaseSearchBean.OrderByType.DESC). - orderByFieldName(BaseSearchBean.FieldName.id).build(); + PractitionerSearchBean practitionerSearchBean = new PractitionerSearchBean(); + practitionerSearchBean.setOrderByFieldName(PractitionerSearchBean.FieldName.id); + practitionerSearchBean.setOrderByType(PractitionerSearchBean.OrderByType.DESC); practitionerSearchBean.setServerVersion(1l); List practitioners = practitionerRepository.getAllPractitioners(practitionerSearchBean); assertNotNull(practitioners); @@ -351,8 +351,7 @@ public void testGetAllPractitioners() { assertEquals("practitioner-2-identifier",practitioners.get(0).getIdentifier()); assertEquals("practitioner-1-identifier",practitioners.get(1).getIdentifier()); - practitionerSearchBean = PractitionerSearchBean.builder().orderByType(BaseSearchBean.OrderByType.ASC). - orderByFieldName(BaseSearchBean.FieldName.id).build(); + practitionerSearchBean.setOrderByType(PractitionerSearchBean.OrderByType.DESC); practitionerSearchBean.setServerVersion(1l); practitioners = practitionerRepository.getAllPractitioners(practitionerSearchBean); assertNotNull(practitioners); diff --git a/src/test/java/org/opensrp/service/PractitionerServiceTest.java b/src/test/java/org/opensrp/service/PractitionerServiceTest.java index 0f591ce4f..c9a4bbf87 100755 --- a/src/test/java/org/opensrp/service/PractitionerServiceTest.java +++ b/src/test/java/org/opensrp/service/PractitionerServiceTest.java @@ -57,7 +57,7 @@ public void testGetAllPractitioners() { expectedPractitioners.add(initTestPractitioner()); when(practitionerRepository.getAllPractitioners(any(PractitionerSearchBean.class))).thenReturn(expectedPractitioners); - PractitionerSearchBean practitionerSearchBean = new PractitionerSearchBean(0L); + PractitionerSearchBean practitionerSearchBean = new PractitionerSearchBean(); List actualPractitioners = practitionerService.getAllPractitioners(practitionerSearchBean); verify(practitionerRepository).getAllPractitioners(practitionerSearchBean); assertEquals(1, actualPractitioners.size()); From 9355f40149a278a374bb22d8c4ecb11cd8d84dc9 Mon Sep 17 00:00:00 2001 From: hilpitome Date: Thu, 23 Jun 2022 16:31:08 +0300 Subject: [PATCH 2/3] update configs module --- configs | 2 +- .../opensrp/repository/postgres/PractitionerRepositoryImpl.java | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/configs b/configs index 16478fed3..c3b715d4e 160000 --- a/configs +++ b/configs @@ -1 +1 @@ -Subproject commit 16478fed3b976566d4e8ff8f06271420748599e5 +Subproject commit c3b715d4eba79bca22ea7e87a633ebe8655d3c86 diff --git a/src/main/java/org/opensrp/repository/postgres/PractitionerRepositoryImpl.java b/src/main/java/org/opensrp/repository/postgres/PractitionerRepositoryImpl.java index 5a9cab56e..53076336f 100755 --- a/src/main/java/org/opensrp/repository/postgres/PractitionerRepositoryImpl.java +++ b/src/main/java/org/opensrp/repository/postgres/PractitionerRepositoryImpl.java @@ -2,7 +2,6 @@ import org.apache.commons.lang3.StringUtils; import org.joda.time.DateTime; -import org.opensrp.search.OrganizationSearchBean; import org.smartregister.domain.Practitioner; import org.opensrp.domain.postgres.PractitionerExample; import org.opensrp.repository.PractitionerRepository; From b90fbed9db6a53f93a6a1d62c96894714bb725c6 Mon Sep 17 00:00:00 2001 From: hilpitome Date: Thu, 23 Jun 2022 17:32:38 +0300 Subject: [PATCH 3/3] test practitionerSearchBean orderByType ASC --- .../repository/postgres/PractitionerRepositoryTest.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/test/java/org/opensrp/repository/postgres/PractitionerRepositoryTest.java b/src/test/java/org/opensrp/repository/postgres/PractitionerRepositoryTest.java index 7bdfecc44..341b9d4b4 100755 --- a/src/test/java/org/opensrp/repository/postgres/PractitionerRepositoryTest.java +++ b/src/test/java/org/opensrp/repository/postgres/PractitionerRepositoryTest.java @@ -15,7 +15,6 @@ import org.junit.Test; import org.smartregister.domain.Practitioner; import org.opensrp.repository.PractitionerRepository; -import org.opensrp.search.BaseSearchBean; import org.opensrp.search.PractitionerSearchBean; import org.springframework.beans.factory.annotation.Autowired; @@ -351,7 +350,7 @@ public void testGetAllPractitioners() { assertEquals("practitioner-2-identifier",practitioners.get(0).getIdentifier()); assertEquals("practitioner-1-identifier",practitioners.get(1).getIdentifier()); - practitionerSearchBean.setOrderByType(PractitionerSearchBean.OrderByType.DESC); + practitionerSearchBean.setOrderByType(PractitionerSearchBean.OrderByType.ASC); practitionerSearchBean.setServerVersion(1l); practitioners = practitionerRepository.getAllPractitioners(practitionerSearchBean); assertNotNull(practitioners);