From 7cf5a7914fa1c0805f5e76b803c0ecfb137e63f9 Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Mon, 4 Apr 2022 11:23:07 +0300 Subject: [PATCH] RED-3630 - filtering --- .../service/v1/api/resources/DossierResource.java | 2 +- .../v1/server/controller/DossierController.java | 9 +++++++-- .../v1/server/integration/tests/DossierTest.java | 14 +++++++------- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DossierResource.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DossierResource.java index 010ca780b..c5cd9721c 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DossierResource.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DossierResource.java @@ -53,7 +53,7 @@ public interface DossierResource { @RequestParam(name = INCLUDE_DELETED_PARAM, defaultValue = "false", required = false) boolean includeDeleted); @GetMapping(value = REST_PATH + INFO_PATH, produces = MediaType.APPLICATION_JSON_VALUE) - DossierInformation getDossierInformation(); + DossierInformation getDossierInformation(@RequestBody List filteredDossierIds); @GetMapping(value = REST_PATH + DOSSIER_ID_PATH_PARAM, produces = MediaType.APPLICATION_JSON_VALUE) Dossier getDossierById(@PathVariable(DOSSIER_ID_PARAM) String dossierId, diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DossierController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DossierController.java index 09dc66294..b9d40337f 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DossierController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DossierController.java @@ -107,10 +107,15 @@ public class DossierController implements DossierResource { } @Override - public DossierInformation getDossierInformation() { + public DossierInformation getDossierInformation(@RequestBody List filteredDossierIds) { DossierInformation dossierInformation = new DossierInformation(); - dossierService.getAllDossiers().forEach(d -> { + + var dossiers = dossierService.getAllDossiers(); + if (filteredDossierIds != null && filteredDossierIds.size() > 0) { + dossiers = dossiers.stream().filter(d -> filteredDossierIds.contains(d.getId())).collect(Collectors.toList()); + } + dossiers.forEach(d -> { if (d.getHardDeletedTime() != null) { dossierInformation.setNumberOfHardDeletedDossiers(dossierInformation.getNumberOfHardDeletedDossiers() + 1); } else if (d.getSoftDeletedTime() != null) { diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierTest.java index 652bc719e..81a5e897a 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierTest.java @@ -113,7 +113,7 @@ public class DossierTest extends AbstractPersistenceServerServiceTest { assertThatThrownBy(() -> dossierClient.undeleteDossiers(Sets.newHashSet(dossier.getId()))).isInstanceOf(FeignException.class); - var dossierInformation = dossierClient.getDossierInformation(); + var dossierInformation = dossierClient.getDossierInformation(List.of()); assertThat(dossierInformation.getNumberOfActiveDossiers()).isEqualTo(0); assertThat(dossierInformation.getNumberOfSoftDeletedDossiers()).isEqualTo(0); assertThat(dossierInformation.getNumberOfHardDeletedDossiers()).isEqualTo(1); @@ -147,7 +147,7 @@ public class DossierTest extends AbstractPersistenceServerServiceTest { assertThat(dossierClient.getArchivedDossiers()).hasSize(1); assertThat(dossierClient.getSoftDeletedDossiers()).hasSize(0); - var dossierInformation = dossierClient.getDossierInformation(); + var dossierInformation = dossierClient.getDossierInformation(List.of()); assertThat(dossierInformation.getNumberOfActiveDossiers()).isEqualTo(1); assertThat(dossierInformation.getNumberOfSoftDeletedDossiers()).isEqualTo(0); assertThat(dossierInformation.getNumberOfHardDeletedDossiers()).isEqualTo(0); @@ -158,7 +158,7 @@ public class DossierTest extends AbstractPersistenceServerServiceTest { assertThat(dossierClient.getAllDossiers(false, false)).hasSize(2); assertThat(dossierClient.getArchivedDossiers()).hasSize(0); - dossierInformation = dossierClient.getDossierInformation(); + dossierInformation = dossierClient.getDossierInformation(List.of()); assertThat(dossierInformation.getNumberOfActiveDossiers()).isEqualTo(2); assertThat(dossierInformation.getNumberOfSoftDeletedDossiers()).isEqualTo(0); assertThat(dossierInformation.getNumberOfHardDeletedDossiers()).isEqualTo(0); @@ -171,7 +171,7 @@ public class DossierTest extends AbstractPersistenceServerServiceTest { assertThat(dossierClient.getArchivedDossiers()).hasSize(2); assertThat(dossierClient.getSoftDeletedDossiers()).hasSize(0); - dossierInformation = dossierClient.getDossierInformation(); + dossierInformation = dossierClient.getDossierInformation(List.of()); assertThat(dossierInformation.getNumberOfActiveDossiers()).isEqualTo(0); assertThat(dossierInformation.getNumberOfSoftDeletedDossiers()).isEqualTo(0); assertThat(dossierInformation.getNumberOfHardDeletedDossiers()).isEqualTo(0); @@ -187,7 +187,7 @@ public class DossierTest extends AbstractPersistenceServerServiceTest { assertThat(dossierClient.getArchivedDossiers()).hasSize(1); assertThat(dossierClient.getSoftDeletedDossiers()).hasSize(1); - dossierInformation = dossierClient.getDossierInformation(); + dossierInformation = dossierClient.getDossierInformation(List.of()); assertThat(dossierInformation.getNumberOfActiveDossiers()).isEqualTo(0); assertThat(dossierInformation.getNumberOfSoftDeletedDossiers()).isEqualTo(1); assertThat(dossierInformation.getNumberOfHardDeletedDossiers()).isEqualTo(0); @@ -201,7 +201,7 @@ public class DossierTest extends AbstractPersistenceServerServiceTest { assertThat(dossierClient.getArchivedDossiers()).hasSize(0); assertThat(dossierClient.getSoftDeletedDossiers()).hasSize(1); - dossierInformation = dossierClient.getDossierInformation(); + dossierInformation = dossierClient.getDossierInformation(List.of()); assertThat(dossierInformation.getNumberOfActiveDossiers()).isEqualTo(1); assertThat(dossierInformation.getNumberOfSoftDeletedDossiers()).isEqualTo(1); assertThat(dossierInformation.getNumberOfHardDeletedDossiers()).isEqualTo(0); @@ -217,7 +217,7 @@ public class DossierTest extends AbstractPersistenceServerServiceTest { assertThat(dossierClient.getArchivedDossiers()).hasSize(1); assertThat(dossierClient.getSoftDeletedDossiers()).hasSize(0); - dossierInformation = dossierClient.getDossierInformation(); + dossierInformation = dossierClient.getDossierInformation(List.of()); assertThat(dossierInformation.getNumberOfActiveDossiers()).isEqualTo(0); assertThat(dossierInformation.getNumberOfSoftDeletedDossiers()).isEqualTo(0); assertThat(dossierInformation.getNumberOfHardDeletedDossiers()).isEqualTo(1);