From 8d340057a4bb229b4f306a4afa8abcf95cf83f8d Mon Sep 17 00:00:00 2001 From: yhampe Date: Wed, 17 Jul 2024 10:13:58 +0200 Subject: [PATCH 1/7] RED-5624: Refactoring of justifications added technicalname field to entity --- .../processor/entity/configuration/LegalBasisEntity.java | 2 ++ .../persistence/LegalBasisMappingPersistenceService.java | 6 ++++++ .../v1/server/integration/tests/LegalBasisTest.java | 8 ++++---- .../model/dossiertemplate/legalbasis/LegalBasis.java | 1 + 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/LegalBasisEntity.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/LegalBasisEntity.java index 59309f109..f750dc3e1 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/LegalBasisEntity.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/LegalBasisEntity.java @@ -20,5 +20,7 @@ public class LegalBasisEntity { private String description; @Column(length = 4000) private String reason; + @Column(length = 4000) + private String technicalName; } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/LegalBasisMappingPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/LegalBasisMappingPersistenceService.java index 35d7bf35a..874d90457 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/LegalBasisMappingPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/LegalBasisMappingPersistenceService.java @@ -82,12 +82,14 @@ public class LegalBasisMappingPersistenceService { .findAny().ifPresentOrElse(existingBasis -> { existingBasis.setReason(legalBasis.getReason()); existingBasis.setDescription(legalBasis.getDescription()); + existingBasis.setTechnicalName(legalBasis.getTechnicalName()); }, () -> mapping.getLegalBasis() .add(LegalBasisEntity.builder() .name(legalBasis.getName()) .description(legalBasis.getDescription()) .reason(legalBasis.getReason()) + .technicalName(legalBasis.getTechnicalName()) .build())); mapping.setVersion(mapping.getVersion() + 1); @@ -109,6 +111,10 @@ public class LegalBasisMappingPersistenceService { if (legalBasis.getReason().length() > MAX_LEGAL_BASIS_LENGTH) { throw new BadRequestException(String.format("The legal basis is too long (%s), max length %s", legalBasis.getReason().length(), MAX_LEGAL_BASIS_LENGTH)); } + + if(legalBasis.getTechnicalName().length() > MAX_LEGAL_BASIS_LENGTH) { + throw new BadRequestException(String.format("The legal basis is too long (%s), max length %s", legalBasis.getTechnicalName().length(), MAX_LEGAL_BASIS_LENGTH)); + } } diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/LegalBasisTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/LegalBasisTest.java index 0fbb86efe..9dfbb772b 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/LegalBasisTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/LegalBasisTest.java @@ -41,8 +41,8 @@ public class LegalBasisTest extends AbstractPersistenceServerServiceTest { } var mappings = new ArrayList(); - mappings.add(LegalBasis.builder().name("test 1").description("test 1").reason("test 1").build()); - mappings.add(LegalBasis.builder().name("test 2").description("test 2").reason("test 2").build()); + mappings.add(LegalBasis.builder().name("test 1").description("test 1").reason("test 1").technicalName("test 1").build()); + mappings.add(LegalBasis.builder().name("test 2").description("test 2").reason("test 2").technicalName("test 2").build()); legalBasisClient.setLegalBasisMapping(mappings, dossierTemplate.getId()); var mapping = legalBasisClient.getLegalBasisMapping(dossierTemplate.getId()); @@ -51,7 +51,7 @@ public class LegalBasisTest extends AbstractPersistenceServerServiceTest { .map(LegalBasis::getName) .collect(Collectors.toList())).containsExactlyInAnyOrder("test 1", "test 2"); - var legalBasis = LegalBasis.builder().name("test 3").description("test 3").reason("test 3").build(); + var legalBasis = LegalBasis.builder().name("test 3").description("test 3").reason("test 3").technicalName("test 3").build(); legalBasisClient.addOrUpdateLegalBasis(dossierTemplate.getId(), legalBasis); mapping = legalBasisClient.getLegalBasisMapping(dossierTemplate.getId()); @@ -60,7 +60,7 @@ public class LegalBasisTest extends AbstractPersistenceServerServiceTest { .map(LegalBasis::getName) .collect(Collectors.toList())).containsExactlyInAnyOrder("test 1", "test 2", "test 3"); - legalBasis = LegalBasis.builder().name("test 3").reason("test 3").description("test 3 - updated").build(); + legalBasis = LegalBasis.builder().name("test 3").reason("test 3").description("test 3 - updated").technicalName("test 3").build(); legalBasisClient.addOrUpdateLegalBasis(dossierTemplate.getId(), legalBasis); mapping = legalBasisClient.getLegalBasisMapping(dossierTemplate.getId()); diff --git a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/legalbasis/LegalBasis.java b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/legalbasis/LegalBasis.java index 92ba577a1..66203ac0e 100644 --- a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/legalbasis/LegalBasis.java +++ b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/legalbasis/LegalBasis.java @@ -14,5 +14,6 @@ public class LegalBasis { private String name; private String description; private String reason; + private String technicalName; } -- 2.47.2 From 7245f71acbd9a53f088445e0006c7d130ea03da3 Mon Sep 17 00:00:00 2001 From: yhampe Date: Tue, 23 Jul 2024 10:05:01 +0200 Subject: [PATCH 2/7] RED-5624: Refactoring of justifications refactored constructor calls --- .../integration/service/DossierTemplateTesterAndProvider.java | 2 +- .../v1/server/integration/tests/DossierTemplateTest.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/service/DossierTemplateTesterAndProvider.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/service/DossierTemplateTesterAndProvider.java index 91e5e20b4..be58780ec 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/service/DossierTemplateTesterAndProvider.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/service/DossierTemplateTesterAndProvider.java @@ -80,7 +80,7 @@ public class DossierTemplateTesterAndProvider { assertThat(loadedTemplate).isEqualTo(result); rulesClient.upload(new RulesUploadRequestModel("ABCD", loadedTemplate.getDossierTemplateId(), RuleFileType.ENTITY)); - legalBasisClient.setLegalBasisMapping(List.of(new LegalBasis("name", "description", "reason")), loadedTemplate.getDossierTemplateId()); + legalBasisClient.setLegalBasisMapping(List.of(new LegalBasis("name", "description", "reason","technicalName")), loadedTemplate.getDossierTemplateId()); loadedTemplate = dossierTemplateClient.getDossierTemplate(result.getDossierTemplateId()); diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierTemplateTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierTemplateTest.java index 0bb0d8898..e09efdbc3 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierTemplateTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierTemplateTest.java @@ -589,7 +589,7 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest { .build()); // add new justifications - legalBasisClient.setLegalBasisMapping(List.of(new LegalBasis("nameAgain", "description", "reason")), dossierTemplate.getId()); + legalBasisClient.setLegalBasisMapping(List.of(new LegalBasis("nameAgain", "description", "reason","technicalReason")), dossierTemplate.getId()); existingLegalBasis = legalBasisClient.getLegalBasisMapping(dossierTemplate.getId()); assertThat(existingLegalBasis.size()).isEqualTo(1); -- 2.47.2 From bbaaa6f952b8ab8bb3564cd43a86fe2192af1147 Mon Sep 17 00:00:00 2001 From: yhampe Date: Tue, 23 Jul 2024 11:45:08 +0200 Subject: [PATCH 3/7] RED-5624: Refactoring of justifications added changelog --- .../tenant/133-add-technical-name-to-legal_basis.yaml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/133-add-technical-name-to-legal_basis.yaml diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/133-add-technical-name-to-legal_basis.yaml b/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/133-add-technical-name-to-legal_basis.yaml new file mode 100644 index 000000000..d02483b5b --- /dev/null +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/133-add-technical-name-to-legal_basis.yaml @@ -0,0 +1,11 @@ +databaseChangeLog: + - changeSet: + id: add-technical-name-to-legal-basis + author: yhampe + changes: + - addColumn: + columns: + - column: + name: technicalName + type: VARCHAR(255) + tableName: legal_basis -- 2.47.2 From 801dc52cd273ca56face9923f9ea128e54a9d6df Mon Sep 17 00:00:00 2001 From: yhampe Date: Tue, 6 Aug 2024 12:51:14 +0200 Subject: [PATCH 4/7] RED-5624: Refactoring of justifications added field for technical name to EntityLogLegalBasis --- .../src/main/resources/db/changelog/db.changelog-tenant.yaml | 4 +++- .../tenant/133-add-technical-name-to-legal_basis.yaml | 2 +- .../model/analysislog/entitylog/EntityLogLegalBasis.java | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) 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 e27597700..62182375a 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 @@ -216,4 +216,6 @@ databaseChangeLog: - include: file: db/changelog/tenant/131-changed-max-size-for-id-in-entity.yaml - include: - file: db/changelog/tenant/132-add-based-on-dict-annotation-id-to-manual_changes.yaml \ No newline at end of file + file: db/changelog/tenant/132-add-based-on-dict-annotation-id-to-manual_changes.yaml + - include: + file: db/changelog/tenant/133-add-technical-name-to-legal_basis.yaml \ No newline at end of file diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/133-add-technical-name-to-legal_basis.yaml b/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/133-add-technical-name-to-legal_basis.yaml index d02483b5b..d4de51a19 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/133-add-technical-name-to-legal_basis.yaml +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/133-add-technical-name-to-legal_basis.yaml @@ -8,4 +8,4 @@ databaseChangeLog: - column: name: technicalName type: VARCHAR(255) - tableName: legal_basis + tableName: legal_basis_mapping_entity_legal_basis diff --git a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/entitylog/EntityLogLegalBasis.java b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/entitylog/EntityLogLegalBasis.java index 86df0c8f6..15d26dfcf 100644 --- a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/entitylog/EntityLogLegalBasis.java +++ b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/entitylog/EntityLogLegalBasis.java @@ -12,5 +12,6 @@ public class EntityLogLegalBasis { private String name; private String description; private String reason; + private String technicalName; } -- 2.47.2 From c9e3a9d08644838da6f19624c6bf8ea280104d1a Mon Sep 17 00:00:00 2001 From: yhampe Date: Tue, 6 Aug 2024 12:58:39 +0200 Subject: [PATCH 5/7] RED-5624: Refactoring of justifications fixed ManualRedactionTest --- .../v1/server/integration/tests/ManualRedactionTest.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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 c42923419..40d43a76a 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 @@ -2530,10 +2530,10 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { List.of(entityLogEntry), List.of(new EntityLogLegalBasis("1.1 personal data (incl. geolocation); Article 39(e)(3)", "desc", - "Article 39(e)(3) of Regulation (EC) No 178/2002"), + "Article 39(e)(3) of Regulation (EC) No 178/2002",""), new EntityLogLegalBasis("4. commercial information", "desc 2", - "Article 63(2)(a) of Regulation (EC) No 1107/2009 (making reference to Article 39 of Regulation EC No 178/2002)")), + "Article 63(2)(a) of Regulation (EC) No 1107/2009 (making reference to Article 39 of Regulation EC No 178/2002)","")), 0, 0, 0, @@ -2600,10 +2600,10 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { List.of(entityLogEntry), List.of(new EntityLogLegalBasis("1.1 personal data (incl. geolocation); Article 39(e)(3)", "desc", - "Article 39(e)(3) of Regulation (EC) No 178/2002"), + "Article 39(e)(3) of Regulation (EC) No 178/2002", ""), new EntityLogLegalBasis("4. commercial information", "desc 2", - "Article 63(2)(a) of Regulation (EC) No 1107/2009 (making reference to Article 39 of Regulation EC No 178/2002)")), + "Article 63(2)(a) of Regulation (EC) No 1107/2009 (making reference to Article 39 of Regulation EC No 178/2002)","")), 0, 0, 0, -- 2.47.2 From f4a7a9a25e518060cccd009221240642f1e9518a Mon Sep 17 00:00:00 2001 From: yhampe Date: Wed, 7 Aug 2024 09:18:38 +0200 Subject: [PATCH 6/7] RED-5624: Refactoring of justifications fixing migration --- .../changelog/tenant/133-add-technical-name-to-legal_basis.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/133-add-technical-name-to-legal_basis.yaml b/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/133-add-technical-name-to-legal_basis.yaml index d4de51a19..020903fd5 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/133-add-technical-name-to-legal_basis.yaml +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/133-add-technical-name-to-legal_basis.yaml @@ -8,4 +8,4 @@ databaseChangeLog: - column: name: technicalName type: VARCHAR(255) - tableName: legal_basis_mapping_entity_legal_basis + tableName: legal_basis_mapping_entity_legal_basis \ No newline at end of file -- 2.47.2 From 043d9ca2992d931937fa5e0f616e859169536c12 Mon Sep 17 00:00:00 2001 From: yhampe Date: Wed, 7 Aug 2024 11:09:49 +0200 Subject: [PATCH 7/7] RED-5624: Refactoring of justifications fixing migration --- .../changelog/tenant/133-add-technical-name-to-legal_basis.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/133-add-technical-name-to-legal_basis.yaml b/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/133-add-technical-name-to-legal_basis.yaml index 020903fd5..cdc3caeae 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/133-add-technical-name-to-legal_basis.yaml +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/133-add-technical-name-to-legal_basis.yaml @@ -6,6 +6,6 @@ databaseChangeLog: - addColumn: columns: - column: - name: technicalName + name: technical_name type: VARCHAR(255) tableName: legal_basis_mapping_entity_legal_basis \ No newline at end of file -- 2.47.2