From d25b8c39344f41c3b566fc1a8974f6f3e91f4dba Mon Sep 17 00:00:00 2001 From: Kilian Schuettler Date: Wed, 30 Aug 2023 14:51:50 +0200 Subject: [PATCH] RED-7317: Endpoint to change entity types of dict-based annotations * fixed tests --- ...anualRedactionDictionaryUpdateHandler.java | 47 ++++++++++++------- .../tests/ManualRedactionTest.java | 2 +- 2 files changed, 31 insertions(+), 18 deletions(-) diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/ManualRedactionDictionaryUpdateHandler.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/ManualRedactionDictionaryUpdateHandler.java index 97a5e84b8..5df5433ff 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/ManualRedactionDictionaryUpdateHandler.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/ManualRedactionDictionaryUpdateHandler.java @@ -57,23 +57,37 @@ public class ManualRedactionDictionaryUpdateHandler { } Set typeIdsOfModifiedDictionaries = new HashSet<>(); if (manualRequestWithAddToDictionary.isAddToAllDossiers()) { - List dictionaryEntriesToUnDelete = dictionaryManagementService.getAllEntriesInDossierTemplate(manualRequestWithAddToDictionary.getDossierTemplateTypeId(), - value); - dictionaryEntriesToUnDelete.forEach(entry -> { - typeIdsOfModifiedDictionaries.add(entry.getTypeId()); - addToDictionary(entry.getTypeId(), - value, - manualRequestWithAddToDictionary.getDossierId(), - fileId, - manualRequestWithAddToDictionary.getDictionaryEntryType()); - }); - addToDictionary(manualRequestWithAddToDictionary.getDossierTemplateTypeId(), - value, - manualRequestWithAddToDictionary.getDossierId(), - fileId, - manualRequestWithAddToDictionary.getDictionaryEntryType()); - typeIdsOfModifiedDictionaries.add(manualRequestWithAddToDictionary.getDossierTemplateTypeId()); + return addToDossierTemplateDictionary(fileId, value, manualRequestWithAddToDictionary, typeIdsOfModifiedDictionaries); } + return addToDossierDictionary(fileId, value, manualRequestWithAddToDictionary, typeIdsOfModifiedDictionaries); + } + + + + + private Set addToDossierTemplateDictionary(String fileId, String value, ManualRequestWithAddToDictionary manualRequestWithAddToDictionary, Set typeIdsOfModifiedDictionaries) { + + List dictionaryEntriesToUnDelete = dictionaryManagementService.getAllEntriesInDossierTemplate(manualRequestWithAddToDictionary.getDossierTemplateTypeId(), + value); + dictionaryEntriesToUnDelete.forEach(entry -> { + typeIdsOfModifiedDictionaries.add(entry.getTypeId()); + addToDictionary(entry.getTypeId(), value, + manualRequestWithAddToDictionary.getDossierId(), fileId, + manualRequestWithAddToDictionary.getDictionaryEntryType()); + }); + addToDictionary(manualRequestWithAddToDictionary.getDossierTemplateTypeId(), value, + manualRequestWithAddToDictionary.getDossierId(), fileId, + manualRequestWithAddToDictionary.getDictionaryEntryType()); + typeIdsOfModifiedDictionaries.add(manualRequestWithAddToDictionary.getDossierTemplateTypeId()); + return typeIdsOfModifiedDictionaries; + } + + + private Set addToDossierDictionary(String fileId, + String value, + ManualRequestWithAddToDictionary manualRequestWithAddToDictionary, + Set typeIdsOfModifiedDictionaries) { + addToDictionary(manualRequestWithAddToDictionary.getDossierTemplateTypeId() + ":" + manualRequestWithAddToDictionary.getDossierId(), value, manualRequestWithAddToDictionary.getDossierId(), @@ -83,7 +97,6 @@ public class ManualRedactionDictionaryUpdateHandler { return typeIdsOfModifiedDictionaries; } - public Set handleRemoveFromDictionaryAndReturnModifiedTypeIds(RedactionLogEntry redactionLogEntry, String fileId, String dossierId, diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ManualRedactionTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ManualRedactionTest.java index ab73a294a..5c973e35d 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ManualRedactionTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ManualRedactionTest.java @@ -1005,7 +1005,7 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { dossierTemplateDictionary2 = dictionaryClient.getDictionaryForType(type2.getType(), type.getDossierTemplateId(), null); assertThat(dossierTemplateDictionary2.getEntries()).containsExactlyInAnyOrder(lukeSkywalker); dossierDictionary2 = dictionaryClient.getDictionaryForType(type2.getType(), type.getDossierTemplateId(), dossier.getDossierId()); - assertThat(dossierDictionary2.getEntries()).containsExactlyInAnyOrder(lukeSkywalker); + assertThat(dossierDictionary2.getEntries()).isEmpty(); manualRedactionClient.undo(dossier.getDossierId(), file.getFileId(), Set.of(annotationId));