From c28dcbfe400afc5d5cd58a718de34aa1c7fadb82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominique=20Eifl=C3=A4nder?= Date: Mon, 17 Jun 2024 14:58:51 +0200 Subject: [PATCH] RED-9297: When removing annotation with dictionary and manual always add a local remove as well --- .../ManualRedactionService.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/ManualRedactionService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/ManualRedactionService.java index 31559e21e..1ef9ec401 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/ManualRedactionService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/ManualRedactionService.java @@ -49,6 +49,7 @@ import com.iqser.red.service.persistence.management.v1.processor.utils.TypeIdUti import com.iqser.red.service.persistence.service.v1.api.shared.model.AnalyzeRequest; import com.iqser.red.service.persistence.service.v1.api.shared.model.MessageType; import com.iqser.red.service.persistence.service.v1.api.shared.model.RequestEntryPair; +import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.Engine; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.EntityLogEntry; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.EntryType; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.Position; @@ -69,6 +70,7 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.entitymapped.ManualResizeRedaction; import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.Dossier; import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.FileModel; +import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.type.DictionaryEntryType; import com.iqser.red.service.persistence.service.v1.api.shared.model.manual.AddRedactionRequestModel; import com.iqser.red.service.persistence.service.v1.api.shared.model.manual.ForceRedactionRequestModel; import com.iqser.red.service.persistence.service.v1.api.shared.model.manual.LegalBasisChangeRequestModel; @@ -213,6 +215,13 @@ public class ManualRedactionService { log.info("add removeRedaction for file {} and annotation {}", fileId, removeRedactionRequest.getAnnotationId()); IdRemovalEntity idRemoval = removeRedactionPersistenceService.insert(fileId, removeRedactionRequest); + if ((entityLogEntry.isDictionaryEntry() || entityLogEntry.isDossierDictionaryEntry()) + && (entityLogEntry.getEngines().contains(Engine.DICTIONARY) + || entityLogEntry.getEngines().contains(Engine.DOSSIER_DICTIONARY)) + && entityLogEntry.getEngines().contains(Engine.MANUAL)) { + insertLocalRemove(fileId, removeRedactionRequest); + } + Long commentId = commentService.addCommentAndGetId(fileId, removeRedactionRequest.getAnnotationId(), removeRedactionRequest.getComment(), @@ -240,6 +249,24 @@ public class ManualRedactionService { } + private void insertLocalRemove(String fileId, RemoveRedactionRequest removeRedactionRequest) { + + removeRedactionPersistenceService.insert(fileId, + RemoveRedactionRequest.builder() + .annotationId(removeRedactionRequest.getAnnotationId()) + .value(removeRedactionRequest.getValue()) + .dictionaryEntryType(removeRedactionRequest.getDictionaryEntryType()) + .user(removeRedactionRequest.getUser()) + .dossierId(removeRedactionRequest.getDossierId()) + .dossierTemplateId(removeRedactionRequest.getDossierTemplateId()) + .typeToRemove(removeRedactionRequest.getTypeToRemove()) + .removeFromDictionary(false) + .removeFromAllDossiers(false) + .page(removeRedactionRequest.getPage()) + .build()); + } + + @Transactional public List addForceRedaction(String dossierId, String fileId, Set forceRedactionRequests) { -- 2.47.2