RED-5624: Refactoring of justifications #605
@ -20,5 +20,7 @@ public class LegalBasisEntity {
|
||||
private String description;
|
||||
@Column(length = 4000)
|
||||
private String reason;
|
||||
@Column(length = 4000)
|
||||
private String technicalName;
|
||||
|
||||
}
|
||||
|
||||
@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -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
|
||||
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
|
||||
@ -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
|
||||
@ -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());
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
|
||||
@ -41,8 +41,8 @@ public class LegalBasisTest extends AbstractPersistenceServerServiceTest {
|
||||
}
|
||||
|
||||
var mappings = new ArrayList<LegalBasis>();
|
||||
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());
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -12,5 +12,6 @@ public class EntityLogLegalBasis {
|
||||
private String name;
|
||||
private String description;
|
||||
private String reason;
|
||||
private String technicalName;
|
||||
|
||||
}
|
||||
|
||||
@ -14,5 +14,6 @@ public class LegalBasis {
|
||||
private String name;
|
||||
private String description;
|
||||
private String reason;
|
||||
private String technicalName;
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user