diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/redactionlog/RedactionLogMergeService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/redactionlog/RedactionLogMergeService.java index 27806293e..327673023 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/redactionlog/RedactionLogMergeService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/redactionlog/RedactionLogMergeService.java @@ -78,11 +78,7 @@ public class RedactionLogMergeService { } - private RedactionLog mergeRedactionLogData(RedactionLog redactionLog, - ManualRedactions manualRedactions, - Set excludedPages, - List types, - Colors colors) { + private RedactionLog mergeRedactionLogData(RedactionLog redactionLog, ManualRedactions manualRedactions, Set excludedPages, List types, Colors colors) { var skippedImportedRedactions = new HashSet<>(); log.info("Merging Redaction log with manual redactions"); @@ -102,8 +98,7 @@ public class RedactionLogMergeService { if (excludedPages != null && !excludedPages.isEmpty()) { entry.getPositions().forEach(pos -> { - if (!entry.isLocalManualRedaction() && excludedPages.contains(pos.getPage())) { -// if (!isLocalManualRedaction(entry.getManualChanges()) && excludedPages.contains(pos.getPage())) { + if (!isLocalManualRedaction(entry) && excludedPages.contains(pos.getPage())) { entry.setExcluded(true); } }); @@ -132,11 +127,15 @@ public class RedactionLogMergeService { return redactionLog; } -// private boolean isLocalManualRedaction(List manualChanges) { -// -// return manualChanges != null && manualChanges.stream() -// .anyMatch(mc -> (mc.getManualRedactionType() == ManualRedactionType.ADD_LOCALLY || mc.getManualRedactionType() == ManualRedactionType.RESIZE) && mc.getAnnotationStatus() == AnnotationStatus.APPROVED); -// } + + private boolean isLocalManualRedaction(RedactionLogEntry entry) { + + return entry.getManualChanges() != null && entry.getManualChanges() + .stream() + .anyMatch(mc -> mc.getManualRedactionType() == ManualRedactionType.ADD_LOCALLY || mc.getManualRedactionType() == ManualRedactionType.RESIZE && mc.getAnnotationStatus() == AnnotationStatus.APPROVED && entry.getEngines() + .contains(Engine.RULE) && !entry.getEngines().contains(Engine.DICTIONARY)); + + } private List createManualRedactionWrappers(ManualRedactions manualRedactions) { diff --git a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/redactionlog/RedactionLogEntry.java b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/redactionlog/RedactionLogEntry.java index 02b327078..d620dea80 100644 --- a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/redactionlog/RedactionLogEntry.java +++ b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/redactionlog/RedactionLogEntry.java @@ -70,8 +70,10 @@ public class RedactionLogEntry { @Builder.Default private List manualChanges = new ArrayList<>(); + @Builder.Default private Set engines = new HashSet<>(); + @Builder.Default private Set reference = new HashSet<>(); @Builder.Default @@ -84,13 +86,6 @@ public class RedactionLogEntry { } - public boolean isLocalManualRedaction() { - - return manualChanges != null && manualChanges.stream() - .anyMatch(mc -> (mc.getManualRedactionType() == ManualRedactionType.ADD_LOCALLY || mc.getManualRedactionType() == ManualRedactionType.RESIZE) && mc.getAnnotationStatus() == AnnotationStatus.APPROVED); - } - - public boolean isManuallyRemoved() { return manualChanges != null && manualChanges.stream()