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-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 new file mode 100644 index 000000000..cdc3caeae --- /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: technical_name + type: VARCHAR(255) + tableName: legal_basis_mapping_entity_legal_basis \ 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/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); 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-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, 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; } 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; }