diff --git a/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/DossierAttributesController.java b/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/DossierAttributesController.java index ec33c855d..6ab5476bf 100644 --- a/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/DossierAttributesController.java +++ b/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/DossierAttributesController.java @@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierPersistenceService; +import com.iqser.red.service.persistence.management.v1.processor.utils.DossierAttributeConfigMapper; import com.knecon.fforesight.keycloakcommons.security.KeycloakSecurity; import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierAttributeConfigEntity; import com.iqser.red.service.persistence.management.v1.processor.service.AccessControlService; @@ -52,7 +53,7 @@ public class DossierAttributesController implements DossierAttributesResource { var result = MagicConverter.convert(dossierAttributeConfigPersistenceService.setDossierAttributesConfig(dossierTemplateId, MagicConverter.convert(dossierAttributesConfig.getDossierAttributeConfigs(), DossierAttributeConfigEntity.class)), - DossierAttributeConfig.class); + DossierAttributeConfig.class, new DossierAttributeConfigMapper()); auditPersistenceService.insertRecord(AuditRequest.builder() .userId(KeycloakSecurity.getUserId()) .objectId(dossierTemplateId) @@ -72,7 +73,7 @@ public class DossierAttributesController implements DossierAttributesResource { var result = MagicConverter.convert(dossierAttributeConfigPersistenceService.addOrUpdateDossierAttribute(dossierTemplateId, MagicConverter.convert(dossierAttribute, DossierAttributeConfigEntity.class)), - DossierAttributeConfig.class); + DossierAttributeConfig.class, new DossierAttributeConfigMapper()); auditPersistenceService.insertRecord(AuditRequest.builder() .userId(KeycloakSecurity.getUserId()) .objectId(dossierTemplateId) @@ -118,7 +119,7 @@ public class DossierAttributesController implements DossierAttributesResource { public DossierAttributesConfig getDossierAttributesConfig(@PathVariable(DOSSIER_TEMPLATE_ID) String dossierTemplateId) { var result = dossierAttributeConfigPersistenceService.getDossierAttributes(dossierTemplateId); - return new DossierAttributesConfig(MagicConverter.convert(result, DossierAttributeConfig.class)); + return new DossierAttributesConfig(MagicConverter.convert(result, DossierAttributeConfig.class, new DossierAttributeConfigMapper())); } diff --git a/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/FileAttributesController.java b/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/FileAttributesController.java index afd9ca711..e99218859 100644 --- a/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/FileAttributesController.java +++ b/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/FileAttributesController.java @@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.RestController; import com.iqser.red.service.persistence.management.v1.processor.model.websocket.FileEventType; import com.iqser.red.service.persistence.management.v1.processor.service.websocket.WebsocketService; +import com.iqser.red.service.persistence.management.v1.processor.utils.FileAttributeConfigMapper; import com.knecon.fforesight.keycloakcommons.security.KeycloakSecurity; import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.FileAttributesGeneralConfigurationEntity; import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileAttributeConfigEntity; @@ -74,7 +75,9 @@ public class FileAttributesController implements FileAttributesResource { .filenameMappingColumnHeaderName(fileAttributesConfig.getFilenameMappingColumnHeaderName()) .delimiter(fileAttributesConfig.getDelimiter()) .encoding(fileAttributesConfig.getEncoding()) - .fileAttributeConfigs(MagicConverter.convert(fileAttributeConfigPersistenceService.getFileAttributes(dossierTemplateId), FileAttributeConfig.class)) + .fileAttributeConfigs(MagicConverter.convert(fileAttributeConfigPersistenceService.getFileAttributes(dossierTemplateId), + FileAttributeConfig.class, + new FileAttributeConfigMapper())) .build(); } @@ -96,7 +99,7 @@ public class FileAttributesController implements FileAttributesResource { dossierTemplateId)) .build()); - return MagicConverter.convert(result, FileAttributeConfig.class); + return MagicConverter.convert(result, FileAttributeConfig.class, new FileAttributeConfigMapper()); } @@ -145,7 +148,7 @@ public class FileAttributesController implements FileAttributesResource { .filenameMappingColumnHeaderName(generalConfig.getFilenameMappingColumnHeaderName()) .delimiter(generalConfig.getDelimiter()) .encoding(generalConfig.getEncoding()) - .fileAttributeConfigs(MagicConverter.convert(fileAttributeConfigs, FileAttributeConfig.class)) + .fileAttributeConfigs(MagicConverter.convert(fileAttributeConfigs, FileAttributeConfig.class, new FileAttributeConfigMapper())) .build(); } diff --git a/persistence-service-v1/persistence-service-internal-api-impl-v1/src/main/java/com/iqser/red/service/persistence/v1/internal/api/controller/DossierAttributesConfigInternalController.java b/persistence-service-v1/persistence-service-internal-api-impl-v1/src/main/java/com/iqser/red/service/persistence/v1/internal/api/controller/DossierAttributesConfigInternalController.java index 1a2cc25ce..5a577a284 100644 --- a/persistence-service-v1/persistence-service-internal-api-impl-v1/src/main/java/com/iqser/red/service/persistence/v1/internal/api/controller/DossierAttributesConfigInternalController.java +++ b/persistence-service-v1/persistence-service-internal-api-impl-v1/src/main/java/com/iqser/red/service/persistence/v1/internal/api/controller/DossierAttributesConfigInternalController.java @@ -10,6 +10,7 @@ import org.springframework.web.bind.annotation.RestController; import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierAttributeConfigEntity; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierAttributeConfigPersistenceService; +import com.iqser.red.service.persistence.management.v1.processor.utils.DossierAttributeConfigMapper; import com.iqser.red.service.persistence.service.v1.api.internal.resources.DossierAttributesConfigResource; import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.DossierAttributeConfig; @@ -27,7 +28,7 @@ public class DossierAttributesConfigInternalController implements DossierAttribu @Override public List getDossierAttributes(@PathVariable(DOSSIER_TEMPLATE_ID) String dossierTemplateId) { - return convert(dossierAttributeConfigPersistenceService.getDossierAttributes(dossierTemplateId), DossierAttributeConfig.class); + return convert(dossierAttributeConfigPersistenceService.getDossierAttributes(dossierTemplateId), DossierAttributeConfig.class, new DossierAttributeConfigMapper()); } } diff --git a/persistence-service-v1/persistence-service-internal-api-impl-v1/src/main/java/com/iqser/red/service/persistence/v1/internal/api/controller/FileAttributesConfigInternalController.java b/persistence-service-v1/persistence-service-internal-api-impl-v1/src/main/java/com/iqser/red/service/persistence/v1/internal/api/controller/FileAttributesConfigInternalController.java index 5024c7472..f740f8c15 100644 --- a/persistence-service-v1/persistence-service-internal-api-impl-v1/src/main/java/com/iqser/red/service/persistence/v1/internal/api/controller/FileAttributesConfigInternalController.java +++ b/persistence-service-v1/persistence-service-internal-api-impl-v1/src/main/java/com/iqser/red/service/persistence/v1/internal/api/controller/FileAttributesConfigInternalController.java @@ -8,6 +8,7 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.FileAttributeConfigPersistenceService; +import com.iqser.red.service.persistence.management.v1.processor.utils.FileAttributeConfigMapper; import com.iqser.red.service.persistence.service.v1.api.internal.resources.FileAttributesConfigResource; import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.FileAttributeConfig; @@ -25,7 +26,7 @@ public class FileAttributesConfigInternalController implements FileAttributesCon @Override public List getFileAttributeConfigs(@PathVariable(DOSSIER_TEMPLATE_ID) String dossierTemplateId) { - return convert(fileAttributeConfigPersistenceService.getFileAttributes(dossierTemplateId), FileAttributeConfig.class); + return convert(fileAttributeConfigPersistenceService.getFileAttributes(dossierTemplateId), FileAttributeConfig.class, new FileAttributeConfigMapper()); } } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/dataexchange/service/DossierTemplateExportService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/dataexchange/service/DossierTemplateExportService.java index 03d2b8ef7..e36cd54c8 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/dataexchange/service/DossierTemplateExportService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/dataexchange/service/DossierTemplateExportService.java @@ -53,6 +53,8 @@ import com.iqser.red.service.persistence.management.v1.processor.service.persist import com.iqser.red.service.persistence.management.v1.processor.service.persistence.LegalBasisMappingPersistenceService; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.ReportTemplatePersistenceService; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.RulesPersistenceService; +import com.iqser.red.service.persistence.management.v1.processor.utils.DossierAttributeConfigMapper; +import com.iqser.red.service.persistence.management.v1.processor.utils.FileAttributeConfigMapper; import com.iqser.red.service.persistence.management.v1.processor.utils.FileSystemBackedArchiver; import com.iqser.red.service.persistence.management.v1.processor.utils.StorageIdUtils; import com.iqser.red.service.persistence.service.v1.api.shared.model.RuleFileType; @@ -183,13 +185,16 @@ public class DossierTemplateExportService { fileSystemBackedArchiver.addEntries(new FileSystemBackedArchiver.ArchiveModel(folder, getFilename(ExportFilename.DOSSIER_ATTRIBUTES_CONFIG, JSON_EXT), objectMapper.writeValueAsBytes(convert(dossierAttributesConfig, - DossierAttributeConfig.class)))); + DossierAttributeConfig.class, + new DossierAttributeConfigMapper())))); // add file attribute configs List fileAttributeConfigList = fileAttributeConfigPersistenceService.getFileAttributes(dossierTemplate.getId()); fileSystemBackedArchiver.addEntries(new FileSystemBackedArchiver.ArchiveModel(folder, getFilename(ExportFilename.FILE_ATTRIBUTE_CONFIG, JSON_EXT), - objectMapper.writeValueAsBytes(convert(fileAttributeConfigList, FileAttributeConfig.class)))); + objectMapper.writeValueAsBytes(convert(fileAttributeConfigList, + FileAttributeConfig.class, + new FileAttributeConfigMapper())))); // add legal basis mapping List legalBasisMappingList = legalBasisMappingPersistenceService.getLegalBasisMapping(dossierTemplate.getId()); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/DossierAttributeConfigMapper.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/DossierAttributeConfigMapper.java new file mode 100644 index 000000000..0216c2b75 --- /dev/null +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/DossierAttributeConfigMapper.java @@ -0,0 +1,16 @@ +package com.iqser.red.service.persistence.management.v1.processor.utils; + +import java.util.function.BiConsumer; + +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierAttributeConfigEntity; +import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.DossierAttributeConfig; + +public class DossierAttributeConfigMapper implements BiConsumer { + + @Override + public void accept(DossierAttributeConfigEntity dossierAttributeConfigEntity, DossierAttributeConfig dossierAttributeConfig) { + + dossierAttributeConfig.setDossierTemplateId(dossierAttributeConfigEntity.getDossierTemplate().getId()); + } + +} diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/FileAttributeConfigMapper.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/FileAttributeConfigMapper.java new file mode 100644 index 000000000..eff3fed30 --- /dev/null +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/FileAttributeConfigMapper.java @@ -0,0 +1,16 @@ +package com.iqser.red.service.persistence.management.v1.processor.utils; + +import java.util.function.BiConsumer; + +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileAttributeConfigEntity; +import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.FileAttributeConfig; + +public class FileAttributeConfigMapper implements BiConsumer { + + @Override + public void accept(FileAttributeConfigEntity fileAttributeConfigEntity, FileAttributeConfig fileAttributeConfig) { + + fileAttributeConfig.setDossierTemplateId(fileAttributeConfigEntity.getDossierTemplate().getId()); + } + +} diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierAttributeTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierAttributeTest.java index 91eb5b840..475f46fb4 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierAttributeTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierAttributeTest.java @@ -55,6 +55,7 @@ public class DossierAttributeTest extends AbstractPersistenceServerServiceTest { assertThat(created.getPlaceholder()).isEqualTo("{{dossier.attribute.Test}}"); loadedAttributes = dossierAttributeConfigClient.getDossierAttributesConfig(dossier.getDossierTemplateId()); assertThat(loadedAttributes.getDossierAttributeConfigs()).isNotEmpty(); + assertThat(loadedAttributes.getDossierAttributeConfigs().get(0).getDossierTemplateId()).isEqualTo(dossier.getDossierTemplateId()); attribute.setId(created.getId()); attribute.setLabel("updated test"); diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileAttributeTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileAttributeTest.java index da8517fd2..76df7ace8 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileAttributeTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileAttributeTest.java @@ -124,6 +124,7 @@ public class FileAttributeTest extends AbstractPersistenceServerServiceTest { loadedConfigs = fileAttributeConfigClient.getFileAttributesConfiguration(dossier.getDossierTemplateId()).getFileAttributeConfigs(); assertThat(loadedConfigs.size()).isEqualTo(3); + assertThat(loadedConfigs.get(0).getDossierTemplateId()).isEqualTo(dossier.getDossierTemplateId()); FileAttributeConfig newConfig = new FileAttributeConfig(); newConfig.setPrimaryAttribute(true);