Pull request #550: RED-5375 - Dossier Template export and import

Merge in RED/persistence-service from bugfix/RED-5375 to master

* commit '9fedb2f1aaf885093df334de368775d32fee1dc5':
  RED-5375 - Dossier Template export and import
This commit is contained in:
Corina Olariu 2022-10-12 21:27:04 +02:00 committed by Timo Bejan
commit 346c5b7d7d
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() {