From e09cd59256a465281a3fcc379e5d329f7723f6fb Mon Sep 17 00:00:00 2001 From: Andrei Isvoran Date: Tue, 23 Jul 2024 15:58:25 +0200 Subject: [PATCH] RED-9140 - Properly distinct between REMOVED and IGNORED Change type --- .../redaction-service-server-v1/build.gradle.kts | 2 +- .../v1/server/service/EntityChangeLogService.java | 13 +++++++++---- .../v1/server/RedactionIntegrationTest.java | 2 +- 3 files changed, 11 insertions(+), 6 deletions(-) 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 176bbea5..07ad4fb5 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.141.0" val jacksonVersion = "2.15.2" val droolsVersion = "9.44.0.Final" val pdfBoxVersion = "3.0.0" -val persistenceServiceVersion = "2.473.0" +val persistenceServiceVersion = "2.496.0" val springBootStarterVersion = "3.1.5" val springCloudVersion = "4.0.4" val testContainersVersion = "1.19.7" diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/EntityChangeLogService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/EntityChangeLogService.java index 156856b6..e1be0b90 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/EntityChangeLogService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/EntityChangeLogService.java @@ -102,7 +102,7 @@ public class EntityChangeLogService { if (previousEntry.getManualChanges().isEmpty() && !currentEntry.getManualChanges().isEmpty()) { currentLastManualChange = currentEntry.getManualChanges() .get(currentEntry.getManualChanges().size() - 1); - return manualChange(propertyChanges, analysisNumber, currentLastManualChange); + return manualChange(propertyChanges, analysisNumber, currentLastManualChange, currentEntry.getState()); } previousLastManualChange = previousEntry.getManualChanges() @@ -113,7 +113,7 @@ public class EntityChangeLogService { if (Objects.equals(previousLastManualChange, currentLastManualChange)) { return systemChange(propertyChanges, analysisNumber, previousEntry.getState(), currentEntry.getState()); } else { - return manualChange(propertyChanges, analysisNumber, currentLastManualChange); + return manualChange(propertyChanges, analysisNumber, currentLastManualChange, currentEntry.getState()); } } @@ -136,12 +136,17 @@ public class EntityChangeLogService { } - private Change manualChange(List propertyChanges, int analysisNumber, ManualChange manualChange) { + private Change manualChange(List propertyChanges, int analysisNumber, ManualChange manualChange, EntryState entryState) { - return ChangeFactory.toChange(convertToChangeType(manualChange.getManualRedactionType()), + Change change = ChangeFactory.toChange(convertToChangeType(manualChange.getManualRedactionType()), manualChange.getRequestedDate(), analysisNumber, propertyChanges.toArray(new PropertyChange[0])); + + if (change.getType().equals(ChangeType.REMOVED) && entryState.equals(EntryState.IGNORED)) { + change.setType(ChangeType.IGNORED); + } + return change; } diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationTest.java b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationTest.java index d2eb85de..ac368c12 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationTest.java +++ b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationTest.java @@ -1990,7 +1990,7 @@ public class RedactionIntegrationTest extends RulesIntegrationTest { assertEquals(responseDavidKsenia.getChanges() .get(0).getType(), ChangeType.ADDED); assertEquals(responseDavidKsenia.getChanges() - .get(1).getType(), ChangeType.REMOVED); + .get(1).getType(), ChangeType.IGNORED); assertEquals(responseDavidKsenia.getChanges() .get(1).getPropertyChanges() .get("reason"), "No vertebrate found -> removed by manual override");