RED-7883: updated methods to import and export with UTF-8 instead of modified UTF-8

This commit is contained in:
Ali Oezyetimoglu 2023-11-14 10:50:42 +01:00
parent f0a4772c33
commit 8845c406b2
3 changed files with 28 additions and 78 deletions

View File

@ -532,32 +532,14 @@ public class DossierTemplateImportService {
private List<String> readEntries(byte[] bytes) {
ByteArrayInputStream bInput = new ByteArrayInputStream(bytes);
DataInputStream in = new DataInputStream(bInput);
List<String> 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<String> 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) {

View File

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

View File

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