RED-4525 - Colors update - basics

This commit is contained in:
Timo Bejan 2022-07-11 19:33:32 +03:00
parent b41c0dd92a
commit b56fc3cb95
8 changed files with 113 additions and 66 deletions

View File

@ -12,15 +12,21 @@ import lombok.NoArgsConstructor;
public class Colors {
private String dossierTemplateId;
private String defaultColor;
private String requestAdd;
private String requestRemove;
private String notRedacted;
private String requestAddColor;
private String requestRemoveColor;
private String dictionaryRequestColor;
private String previewColor;
private String analysisColor;
private String updatedColor;
private String dictionaryRequestColor;
private String manualRedactionColor;
private String previewColor;
private String recommendationColor;
private String hintColor;
private String redactionColor;
private String ignoredHintColor;
private String skippedColor;
}

View File

@ -23,33 +23,26 @@ public class ColorsEntity {
private String dossierTemplateId;
@Column
private String defaultColor;
private String requestAddColor;
@Column
private String requestAdd;
@Column
private String requestRemove;
@Column
private String notRedacted;
@Column
private String analysisColor;
@Column
private String updatedColor;
private String requestRemoveColor;
@Column
private String dictionaryRequestColor;
@Column
private String manualRedactionColor;
@Column
private String previewColor;
@Column
private String analysisColor;
@Column
private String updatedColor;
@Column
private String recommendationColor;
@Column
private String hintColor;
@Column
private String redactionColor;
@Column
private String ignoredHintColor;
@Column
private String skippedColor;
}

View File

@ -21,16 +21,17 @@ public class ColorsService {
return colorsRepository.findById(dossierTemplateId).orElseGet(() -> {
var entity = new ColorsEntity();
entity.setDossierTemplateId(dossierTemplateId);
entity.setAnalysisColor("#aaaaaa");
entity.setDefaultColor("#aaaaaa");
entity.setRequestAddColor("#aaaaaa");
entity.setRequestRemoveColor("#aaaaaa");
entity.setDictionaryRequestColor("#aaaaaa");
entity.setPreviewColor("#aaaaaa");
entity.setIgnoredHintColor("#aaaaaa");
entity.setNotRedacted("#aaaaaa");
entity.setManualRedactionColor("#aaaaaa");
entity.setRequestAdd("#aaaaaa");
entity.setRequestRemove("#aaaaaa");
entity.setAnalysisColor("#aaaaaa");
entity.setUpdatedColor("#aaaaaa");
entity.setRecommendationColor("#aaaaaa");
entity.setHintColor("#aaaaaa");
entity.setRedactionColor("#aaaaaa");
entity.setIgnoredHintColor("#aaaaaa");
entity.setSkippedColor("#aaaaaa");
return colorsRepository.save(entity);
}
);

View File

@ -112,31 +112,42 @@ public class DictionaryController implements DictionaryResource {
@Override
public void updateTypeValue(@PathVariable(TYPE_PARAMETER_NAME) String typeId, @RequestBody Type typeValueRequest) {
public void updateTypeValue(@PathVariable(TYPE_PARAMETER_NAME) String typeId, @RequestBody Type typeRequest) {
validateColor(typeRequest.getHexColor());
validateBoolean(typeRequest.isHint(), "isHint");
validateBoolean(typeRequest.isCaseInsensitive(), "isCaseInsensitive");
String skippedHexColor = typeRequest.getSkippedHexColor();
validateColor(typeValueRequest.getHexColor());
validateBoolean(typeValueRequest.isHint(), "isHint");
validateBoolean(typeValueRequest.isCaseInsensitive(), "isCaseInsensitive");
String skippedHexColor = typeValueRequest.getSkippedHexColor();
if (StringUtils.isBlank(skippedHexColor)) { //use the default value
skippedHexColor = colorsService.getColors(typeValueRequest.getDossierTemplateId()).getNotRedacted();
typeValueRequest.setSkippedHexColor(skippedHexColor);
skippedHexColor = colorsService.getColors(typeRequest.getDossierTemplateId()).getSkippedColor();
typeRequest.setSkippedHexColor(skippedHexColor);
} else {
validateColor(skippedHexColor);
}
String recommendationHexColor = typeRequest.getRecommendationHexColor();
if (StringUtils.isBlank(recommendationHexColor)) { //use the default value
recommendationHexColor = colorsService.getColors(typeRequest.getDossierTemplateId()).getRecommendationColor();
typeRequest.setRecommendationHexColor(recommendationHexColor);
} else {
validateColor(typeRequest.getRecommendationHexColor());
}
// To check whether the type exists
Type typeResult = convert(dictionaryPersistenceService.getType(typeId), Type.class);
if (typeValueRequest.getLabel() != null) {
checkForDuplicateLabels(typeResult.getDossierTemplateId(), typeResult.getDossierId(), typeResult.getType(), typeValueRequest.getLabel());
if (typeRequest.getLabel() != null) {
checkForDuplicateLabels(typeResult.getDossierTemplateId(), typeResult.getDossierId(), typeResult.getType(), typeRequest.getLabel());
} else {
typeValueRequest.setLabel(typeResult.getLabel());
typeRequest.setLabel(typeResult.getLabel());
}
dictionaryPersistenceService.updateType(typeId, convert(typeValueRequest, TypeEntity.class));
dictionaryPersistenceService.updateType(typeId, convert(typeRequest, TypeEntity.class));
if (typeResult.isHint() != typeValueRequest.isHint() || typeResult.isCaseInsensitive() != typeValueRequest.isCaseInsensitive() || typeResult
.getRank() != typeValueRequest.getRank()) {
if (typeResult.isHint() != typeRequest.isHint() || typeResult.isCaseInsensitive() != typeRequest.isCaseInsensitive() || typeResult
.getRank() != typeRequest.getRank()) {
var currentVersion = getCurrentVersion(typeResult);
@ -177,13 +188,22 @@ public class DictionaryController implements DictionaryResource {
}
String color = typeRequest.getHexColor();
validateColor(color);
String skippedHexColor = typeRequest.getSkippedHexColor();
if (StringUtils.isBlank(skippedHexColor)) { //use the default value
skippedHexColor = colorsService.getColors(typeRequest.getDossierTemplateId()).getNotRedacted();
skippedHexColor = colorsService.getColors(typeRequest.getDossierTemplateId()).getSkippedColor();
} else {
validateColor(typeRequest.getSkippedHexColor());
}
return convert(dictionaryPersistenceService.addType(typeRequest.getType(), typeRequest.getDossierTemplateId(), color, typeRequest.getRecommendationHexColor(), skippedHexColor, typeRequest.getRank(), typeRequest.isHint(), typeRequest.isCaseInsensitive(), typeRequest.isRecommendation(), typeRequest.getDescription(), typeRequest.isAddToDictionaryAction(), typeRequest.getLabel(), typeRequest.getDossierId(), typeRequest.isHasDictionary(), typeRequest.isSystemManaged(), typeRequest.isAutoHideSkipped()), Type.class);
String recommendationHexColor = typeRequest.getRecommendationHexColor();
if (StringUtils.isBlank(recommendationHexColor)) { //use the default value
recommendationHexColor = colorsService.getColors(typeRequest.getDossierTemplateId()).getRecommendationColor();
} else {
validateColor(typeRequest.getRecommendationHexColor());
}
return convert(dictionaryPersistenceService.addType(typeRequest.getType(), typeRequest.getDossierTemplateId(), color, recommendationHexColor, skippedHexColor, typeRequest.getRank(), typeRequest.isHint(), typeRequest.isCaseInsensitive(), typeRequest.isRecommendation(), typeRequest.getDescription(), typeRequest.isAddToDictionaryAction(), typeRequest.getLabel(), typeRequest.getDossierId(), typeRequest.isHasDictionary(), typeRequest.isSystemManaged(), typeRequest.isAutoHideSkipped()), Type.class);
}

View File

@ -87,5 +87,6 @@ databaseChangeLog:
file: db/changelog/sql/35-update-skipped-color-existing-types.sql
- include:
file: db/changelog/36-revert-reports-information-column.changelog.yaml
- include:
file: db/changelog/sql/37-update-colors.sql

View File

@ -0,0 +1,23 @@
-- color configuration general fixes
alter table color_configuration add column request_add_color VARCHAR(255);
alter table color_configuration add column request_remove_color VARCHAR(255);
alter table color_configuration add column recommendation_color VARCHAR(255);
alter table color_configuration add column skipped_color VARCHAR(255);
alter table color_configuration add column redaction_color VARCHAR(255);
alter table color_configuration add column hint_color VARCHAR(255);
update color_configuration set request_add_color = request_add;
update color_configuration set request_remove_color = request_remove;
update color_configuration set skipped_color = not_redacted;
update color_configuration set redaction_color = preview_color;
update color_configuration set hint_color = '#fa98f7'; -- UI Hardcoded value
update color_configuration set recommendation_color = '#c5d3eb'; -- UI Hardcoded value
alter table color_configuration drop column manual_redaction_color;
alter table color_configuration drop column request_add;
alter table color_configuration drop column request_remove;
alter table color_configuration drop column not_redacted;
-- update color values for existing
update entity e set recommendation_hex_color = (select recommendation_color from color_configuration c where c.dossier_template_id = e.dossier_template_id) where recommendation_hex_color is null;
update entity e set skipped_hex_color = '#ec9090' where e.dossier_id is not null;

View File

@ -211,17 +211,15 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest {
.build());
var col = Colors.builder()
.analysisColor("#111111")
.defaultColor("#222222")
.dossierTemplateId(dossierTemplate.getId())
.dictionaryRequestColor("#333333")
.requestAdd("#444444")
.requestAddColor("#444444")
.ignoredHintColor("#555555")
.requestRemove("#666666")
.requestRemove("#777777")
.notRedacted("#888888")
.previewColor("#999999")
.requestRemoveColor("#666666")
.analysisColor("#777777")
.previewColor("#888888")
.redactionColor("#999999")
.updatedColor("#aaaaaa")
.manualRedactionColor("#bbbbbb")
.build();
dictionaryClient.setColors(dossierTemplate.getId(), col);
var dossierStatus = CreateOrUpdateDossierStatusRequest.builder()
@ -275,7 +273,7 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest {
assertThat(reportTemplateClient.getAvailableReportTemplates(dossierTemplate.getId())
.get(0)
.getFileName()).isEqualTo(reportTemplateClient.getAvailableReportTemplates(clonedDT.getId()).get(0).getFileName());
assertThat(dictionaryClient.getColors(dossierTemplate.getId()).getRequestAdd()).isEqualTo(dictionaryClient.getColors(clonedDT.getId()).getRequestAdd());
assertThat(dictionaryClient.getColors(dossierTemplate.getId()).getRequestAddColor()).isEqualTo(dictionaryClient.getColors(clonedDT.getId()).getRequestAddColor());
assertThat(dictionaryClient.getAllTypesForDossierTemplate(dossierTemplate.getId(), false)
.get(0)
.getRank()).isEqualTo(dictionaryClient.getAllTypesForDossierTemplate(clonedDT.getId(), false).get(0).getRank());

View File

@ -92,17 +92,22 @@ public class TypeTest extends AbstractPersistenceServerServiceTest {
var dossierTemplate = dossierTemplateTesterAndProvider.provideTestTemplate();
var colors = new Colors();
colors.setAnalysisColor("#dddddd");
colors.setDefaultColor("#dddddd");
colors.setRequestAddColor("#dddddd");
colors.setRequestRemoveColor("#dddddd");
colors.setDictionaryRequestColor("#dddddd");
colors.setPreviewColor("#dddddd");
colors.setManualRedactionColor("#dddddd");
colors.setNotRedacted("#dddddd");
colors.setRequestAdd("#dddddd");
colors.setRequestRemove("#dddddd");
colors.setIgnoredHintColor("#dddddd");
colors.setRedactionColor("#dddddd");
colors.setAnalysisColor("#dddddd");
colors.setUpdatedColor("#dddddd");
colors.setRecommendationColor("#dddddd");
colors.setSkippedColor("#dddddd");
colors.setIgnoredHintColor("#dddddd");
colors.setDossierTemplateId(dossierTemplate.getId());
dictionaryClient.setColors(dossierTemplate.getId(), colors);