diff --git a/redaction-service-v1/redaction-service-server-v1/build.gradle.kts b/redaction-service-v1/redaction-service-server-v1/build.gradle.kts index 08413ee2..42cee117 100644 --- a/redaction-service-v1/redaction-service-server-v1/build.gradle.kts +++ b/redaction-service-v1/redaction-service-server-v1/build.gradle.kts @@ -16,7 +16,7 @@ val layoutParserVersion = "0.89.3" val jacksonVersion = "2.15.2" val droolsVersion = "9.44.0.Final" val pdfBoxVersion = "3.0.0" -val persistenceServiceVersion = "2.349.7" +val persistenceServiceVersion = "2.349.22" val springBootStarterVersion = "3.1.5" configurations { diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/migration/LegacyRedactionLogMergeService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/migration/LegacyRedactionLogMergeService.java index 0d141c87..8d98c228 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/migration/LegacyRedactionLogMergeService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/migration/LegacyRedactionLogMergeService.java @@ -197,7 +197,11 @@ public class LegacyRedactionLogMergeService { } redactionLogEntry.getManualChanges() - .add(ManualChange.from(imageRecategorization).withManualRedactionType(ManualRedactionType.RECATEGORIZE).withChange("type", imageRecategorization.getType())); + .add(ManualChange.from(imageRecategorization) + .withManualRedactionType(ManualRedactionType.RECATEGORIZE) + .withChange("type", imageRecategorization.getType()) + .withChange("section", imageRecategorization.getSection()) + .withChange("legalBasis", imageRecategorization.getLegalBasis())); } diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/model/document/entity/ManualChangeOverwrite.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/model/document/entity/ManualChangeOverwrite.java index d2e8059c..aa79b89e 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/model/document/entity/ManualChangeOverwrite.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/model/document/entity/ManualChangeOverwrite.java @@ -27,12 +27,12 @@ import lombok.experimental.FieldDefaults; public class ManualChangeOverwrite { private static final Map, String> MANUAL_CHANGE_DESCRIPTIONS = Map.of(// - ManualRedactionEntry.class, "created by manual change", // - ManualLegalBasisChange.class, "legal basis was manually changed", // - ManualResizeRedaction.class, "resized by manual override", // - ManualForceRedaction.class, "forced by manual override", // - IdRemoval.class, "removed by manual override", // - ManualRecategorization.class, "recategorized by manual override"); + ManualRedactionEntry.class, "created by manual change", // + ManualLegalBasisChange.class, "legal basis was manually changed", // + ManualResizeRedaction.class, "resized by manual override", // + ManualForceRedaction.class, "forced by manual override", // + IdRemoval.class, "removed by manual override", // + ManualRecategorization.class, "recategorized by manual override"); List manualChanges = new LinkedList<>(); boolean changed; @@ -80,7 +80,8 @@ public class ManualChangeOverwrite { manualChanges.sort(Comparator.comparing(BaseAnnotation::getRequestDate)); updateFields(manualChanges); // make list unmodifiable. - return manualChanges.stream().toList(); + return manualChanges.stream() + .toList(); } @@ -121,7 +122,10 @@ public class ManualChangeOverwrite { resized = true; // This is only for not found Manual Entities. value = manualResizeRedaction.getValue(); - positions = manualResizeRedaction.getPositions().stream().map(RectangleWithPage::fromAnnotationRectangle).toList(); + positions = manualResizeRedaction.getPositions() + .stream() + .map(RectangleWithPage::fromAnnotationRectangle) + .toList(); } if (manualChange instanceof ManualRecategorization recategorization) { @@ -129,6 +133,10 @@ public class ManualChangeOverwrite { recategorized = true; // this is only relevant for ManualEntities. Image and TextEntity is recategorized in the ManualChangesApplicationService. type = recategorization.getType(); + section = recategorization.getSection(); + if (recategorization.getLegalBasis() != null && !recategorization.getLegalBasis().isEmpty()) { + legalBasis = recategorization.getLegalBasis(); + } } descriptions.add(MANUAL_CHANGE_DESCRIPTIONS.get(manualChange.getClass())); diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/ManualChangeFactory.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/ManualChangeFactory.java index 3d99a3f9..b741b917 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/ManualChangeFactory.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/ManualChangeFactory.java @@ -30,8 +30,11 @@ public class ManualChangeFactory { public ManualChange toManualChange(BaseAnnotation baseAnnotation, boolean isHint) { ManualChange manualChange = ManualChange.from(baseAnnotation); - if (baseAnnotation instanceof ManualRecategorization imageRecategorization) { - manualChange.withManualRedactionType(ManualRedactionType.RECATEGORIZE).withChange("type", imageRecategorization.getType()); + if (baseAnnotation instanceof ManualRecategorization recategorization) { + manualChange.withManualRedactionType(ManualRedactionType.RECATEGORIZE) + .withChange("type", recategorization.getType()) + .withChange("section", recategorization.getSection()) + .withChange("legalBasis", recategorization.getLegalBasis()); } else if (baseAnnotation instanceof IdRemoval manualRemoval) { manualChange.withManualRedactionType(manualRemoval.isRemoveFromDictionary() ? ManualRedactionType.REMOVE_FROM_DICTIONARY : ManualRedactionType.REMOVE); } else if (baseAnnotation instanceof ManualForceRedaction manualForceRedaction) {