diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/DossierStatus.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/DossierStatus.java index 9d7a117f5..53efd6b52 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/DossierStatus.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/DossierStatus.java @@ -1,5 +1,5 @@ package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier; public enum DossierStatus { - ACTIVE, ARCHIVED, DELETED + ACTIVE, DELETED, ARCHIVED; } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/DossierEntity.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/DossierEntity.java index 1d79904ff..d688d10a1 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/DossierEntity.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/DossierEntity.java @@ -41,7 +41,8 @@ public class DossierEntity { @Column(length = 4000) private String description; - @Column + @Column(name = "dossier_status") + @Enumerated(EnumType.STRING) private DossierStatus status; @Column diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/JSONDownloadFileTypeConverter.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/JSONDownloadFileTypeConverter.java index ca40c9e92..1b23ca187 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/JSONDownloadFileTypeConverter.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/JSONDownloadFileTypeConverter.java @@ -1,6 +1,5 @@ package com.iqser.red.service.persistence.management.v1.processor.utils; -import com.amazonaws.services.s3.transfer.Download; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DownloadFileType; @@ -25,6 +24,9 @@ public class JSONDownloadFileTypeConverter implements AttributeConverter convertToEntityAttribute(String data) { + if (data == null) { + return new HashSet<>(); + } TypeReference> typeRef = new TypeReference<>() { }; return objectMapper.readValue(data, typeRef); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/JSONIntegerSetConverter.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/JSONIntegerSetConverter.java index 4bb15530e..f832b086e 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/JSONIntegerSetConverter.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/JSONIntegerSetConverter.java @@ -23,6 +23,9 @@ public class JSONIntegerSetConverter implements AttributeConverter, @SneakyThrows @Override public Set convertToEntityAttribute(String data) { + if (data == null) { + return new HashSet<>(); + } TypeReference> typeRef = new TypeReference<>() { }; return objectMapper.readValue(data, typeRef); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/JSONMapConverter.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/JSONMapConverter.java index b0de9f442..26d8c2345 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/JSONMapConverter.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/JSONMapConverter.java @@ -23,6 +23,9 @@ public class JSONMapConverter implements AttributeConverter, @SneakyThrows @Override public Map convertToEntityAttribute(String data) { + if (data == null) { + return new HashMap<>(); + } TypeReference> typeRef = new TypeReference<>() { }; return objectMapper.readValue(data, typeRef); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/JSONStringSetConverter.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/JSONStringSetConverter.java index aecf91b77..785d2fc6b 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/JSONStringSetConverter.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/JSONStringSetConverter.java @@ -23,6 +23,9 @@ public class JSONStringSetConverter implements AttributeConverter, S @SneakyThrows @Override public Set convertToEntityAttribute(String data) { + if (data == null) { + return new HashSet<>(); + } TypeReference> typeRef = new TypeReference<>() { }; return objectMapper.readValue(data, typeRef); diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/7-json-column-mapping.changelog.yaml b/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/7-json-column-mapping.changelog.yaml index 843364d94..f76b4def6 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/7-json-column-mapping.changelog.yaml +++ b/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/7-json-column-mapping.changelog.yaml @@ -24,6 +24,9 @@ databaseChangeLog: - column: name: download_file_types type: TEXT + - column: + name: dossier_status + type: VARCHAR(30) tableName: dossier - changeSet: id: add-dossier-template-download-file-types-members-approvers diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/8-remove-old-dossier-status-column.changelog.yaml b/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/8-remove-old-dossier-status-column.changelog.yaml new file mode 100644 index 000000000..16c459e42 --- /dev/null +++ b/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/8-remove-old-dossier-status-column.changelog.yaml @@ -0,0 +1,10 @@ +databaseChangeLog: + - changeSet: + id: remove-dossier-status-numeric-column + author: timo + changes: + - removeColumn: + columns: + - column: + name: status + tableName: dossier 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 dfd54a7ee..87156b2af 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 @@ -15,3 +15,5 @@ databaseChangeLog: file: db/changelog/7-json-column-mapping.changelog.yaml - include: file: db/changelog/sql/7.1-set-json-fields.sql + - include: + file: db/changelog/8-remove-old-dossier-status-column.changelog.yaml diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/sql/7.1-set-json-fields.sql b/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/sql/7.1-set-json-fields.sql index d3e059786..5c5ef1a0e 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/sql/7.1-set-json-fields.sql +++ b/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/sql/7.1-set-json-fields.sql @@ -25,3 +25,7 @@ update download_status set download_file_types = (select '['||STRING_AGG( '"'|| download_file_types || '"', ', ')||']' from download_status_entity_download_file_types dem where dem.download_status_entity_storage_id = download_status.storage_id group by dem.download_status_entity_storage_id); + +update dossier set dossier_status = 'ACTIVE' where status = 0 or status is null; +update dossier set dossier_status = 'DELETED' where status = 1; +update dossier set dossier_status = 'ARCHIVED' where status = 2;