RED-7883: BACKPORT: updated methods to import and export with UTF-8 instead of modified UTF-8
This commit is contained in:
parent
b5db1ee8ed
commit
c8f25db697
@ -2,13 +2,8 @@ package com.iqser.red.service.peristence.v1.server.service;
|
||||
|
||||
import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataInputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.*;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.ArrayList;
|
||||
@ -682,17 +677,13 @@ public class DossierTemplateImportService {
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -2,9 +2,9 @@ package com.iqser.red.service.peristence.v1.server.service.export;
|
||||
|
||||
import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.*;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@ -226,15 +226,24 @@ 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");
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user