From 06570a33e896a11af4c24cfb402b90655d261200 Mon Sep 17 00:00:00 2001 From: Andrei Isvoran Date: Thu, 11 Jan 2024 15:27:18 +0100 Subject: [PATCH] RED-8242 - Set AREA entry type for unprocessed rectangle redactions --- .../service/EntityLogMergeService.java | 2 +- .../integration/tests/EntityLogMergeTest.java | 30 +++++++++++++++++-- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/EntityLogMergeService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/EntityLogMergeService.java index 6414c1205..b8b75b8f9 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/EntityLogMergeService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/EntityLogMergeService.java @@ -135,7 +135,7 @@ public class EntityLogMergeService { .value(manualRedactionEntry.getValue()) .legalBasis(manualRedactionEntry.getLegalBasis()) .reason(manualRedactionEntry.getReason()) - .entryType(isHint ? EntryType.HINT : EntryType.ENTITY) + .entryType(isHint ? EntryType.HINT : manualRedactionEntry.isRectangle() ? EntryType.AREA : EntryType.ENTITY) .state(isHint ? EntryState.SKIPPED : EntryState.APPLIED) .imported(false) .matchedRule("") diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/EntityLogMergeTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/EntityLogMergeTest.java index d81215b34..cb0a7de41 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/EntityLogMergeTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/EntityLogMergeTest.java @@ -108,12 +108,13 @@ public class EntityLogMergeTest { String dossierTemplateId = "dossierTemplateId"; String entryToAddId = UUID.randomUUID().toString(); + String rectangleToAddId = UUID.randomUUID().toString(); String entryToRemoveId = UUID.randomUUID().toString(); String entryToResizeId = UUID.randomUUID().toString(); String entryLegalBasisId = UUID.randomUUID().toString(); String forceRedactionId = UUID.randomUUID().toString(); - ManualRedactions manualRedactions = provideManualRedactions(entryToAddId, entryToRemoveId, entryToResizeId, entryLegalBasisId, forceRedactionId, fileId); + ManualRedactions manualRedactions = provideManualRedactions(entryToAddId, entryToRemoveId, entryToResizeId, entryLegalBasisId, forceRedactionId, fileId, rectangleToAddId); var entityLog = provideEntityLog(entryToRemoveId, entryToResizeId, entryLegalBasisId, forceRedactionId); @@ -187,6 +188,16 @@ public class EntityLogMergeTest { assertEquals(forceRedactionEntryLogEntry.getManualChanges().get(0).getManualRedactionType(), ManualRedactionType.FORCE_REDACT); assertEquals(forceRedactionEntryLogEntry.getChanges().get(0).getType(), ChangeType.CHANGED); + var optionalRectangleEntryLogEntry = response.getEntityLogEntry().stream().filter(entityLogEntry1 -> entityLogEntry1.getId().equals(rectangleToAddId)).findFirst(); + assertTrue(optionalRectangleEntryLogEntry.isPresent()); + var rectangleEntryLogEntry = optionalRectangleEntryLogEntry.get(); + assertEquals(rectangleEntryLogEntry.getType(), "manual"); + assertEquals(rectangleEntryLogEntry.getEntryType(), EntryType.AREA); + assertEquals(rectangleEntryLogEntry.getState(), EntryState.APPLIED); + assertEquals(rectangleEntryLogEntry.getValue(), "Test2"); + assertEquals(rectangleEntryLogEntry.getReason(), "Rectangle"); + assertEquals(rectangleEntryLogEntry.getManualChanges().get(0).getManualRedactionType(), ManualRedactionType.ADD_LOCALLY); + } private EntityLog provideEntityLog(String entryToRemoveId, String entryToResizeId, String entryLegalBasisId, String forceRedactionId) { @@ -237,7 +248,7 @@ public class EntityLogMergeTest { 0); } - private ManualRedactions provideManualRedactions(String entryToAddId, String entryToRemoveId, String entryToResizeId, String entryLegalBasisId, String forceRedactionId, String fileId) { + private ManualRedactions provideManualRedactions(String entryToAddId, String entryToRemoveId, String entryToResizeId, String entryLegalBasisId, String forceRedactionId, String fileId, String rectangleToAddId) { List positions = new ArrayList<>(); positions.add(new Rectangle(2, 2, 2, 2, 1)); @@ -251,10 +262,23 @@ public class EntityLogMergeTest { .addToDictionary(false) .addToDossierDictionary(false) .fileId(fileId) + .rectangle(false) .requestDate(OffsetDateTime.now()) .dictionaryEntryType(DictionaryEntryType.ENTRY) .type("manual") - .build())) + .build(), + ManualRedactionEntry.builder() + .positions(List.of(new Rectangle(5f, 6f, 7f, 8f, 1))) + .annotationId(rectangleToAddId) + .value("Test2") + .reason("Rectangle") + .addToDictionary(false) + .addToDossierDictionary(false) + .fileId(fileId) + .rectangle(true) + .requestDate(OffsetDateTime.now()) + .type("manual") + .build())) .idsToRemove(Set.of( IdRemoval.builder() .annotationId(entryToRemoveId)