RED-5375 - Dossier Template export and import

- ignore file attribute general config in export in case of not found
This commit is contained in:
devplant 2022-10-12 15:32:16 +03:00
parent c9b91fd74e
commit 9fedb2f1aa
2 changed files with 29 additions and 3 deletions

View File

@ -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);

View File

@ -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() {