diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/export/DossierTemplateExportService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/export/DossierTemplateExportService.java index 6fb1400cb..96caca6a8 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/export/DossierTemplateExportService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/export/DossierTemplateExportService.java @@ -12,6 +12,7 @@ import com.iqser.red.service.persistence.management.v1.processor.entity.configur import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.TypeEntity; import com.iqser.red.service.persistence.management.v1.processor.entity.download.DownloadStatusEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException; +import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.ColorsService; import com.iqser.red.service.persistence.management.v1.processor.service.WatermarkService; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.*; @@ -123,9 +124,13 @@ public class DossierTemplateExportService { objectMapper.writeValueAsBytes(convert(legalBasisMappingList, LegalBasis.class)))); // add file attributes general configuration - var fileAttributesGeneralConfig = fileAttributeConfigPersistenceService.getFileAttributesGeneralConfiguration(dossierTemplateId); - fileSystemBackedArchiver.addEntries(new FileSystemBackedArchiver.ArchiveModel(null, getFilename(ExportFilename.FILE_ATTRIBUTE_GENERAL_CONFIG, JSON_EXT), - objectMapper.writeValueAsBytes(convert(fileAttributesGeneralConfig, FileAttributesGeneralConfiguration.class)))); + try { + var fileAttributesGeneralConfig = fileAttributeConfigPersistenceService.getFileAttributesGeneralConfiguration(dossierTemplateId); + fileSystemBackedArchiver.addEntries(new FileSystemBackedArchiver.ArchiveModel(null, getFilename(ExportFilename.FILE_ATTRIBUTE_GENERAL_CONFIG, JSON_EXT), + objectMapper.writeValueAsBytes(convert(fileAttributesGeneralConfig, FileAttributesGeneralConfiguration.class)))); + } catch (NotFoundException e) { + log.debug("file attributes general config not found"); + } // add rule set var ruleSet = rulesPersistenceService.getRules(dossierTemplateId); 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 a4c8166c1..37893239d 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 @@ -349,6 +349,27 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest { assertThat(statuses.get(0).getStatus()).isEqualTo(DownloadStatusValue.READY); } + @SneakyThrows + @Test + public void testExportDossierTemplateWithFileAttributeGeneralConfigNotPresent() { + var dossierTemplate = dossierTemplateTesterAndProvider.provideTestTemplate(); + + dossierTemplateClient.prepareExportDownload(ExportDownloadRequest.builder() + .userId("1") + .dossierTemplateId(dossierTemplate.getId()) + .build()); + var statuses = downloadClient.getDownloadStatus("1"); + assertThat(statuses).isNotEmpty(); + + + String storageId = StorageIdUtils.getStorageId("1", dossierTemplate.getId()); + dossierTemplateClient.createExportDownload("1", storageId); + + statuses = downloadClient.getDownloadStatus("1"); + assertThat(statuses).isNotEmpty(); + assertThat(statuses.get(0).getStatus()).isEqualTo(DownloadStatusValue.READY); + } + @Test @SneakyThrows public void testImportDossierTemplateUpdateExisting() {