From d537a16d655ddc2c8a52764bcaf4df5aaf8a7fa0 Mon Sep 17 00:00:00 2001 From: devplant Date: Tue, 21 Jun 2022 10:55:14 +0300 Subject: [PATCH] RED-3081-As an admin of a dossier template I want to customize the highlighting color of a skipped redaction of an entity - add skippedHexColor to type entity - update of tests --- .../v1/api/model/dossiertemplate/type/Type.java | 1 + .../v1/processor/entity/configuration/TypeEntity.java | 2 ++ .../service/DossierTemplateCloneService.java | 2 +- .../persistence/DictionaryPersistenceService.java | 4 +++- .../v1/server/controller/DictionaryController.java | 2 +- .../32-added-skipped-color-type-table.changelog.yaml | 11 +++++++++++ .../resources/db/changelog/db.changelog-master.yaml | 2 ++ .../v1/server/integration/service/TypeProvider.java | 1 + .../v1/server/integration/tests/DictionaryTest.java | 1 + .../server/integration/tests/DossierTemplateTest.java | 2 ++ 10 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/32-added-skipped-color-type-table.changelog.yaml diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/type/Type.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/type/Type.java index 7c319afd3..2cbadaa4f 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/type/Type.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/type/Type.java @@ -22,6 +22,7 @@ public class Type { private String label; private String hexColor; private String recommendationHexColor; + private String skippedHexColor; private int rank; private boolean isHint; private boolean isCaseInsensitive; diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/TypeEntity.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/TypeEntity.java index 076b7bccd..4c8617fa9 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/TypeEntity.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/TypeEntity.java @@ -46,6 +46,8 @@ public class TypeEntity { @Column private String recommendationHexColor; @Column + private String skippedHexColor; + @Column private int rank; @Column private boolean isHint; diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DossierTemplateCloneService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DossierTemplateCloneService.java index 2f0750346..ececa6918 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DossierTemplateCloneService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DossierTemplateCloneService.java @@ -120,7 +120,7 @@ public class DossierTemplateCloneService { private void cloneDictionariesWithEntries(String dossierTemplateId, String clonedDossierTemplateId) { var types = dictionaryPersistenceService.getAllTypesForDossierTemplate(dossierTemplateId, false); for (TypeEntity t : types) { - var type = dictionaryPersistenceService.addType(t.getType(), clonedDossierTemplateId, t.getHexColor(), t.getRecommendationHexColor(), t.getRank(), t.isHint(), t.isCaseInsensitive(), t.isRecommendation(), t.getDescription(), t.isAddToDictionaryAction(), t.getLabel(), null, t.isHasDictionary(), t.isSystemManaged(), t.isAutoHideSkipped()); + var type = dictionaryPersistenceService.addType(t.getType(), clonedDossierTemplateId, t.getHexColor(), t.getRecommendationHexColor(), t.getSkippedHexColor(), t.getRank(), t.isHint(), t.isCaseInsensitive(), t.isRecommendation(), t.getDescription(), t.isAddToDictionaryAction(), t.getLabel(), null, t.isHasDictionary(), t.isSystemManaged(), t.isAutoHideSkipped()); entryPersistenceService.cloneEntries(t.getId(), type.getId()); } } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DictionaryPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DictionaryPersistenceService.java index 67208bb51..60b7d1543 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DictionaryPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DictionaryPersistenceService.java @@ -33,7 +33,7 @@ public class DictionaryPersistenceService { private final EntryRepository entryRepository; - public TypeEntity addType(String type, String dossierTemplateId, String hexColor, String recommendationHexColor, int rank, boolean isHint, boolean caseInsensitive, + public TypeEntity addType(String type, String dossierTemplateId, String hexColor, String recommendationHexColor, String skippedHexColor, int rank, boolean isHint, boolean caseInsensitive, boolean isRecommendation, String description, boolean addToDictionaryAction, String label, String dossierId, boolean hasDictionary, boolean systemManaged, boolean autoHideSkipped) { @@ -46,6 +46,7 @@ public class DictionaryPersistenceService { .dossierTemplate(dossierTemplateRepository.getOne(dossierTemplateId)) .hexColor(hexColor) .recommendationHexColor(recommendationHexColor) + .skippedHexColor(skippedHexColor) .rank(rank) .description(description) .isHint(isHint) @@ -77,6 +78,7 @@ public class DictionaryPersistenceService { if (type.isSystemManaged()) { type.setHexColor(typeValueRequest.getHexColor()); type.setRecommendationHexColor(typeValueRequest.getRecommendationHexColor()); + type.setSkippedHexColor(typeValueRequest.getSkippedHexColor()); type.setDescription(typeValueRequest.getDescription()); type.setLabel(typeValueRequest.getLabel()); type.setAddToDictionaryAction(typeValueRequest.isAddToDictionaryAction()); diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DictionaryController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DictionaryController.java index 2013a378d..2d9ab83a2 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DictionaryController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DictionaryController.java @@ -169,7 +169,7 @@ public class DictionaryController implements DictionaryResource { } String color = typeRequest.getHexColor(); validateColor(color); - return convert(dictionaryPersistenceService.addType(typeRequest.getType(), typeRequest.getDossierTemplateId(), color, typeRequest.getRecommendationHexColor(), typeRequest.getRank(), typeRequest.isHint(), typeRequest.isCaseInsensitive(), typeRequest.isRecommendation(), typeRequest.getDescription(), typeRequest.isAddToDictionaryAction(), typeRequest.getLabel(), typeRequest.getDossierId(), typeRequest.isHasDictionary(), typeRequest.isSystemManaged(), typeRequest.isAutoHideSkipped()), Type.class); + return convert(dictionaryPersistenceService.addType(typeRequest.getType(), typeRequest.getDossierTemplateId(), color, typeRequest.getRecommendationHexColor(), typeRequest.getSkippedHexColor(), typeRequest.getRank(), typeRequest.isHint(), typeRequest.isCaseInsensitive(), typeRequest.isRecommendation(), typeRequest.getDescription(), typeRequest.isAddToDictionaryAction(), typeRequest.getLabel(), typeRequest.getDossierId(), typeRequest.isHasDictionary(), typeRequest.isSystemManaged(), typeRequest.isAutoHideSkipped()), Type.class); } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/32-added-skipped-color-type-table.changelog.yaml b/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/32-added-skipped-color-type-table.changelog.yaml new file mode 100644 index 000000000..3f9dda96a --- /dev/null +++ b/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/32-added-skipped-color-type-table.changelog.yaml @@ -0,0 +1,11 @@ +databaseChangeLog: + - changeSet: + id: add-skipped-color + author: corinaolariu + changes: + - addColumn: + columns: + - column: + name: skipped_hex_color + type: VARCHAR(255) + tableName: entity diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/db.changelog-master.yaml b/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/db.changelog-master.yaml index 630a85dbc..d2ee74f21 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/db.changelog-master.yaml +++ b/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/db.changelog-master.yaml @@ -75,3 +75,5 @@ databaseChangeLog: file: db/changelog/31-add-file-size-column.changelog.yaml - include: file: db/changelog/sql/31-watermark-configuration.sql + - include: + file: db/changelog/32-added-skipped-color-type-table.changelog.yaml diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/service/TypeProvider.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/service/TypeProvider.java index 0b7237267..fb5883191 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/service/TypeProvider.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/service/TypeProvider.java @@ -25,6 +25,7 @@ public class TypeProvider { type.setAddToDictionaryAction(true); type.setHexColor("#dddddd"); type.setRecommendationHexColor("#aaaaaa"); + type.setSkippedHexColor("#aaaaaa"); type.setHint(false); type.setRank(100); type.setRecommendation(false); diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DictionaryTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DictionaryTest.java index cb472fe4e..775d9af0b 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DictionaryTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DictionaryTest.java @@ -42,6 +42,7 @@ public class DictionaryTest extends AbstractPersistenceServerServiceTest { var dossierTemplate = dossierTemplateTesterAndProvider.provideTestTemplate(); var type = typeProvider.testAndProvideType(dossierTemplate); assertThat(type.getRecommendationHexColor()).isEqualTo("#aaaaaa"); + assertThat(type.getSkippedHexColor()).isEqualTo("#aaaaaa"); dictionaryClient.addEntries(type.getTypeId(), List.of("word1", "word2"), false, false, DictionaryEntryType.ENTRY); dictionaryClient.addEntries(type.getTypeId(), List.of("false_positive1", "false_positive"), false, false, DictionaryEntryType.FALSE_POSITIVE); 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 e20d83620..1b4c16e62 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 @@ -124,6 +124,7 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest { .dossierTemplateId(dossierTemplate.getId()) .hexColor("#ddddd") .recommendationHexColor("#cccccc") + .skippedHexColor("#cccccc") .rank(999) .isHint(false) .isRecommendation(false) @@ -144,6 +145,7 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest { .dossierTemplateId(dossierTemplate.getId()) .hexColor("#12345") .recommendationHexColor("#6789a") + .skippedHexColor("#6789a") .rank(1002) .isHint(false) .isRecommendation(false)