From 08b4883e5ecd27efdcdfdb78ca6e97d579353b6a Mon Sep 17 00:00:00 2001 From: Andrei Isvoran Date: Fri, 5 Jan 2024 09:51:16 +0200 Subject: [PATCH] RED-8043 - Correctly convert resize redactions --- .../manualredactions/ManualRedactionService.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) 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 a3dde3474..3f28cdf0d 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 @@ -5,7 +5,6 @@ import static com.knecon.fforesight.databasetenantcommons.providers.utils.MagicC import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Collections; -import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.stream.Collectors; @@ -32,7 +31,7 @@ import com.iqser.red.service.persistence.management.v1.processor.service.persist import com.iqser.red.service.persistence.management.v1.processor.service.persistence.annotations.RemoveRedactionPersistenceService; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.annotations.ResizeRedactionPersistenceService; import com.iqser.red.service.persistence.management.v1.processor.utils.ManualRedactionMapper; -import com.iqser.red.service.persistence.service.v1.api.shared.model.FileStatus; +import com.iqser.red.service.persistence.management.v1.processor.utils.ManualResizeRedactionMapper; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.EntityLog; 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.annotations.AddRedactionRequest; @@ -47,7 +46,6 @@ 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.ManualRedactionEntry; 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.file.FileModel; -import com.knecon.fforesight.databasetenantcommons.providers.utils.MagicConverter; import io.micrometer.observation.annotation.Observed; import lombok.AccessLevel; @@ -267,7 +265,7 @@ public class ManualRedactionService { public List addResizeRedaction(String dossierId, String fileId, List resizeRedactionRequests, boolean includeUnprocessed) { List response = new ArrayList<>(); - Set manualResizeRedactionEntities = new HashSet<>(); + List manualResizeRedactionEntities = new ArrayList<>(); EntityLog entityLog = entityLogService.getEntityLog(dossierId, fileId, Collections.emptyList(), includeUnprocessed); for (ResizeRedactionRequest resizeRedactionRequest : resizeRedactionRequests) { @@ -296,12 +294,12 @@ public class ManualRedactionService { manualResizeRedactionEntities = manualResizeRedactionEntities.stream() .filter(manualRedactionEntry -> !manualRedactionEntry.getUpdateDictionary()) - .collect(Collectors.toSet()); + .collect(Collectors.toList()); FileModel fileStatus = fileStatusService.getStatus(fileId); if (!manualResizeRedactionEntities.isEmpty() && fileStatus.isExcludedFromAutomaticAnalysis()) { ManualRedactions manualRedactions = ManualRedactions.builder() - .resizeRedactions(MagicConverter.convert(manualResizeRedactionEntities, ManualResizeRedaction.class)) + .resizeRedactions(convertResizeRedactions(manualResizeRedactionEntities)) .build(); entityLogMergeService.sendToAnalyseQueue(fileId, dossierPersistenceService.getAndValidateDossier(dossierId), fileStatusService.getStatus(fileId), manualRedactions); } else { @@ -314,6 +312,12 @@ public class ManualRedactionService { } + private Set convertResizeRedactions(List source) { + + return source.stream().map(entry -> convert(entry, ManualResizeRedaction.class, new ManualResizeRedactionMapper())).collect(Collectors.toSet()); + } + + private void validatePositions(String fileId, AddRedactionRequest addRedactionRequest) { var numberOfPages = fileStatusService.getStatus(fileId).getNumberOfPages();