From 9f4edce48a9ebbc27b9e0421b9300ca7b5afc64a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominique=20Eifl=C3=A4nder?= Date: Mon, 1 Jul 2024 11:58:09 +0200 Subject: [PATCH] RED-9487: Fixed resizing of manual redactions when auto analysis is disabled --- .../service/EntityLogMongoWrapperService.java | 2 +- .../ManualRedactionProviderService.java | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/EntityLogMongoWrapperService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/EntityLogMongoWrapperService.java index b9aa028f9..9814197cd 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/EntityLogMongoWrapperService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/EntityLogMongoWrapperService.java @@ -36,7 +36,7 @@ public class EntityLogMongoWrapperService { List entityLogEntries = entityLogMongoService.findEntityLogEntriesByIds(dossierId, fileId, ids); if (includeUnprocessed) { DossierEntity dossier = dossierService.getDossierById(dossierId); - ManualRedactions unprocessedManualRedactions = manualRedactionProviderService.getManualRedactions(fileId, ManualChangesQueryOptions.unprocessedOnly()); + ManualRedactions unprocessedManualRedactions = manualRedactionProviderService.getManualRedactions(fileId, ManualChangesQueryOptions.unprocessedOnly(), ids); entityLogEntries = entityLogMergeService.mergeEntityLogEntries(unprocessedManualRedactions, entityLogEntries.stream().map(EntityLogEntry::getId).toList(), dossier, fileId); } return entityLogEntries; diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/ManualRedactionProviderService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/ManualRedactionProviderService.java index 35732b32a..0bdabee5b 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/ManualRedactionProviderService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/ManualRedactionProviderService.java @@ -4,7 +4,9 @@ import static com.knecon.fforesight.databasetenantcommons.providers.utils.MagicC import java.util.Collections; import java.util.HashSet; +import java.util.List; import java.util.Set; +import java.util.stream.Collectors; import org.springframework.dao.EmptyResultDataAccessException; import org.springframework.stereotype.Service; @@ -63,6 +65,12 @@ public class ManualRedactionProviderService { @Transactional public ManualRedactions getManualRedactions(String fileId, ManualChangesQueryOptions options) { + return getManualRedactions(fileId, options, Collections.emptyList()); + } + + + @Transactional + public ManualRedactions getManualRedactions(String fileId, ManualChangesQueryOptions options, List annotationIds) { Set entriesToAdd; Set removals; @@ -113,6 +121,15 @@ public class ManualRedactionProviderService { legalBasisChanges = Collections.emptySet(); } + if(!annotationIds.isEmpty()){ + return new ManualRedactions(removals.stream().filter(r -> annotationIds.contains(r.getAnnotationId())).collect(Collectors.toSet()), + entriesToAdd.stream().filter(r -> annotationIds.contains(r.getAnnotationId())).collect(Collectors.toSet()), + forceRedactions.stream().filter(r -> annotationIds.contains(r.getAnnotationId())).collect(Collectors.toSet()), + recategorizations.stream().filter(r -> annotationIds.contains(r.getAnnotationId())).collect(Collectors.toSet()), + legalBasisChanges.stream().filter(r -> annotationIds.contains(r.getAnnotationId())).collect(Collectors.toSet()), + resizeRedactions.stream().filter(r -> annotationIds.contains(r.getAnnotationId())).collect(Collectors.toSet())); + } + return new ManualRedactions(removals, entriesToAdd, forceRedactions, recategorizations, legalBasisChanges, resizeRedactions); }