RED-7883: updated methods to import and export with UTF-8 instead of modified UTF-8
This commit is contained in:
parent
f0a4772c33
commit
8845c406b2
@ -532,32 +532,14 @@ public class DossierTemplateImportService {
|
|||||||
private List<String> readEntries(byte[] bytes) {
|
private List<String> readEntries(byte[] bytes) {
|
||||||
|
|
||||||
ByteArrayInputStream bInput = new ByteArrayInputStream(bytes);
|
ByteArrayInputStream bInput = new ByteArrayInputStream(bytes);
|
||||||
DataInputStream in = new DataInputStream(bInput);
|
try (BufferedReader br = new BufferedReader(new InputStreamReader(bInput, StandardCharsets.UTF_8))) {
|
||||||
List<String> entries = new ArrayList<>();
|
return br.lines().collect(Collectors.toList());
|
||||||
try {
|
|
||||||
while (in.available() > 0) {
|
|
||||||
String entry = in.readUTF();
|
|
||||||
entries.add(entry);
|
|
||||||
|
|
||||||
}
|
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
log.debug("exception: ", e);
|
log.debug("exception: ", e);
|
||||||
throw new BadRequestException("Error while reading the entries", 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) {
|
private String getType(String filename) {
|
||||||
|
|
||||||
|
|||||||
@ -1,20 +1,5 @@
|
|||||||
package com.iqser.red.service.persistence.management.v1.processor.service.export;
|
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.core.JsonProcessingException;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
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.ColorsService;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.service.FileManagementStorageService;
|
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.WatermarkService;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DictionaryPersistenceService;
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.*;
|
||||||
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.utils.FileSystemBackedArchiver;
|
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.management.v1.processor.utils.StorageIdUtils;
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.RuleFileType;
|
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.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.dossiertemplate.type.Type;
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.download.DownloadStatusValue;
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.download.DownloadStatusValue;
|
||||||
|
|
||||||
import jakarta.transaction.Transactional;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.SneakyThrows;
|
import lombok.SneakyThrows;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
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
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
@ -256,38 +240,28 @@ public class DossierTemplateExportService {
|
|||||||
|
|
||||||
private void writeEntriesListToFile(FileSystemBackedArchiver fileSystemBackedArchiver, List<String> entriesValuesList, String folderName, String filename) {
|
private void writeEntriesListToFile(FileSystemBackedArchiver fileSystemBackedArchiver, List<String> entriesValuesList, String folderName, String filename) {
|
||||||
|
|
||||||
try {
|
try (ByteArrayOutputStream bt = new ByteArrayOutputStream();
|
||||||
ByteArrayOutputStream bt = new ByteArrayOutputStream();
|
OutputStreamWriter osw = new OutputStreamWriter(bt, StandardCharsets.UTF_8);
|
||||||
DataOutputStream dt = new DataOutputStream(bt);
|
BufferedWriter writer = new BufferedWriter(osw)) {
|
||||||
for (String entry : entriesValuesList) {
|
|
||||||
dt.writeUTF(entry);
|
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()));
|
fileSystemBackedArchiver.addEntries(new FileSystemBackedArchiver.ArchiveModel(folderName, filename, bt.toByteArray()));
|
||||||
dt.close();
|
|
||||||
bt.close();
|
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
log.debug("Error writing values to files");
|
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) {
|
private void storeZipFile(String storageId, FileSystemBackedArchiver fileSystemBackedArchiver) {
|
||||||
|
|
||||||
|
|||||||
@ -105,11 +105,6 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private LegalBasisClient legalBasisClient;
|
private LegalBasisClient legalBasisClient;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private DossierTemplateImportService dossierTemplateImportService;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private DossierTemplateManagementService dossierTemplateManagementService;
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testDownload() {
|
public void testDownload() {
|
||||||
@ -624,7 +619,6 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest {
|
|||||||
while (in.available() > 0) {
|
while (in.available() > 0) {
|
||||||
String entry = in.readUTF();
|
String entry = in.readUTF();
|
||||||
entries.add(entry);
|
entries.add(entry);
|
||||||
|
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
throw new BadRequestException("Error while reading the entries", e);
|
throw new BadRequestException("Error while reading the entries", e);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user