From 6601ee0188d03d171778bf2f96a4aaba31207bac Mon Sep 17 00:00:00 2001 From: Ali Oezyetimoglu Date: Tue, 26 Mar 2024 17:36:58 +0100 Subject: [PATCH] RED-8480: added property value for recategorizations and fixed bugs not updating legal basis and section --- .../ManualRecategorizationEntity.java | 2 ++ .../processor/service/EntityLogMergeService.java | 16 +++++++++++++++- .../manualredactions/ManualRedactionMapper.java | 1 + .../PendingDictionaryEntryFactory.java | 4 +++- .../db/changelog/db.changelog-tenant.yaml | 2 ++ .../tenant/123-add-value-to-recategorize.yaml | 11 +++++++++++ .../integration/tests/ManualRedactionTest.java | 4 ++++ .../entitymapped/ManualRecategorization.java | 1 + .../manual/RecategorizationRequestModel.java | 1 + 9 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/123-add-value-to-recategorize.yaml diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/ManualRecategorizationEntity.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/ManualRecategorizationEntity.java index 92595e1ca..210addf02 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/ManualRecategorizationEntity.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/ManualRecategorizationEntity.java @@ -51,6 +51,8 @@ public class ManualRecategorizationEntity implements IBaseAnnotation { private String legalBasis; @Column(length = 1024) private String section; + @Column + private String value; @ManyToOne private FileEntity fileStatus; 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 a148946f7..9aca20851 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 @@ -345,10 +345,21 @@ public class EntityLogMergeService { boolean isHint = isHint(recategorization.getType(), dossier); - entityLogEntry.setType(recategorization.getType()); + if (!Strings.isNullOrEmpty(recategorization.getType())) { + entityLogEntry.setType(recategorization.getType()); + } entityLogEntry.setEntryType(getEntryType(isHint, recategorization.getType())); entityLogEntry.setState(isHint ? EntryState.SKIPPED : EntryState.APPLIED); entityLogEntry.getEngines().add(Engine.MANUAL); + if (!Strings.isNullOrEmpty(recategorization.getLegalBasis())) { + entityLogEntry.setLegalBasis(recategorization.getLegalBasis()); + } + if (!Strings.isNullOrEmpty(recategorization.getSection())) { + entityLogEntry.setSection(recategorization.getSection()); + } + if (!Strings.isNullOrEmpty(recategorization.getValue())) { + entityLogEntry.setValue(recategorization.getValue()); + } addChanges(entityLogEntry.getChanges(), ChangeType.CHANGED, analysisNumber, recategorization.getRequestDate()); entityLogEntry.getManualChanges() .add(ManualChange.builder() @@ -373,6 +384,9 @@ public class EntityLogMergeService { if (!Strings.isNullOrEmpty(recategorization.getSection())) { propertyChanges.put("section", recategorization.getSection()); } + if (!Strings.isNullOrEmpty(recategorization.getValue())) { + propertyChanges.put("value", recategorization.getValue()); + } return propertyChanges; } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/ManualRedactionMapper.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/ManualRedactionMapper.java index 664b9fc3c..c5f8f2606 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/ManualRedactionMapper.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/ManualRedactionMapper.java @@ -161,6 +161,7 @@ public class ManualRedactionMapper { .legalBasis(Optional.ofNullable(recategorizationRequest.getLegalBasis()) .orElse("")) .section(recategorizationRequest.getSection()) + .value(recategorizationRequest.getValue()) .build(); requests.add(build); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/PendingDictionaryEntryFactory.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/PendingDictionaryEntryFactory.java index bd376e63d..105676a67 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/PendingDictionaryEntryFactory.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/PendingDictionaryEntryFactory.java @@ -172,7 +172,9 @@ public class PendingDictionaryEntryFactory { "legalBasis", manualChange.getLegalBasis(), "section", - manualChange.getSection())) + manualChange.getSection(), + "value", + manualChange.getValue())) .build()); return EntityLogEntry.builder() diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/db.changelog-tenant.yaml b/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/db.changelog-tenant.yaml index d674bf548..5da7207a3 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/db.changelog-tenant.yaml +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/db.changelog-tenant.yaml @@ -191,3 +191,5 @@ databaseChangeLog: file: db/changelog/tenant/sql/206-remove-manual-redactions-on-non-existing-pages.sql - include: file: db/changelog/tenant/122-add-legal-basis-variables-to-recategorize.yaml + - include: + file: db/changelog/tenant/123-add-value-to-recategorize.yaml diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/123-add-value-to-recategorize.yaml b/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/123-add-value-to-recategorize.yaml new file mode 100644 index 000000000..8828243b9 --- /dev/null +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/123-add-value-to-recategorize.yaml @@ -0,0 +1,11 @@ +databaseChangeLog: + - changeSet: + id: add-legal-basis-variables-to-recategorize + author: ali + changes: + - addColumn: + tableName: manual_recategorization + columns: + - column: + name: value + type: VARCHAR(4000) \ No newline at end of file diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ManualRedactionTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ManualRedactionTest.java index 94e2ad830..e4a98d001 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ManualRedactionTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ManualRedactionTest.java @@ -1199,6 +1199,7 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { .addToAllDossiers(true) .legalBasis("") .section("section") + .value(lukeSkywalker) .build()), false); @@ -1284,6 +1285,7 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { .addToAllDossiers(false) .legalBasis("") .section("section") + .value(lukeSkywalker) .build()), false); @@ -1966,6 +1968,7 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { .addToAllDossiers(true) .legalBasis("") .section("section") + .value("other value") .build(); var recatModelLongLegalBasis = RecategorizationRequestModel.builder() .type(type.getType()) @@ -1979,6 +1982,7 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { .annotationId("annotationId3") .addToDictionary(true) .section("section") + .value("some value") .addToAllDossiers(true) .build(); diff --git a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/annotations/entitymapped/ManualRecategorization.java b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/annotations/entitymapped/ManualRecategorization.java index a6155f94e..91bcbd8e3 100644 --- a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/annotations/entitymapped/ManualRecategorization.java +++ b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/annotations/entitymapped/ManualRecategorization.java @@ -18,6 +18,7 @@ public class ManualRecategorization extends BaseAnnotation { private boolean addToDictionary; private boolean addToAllDossiers; private String section; + private String value; @Override diff --git a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/manual/RecategorizationRequestModel.java b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/manual/RecategorizationRequestModel.java index 367264dd4..ef3270c35 100644 --- a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/manual/RecategorizationRequestModel.java +++ b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/manual/RecategorizationRequestModel.java @@ -21,5 +21,6 @@ public class RecategorizationRequestModel { boolean addToAllDossiers; String legalBasis; String section; + String value; }