Resolve RED-7400 #79

Merged
ali.oezyetimoglu1 merged 2 commits from RED-7400-ps2 into master 2023-08-23 18:20:52 +02:00
2 changed files with 14 additions and 14 deletions

View File

@ -78,11 +78,7 @@ public class RedactionLogMergeService {
}
private RedactionLog mergeRedactionLogData(RedactionLog redactionLog,
ManualRedactions manualRedactions,
Set<Integer> excludedPages,
List<Type> types,
Colors colors) {
private RedactionLog mergeRedactionLogData(RedactionLog redactionLog, ManualRedactions manualRedactions, Set<Integer> excludedPages, List<Type> types, Colors colors) {
var skippedImportedRedactions = new HashSet<>();
log.info("Merging Redaction log with manual redactions");
@ -102,7 +98,7 @@ public class RedactionLogMergeService {
if (excludedPages != null && !excludedPages.isEmpty()) {
entry.getPositions().forEach(pos -> {
if (!entry.isLocalManualRedaction() && excludedPages.contains(pos.getPage())) {
if (!isLocalManualRedaction(entry) && excludedPages.contains(pos.getPage())) {
entry.setExcluded(true);
}
});
@ -132,6 +128,16 @@ public class RedactionLogMergeService {
}
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<ManualRedactionWrapper> createManualRedactionWrappers(ManualRedactions manualRedactions) {
List<ManualRedactionWrapper> manualRedactionWrappers = new ArrayList<>();

View File

@ -70,8 +70,10 @@ public class RedactionLogEntry {
@Builder.Default
private List<ManualChange> manualChanges = new ArrayList<>();
@Builder.Default
private Set<Engine> engines = new HashSet<>();
@Builder.Default
private Set<String> reference = new HashSet<>();
@Builder.Default
@ -84,14 +86,6 @@ public class RedactionLogEntry {
}
public boolean isLocalManualRedaction() {
return manualChanges != null && manualChanges.stream()
.anyMatch(mc -> mc.getManualRedactionType() == ManualRedactionType.ADD_LOCALLY && mc.getAnnotationStatus() == AnnotationStatus.APPROVED
|| mc.getManualRedactionType() == ManualRedactionType.RESIZE && mc.getAnnotationStatus() == AnnotationStatus.APPROVED && engines.contains(Engine.RULE) && !engines.contains(Engine.DICTIONARY));
}
public boolean isManuallyRemoved() {
return manualChanges != null && manualChanges.stream()