Pull request #331: RED-3630 - filtering

Merge in RED/persistence-service from RED-3630 to master

* commit '7cf5a7914fa1c0805f5e76b803c0ecfb137e63f9':
  RED-3630 - filtering
This commit is contained in:
Timo Bejan 2022-04-04 10:27:44 +02:00
commit 0af55036c9
3 changed files with 15 additions and 10 deletions

View File

@ -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<String> filteredDossierIds);
@GetMapping(value = REST_PATH + DOSSIER_ID_PATH_PARAM, produces = MediaType.APPLICATION_JSON_VALUE)
Dossier getDossierById(@PathVariable(DOSSIER_ID_PARAM) String dossierId,

View File

@ -107,10 +107,15 @@ public class DossierController implements DossierResource {
}
@Override
public DossierInformation getDossierInformation() {
public DossierInformation getDossierInformation(@RequestBody List<String> 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) {

View File

@ -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);