diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DossierTemplateImportService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DossierTemplateImportService.java index e154b8633..10ba702d7 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DossierTemplateImportService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DossierTemplateImportService.java @@ -532,32 +532,14 @@ public class DossierTemplateImportService { private List readEntries(byte[] bytes) { ByteArrayInputStream bInput = new ByteArrayInputStream(bytes); - DataInputStream in = new DataInputStream(bInput); - List entries = new ArrayList<>(); - try { - while (in.available() > 0) { - String entry = in.readUTF(); - entries.add(entry); - - } + try (BufferedReader br = new BufferedReader(new InputStreamReader(bInput, StandardCharsets.UTF_8))) { + return br.lines().collect(Collectors.toList()); } catch (IOException e) { log.debug("exception: ", e); throw new BadRequestException("Error while reading the entries", e); } - return entries; } -// private List readEntries(byte[] bytes) { -// -// ByteArrayInputStream bInput = new ByteArrayInputStream(bytes); -// try (BufferedReader br = new BufferedReader(new InputStreamReader(bInput, StandardCharsets.UTF_8))) { -// return br.lines().collect(Collectors.toList()); -// } catch (IOException e) { -// log.debug("exception: ", e); -// throw new BadRequestException("Error while reading the entries", e); -// } -// } - private String getType(String filename) { diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/export/DossierTemplateExportService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/export/DossierTemplateExportService.java index fd41eaae2..385bcd56e 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/export/DossierTemplateExportService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/export/DossierTemplateExportService.java @@ -1,20 +1,5 @@ package com.iqser.red.service.persistence.management.v1.processor.service.export; -import static com.knecon.fforesight.databasetenantcommons.providers.utils.MagicConverter.convert; - -import java.io.BufferedWriter; -import java.io.ByteArrayOutputStream; -import java.io.DataOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStreamWriter; -import java.nio.charset.StandardCharsets; -import java.util.List; -import java.util.stream.Collectors; - -import org.springframework.amqp.rabbit.core.RabbitTemplate; -import org.springframework.stereotype.Service; - import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; @@ -28,16 +13,7 @@ import com.iqser.red.service.persistence.management.v1.processor.model.DownloadJ import com.iqser.red.service.persistence.management.v1.processor.service.ColorsService; import com.iqser.red.service.persistence.management.v1.processor.service.FileManagementStorageService; import com.iqser.red.service.persistence.management.v1.processor.service.WatermarkService; -import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DictionaryPersistenceService; -import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierAttributeConfigPersistenceService; -import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierStatusPersistenceService; -import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierTemplatePersistenceService; -import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DownloadStatusPersistenceService; -import com.iqser.red.service.persistence.management.v1.processor.service.persistence.EntryPersistenceService; -import com.iqser.red.service.persistence.management.v1.processor.service.persistence.FileAttributeConfigPersistenceService; -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.service.persistence.*; 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; @@ -56,11 +32,19 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemp import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.type.DictionaryEntryType; import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.type.Type; import com.iqser.red.service.persistence.service.v1.api.shared.model.download.DownloadStatusValue; - -import jakarta.transaction.Transactional; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.stereotype.Service; + +import java.io.*; +import java.nio.charset.StandardCharsets; +import java.util.Iterator; +import java.util.List; +import java.util.stream.Collectors; + +import static com.knecon.fforesight.databasetenantcommons.providers.utils.MagicConverter.convert; @Slf4j @Service @@ -256,38 +240,28 @@ public class DossierTemplateExportService { private void writeEntriesListToFile(FileSystemBackedArchiver fileSystemBackedArchiver, List entriesValuesList, String folderName, String filename) { - try { - ByteArrayOutputStream bt = new ByteArrayOutputStream(); - DataOutputStream dt = new DataOutputStream(bt); - for (String entry : entriesValuesList) { - dt.writeUTF(entry); + try (ByteArrayOutputStream bt = new ByteArrayOutputStream(); + OutputStreamWriter osw = new OutputStreamWriter(bt, StandardCharsets.UTF_8); + BufferedWriter writer = new BufferedWriter(osw)) { + + Iterator iterator = entriesValuesList.iterator(); + + while (iterator.hasNext()) { + String entry = iterator.next(); + writer.write(entry); + + if (iterator.hasNext()) { + writer.newLine(); + } } + writer.flush(); + fileSystemBackedArchiver.addEntries(new FileSystemBackedArchiver.ArchiveModel(folderName, filename, bt.toByteArray())); - dt.close(); - bt.close(); } catch (IOException e) { log.debug("Error writing values to files"); } } -// private void writeEntriesListToFile(FileSystemBackedArchiver fileSystemBackedArchiver, List entriesValuesList, String folderName, String filename) { -// -// try (ByteArrayOutputStream bt = new ByteArrayOutputStream(); -// OutputStreamWriter osw = new OutputStreamWriter(bt, StandardCharsets.UTF_8); -// BufferedWriter writer = new BufferedWriter(osw)) { -// -// for (String entry : entriesValuesList) { -// writer.write(entry); -// writer.newLine(); -// } -// writer.flush(); -// -// fileSystemBackedArchiver.addEntries(new FileSystemBackedArchiver.ArchiveModel(folderName, filename, bt.toByteArray())); -// } catch (IOException e) { -// log.debug("Error writing values to files"); -// } -// } - private void storeZipFile(String storageId, FileSystemBackedArchiver fileSystemBackedArchiver) { 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 e1872aeeb..f102991f5 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 @@ -105,11 +105,6 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest { @Autowired private LegalBasisClient legalBasisClient; - @Autowired - private DossierTemplateImportService dossierTemplateImportService; - - @Autowired - private DossierTemplateManagementService dossierTemplateManagementService; @Test public void testDownload() { @@ -624,7 +619,6 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest { while (in.available() > 0) { String entry = in.readUTF(); entries.add(entry); - } } catch (IOException e) { throw new BadRequestException("Error while reading the entries", e);