Merge branch 'RED-8313-dom' into 'master'

RED-8313: Add ignored entries as skipped in reports

Closes RED-8313

See merge request redactmanager/redaction-report-service!51
This commit is contained in:
Dominique Eifländer 2024-02-05 12:56:11 +01:00
commit b469182f2f

View File

@ -100,11 +100,12 @@ public class EntityLogConverterService {
List<ReportRedactionEntry> reportEntries = new ArrayList<>();
entityLog.getEntityLogEntry().forEach(entry -> {
var isSkipped = entry.getState() != EntryState.APPLIED && !(entry.getEntryType().equals(EntryType.HINT) || entry.getState().equals(EntryState.IGNORED));
if (entry.getState() == EntryState.APPLIED || isSkipped) {
if (entry.getState().equals(EntryState.REMOVED)) {
return;
}
if (lastChangeIsRemoved(entry.getChanges())) {
if (entry.getEntryType() == EntryType.HINT) {
return;
}
@ -120,24 +121,6 @@ public class EntityLogConverterService {
return;
}
if (settings.getMaxRedactionEntryValueLength() > 0 && entry.getValue() != null && entry.getValue().length() > settings.getMaxRedactionEntryValueLength()) {
entry.setValue(entry.getValue().substring(0, settings.getMaxRedactionEntryValueLength()) + "...");
log.warn("Truncated value in dossier {}, file {} on pages {} to {} chars",
dossierId,
fileId,
entry.getPositions().stream().map(Position::getPageNumber).collect(Collectors.toList()),
settings.getMaxRedactionEntryValueLength());
}
if (settings.getMaxSectionLength() > 0 && entry.getSection() != null && entry.getSection().length() > settings.getMaxSectionLength()) {
entry.setSection(entry.getSection().substring(0, settings.getMaxSectionLength()) + "...");
log.warn("Truncated section in dossier {}, file {} on pages {} to {} chars",
dossierId,
fileId,
entry.getPositions().stream().map(Position::getPageNumber).collect(Collectors.toList()),
settings.getMaxSectionLength());
}
if (!entry.getManualChanges().isEmpty() && (entry.getEntryType() == EntryType.IMAGE || entry.getEntryType() == EntryType.IMAGE_HINT) && entry.getManualChanges()
.get(entry.getManualChanges().size() - 1)
.getProcessedDate() == null && entry.getManualChanges()
@ -156,13 +139,22 @@ public class EntityLogConverterService {
return;
}
if (!entry.getManualChanges().isEmpty() && entry.getEntryType().equals(EntryType.HINT) && entry.getManualChanges()
.get(entry.getManualChanges().size() - 1)
.getProcessedDate() == null && entry.getManualChanges()
.get(entry.getManualChanges().size() - 1)
.getManualRedactionType()
.equals(ManualRedactionType.FORCE_REDACT)) {
return;
if (settings.getMaxRedactionEntryValueLength() > 0 && entry.getValue() != null && entry.getValue().length() > settings.getMaxRedactionEntryValueLength()) {
entry.setValue(entry.getValue().substring(0, settings.getMaxRedactionEntryValueLength()) + "...");
log.warn("Truncated value in dossier {}, file {} on pages {} to {} chars",
dossierId,
fileId,
entry.getPositions().stream().map(Position::getPageNumber).collect(Collectors.toList()),
settings.getMaxRedactionEntryValueLength());
}
if (settings.getMaxSectionLength() > 0 && entry.getSection() != null && entry.getSection().length() > settings.getMaxSectionLength()) {
entry.setSection(entry.getSection().substring(0, settings.getMaxSectionLength()) + "...");
log.warn("Truncated section in dossier {}, file {} on pages {} to {} chars",
dossierId,
fileId,
entry.getPositions().stream().map(Position::getPageNumber).collect(Collectors.toList()),
settings.getMaxSectionLength());
}
Set<Integer> pages = new HashSet<>();
@ -188,8 +180,7 @@ public class EntityLogConverterService {
checkTextForNull(entry.getTextBefore()) + entry.getValue() + checkTextForNull(entry.getTextAfter()),
determineValue(entry),
mapOfEntityDisplayName.get(entry.getType()),
isSkipped));
}
entry.getState() == EntryState.SKIPPED || entry.getState() == EntryState.IGNORED));
}
}
});