RED-7883: changed encoding from modified UTF-8 to UTF-8 for dossier template import and export

This commit is contained in:
Ali Oezyetimoglu 2023-11-13 09:00:09 +01:00
parent 8ad1938b1c
commit d11a1178b3
4 changed files with 69 additions and 3 deletions

View File

@ -3,12 +3,15 @@ package com.iqser.red.service.persistence.management.v1.processor.service;
import static com.knecon.fforesight.databasetenantcommons.providers.utils.MagicConverter.convert;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
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.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.time.OffsetDateTime;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
@ -17,7 +20,6 @@ import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.UUID;
import java.util.function.Function;
@ -67,7 +69,6 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemp
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.ReportTemplateUploadRequest;
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.configuration.Colors;
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.CreateOrUpdateDossierStatusRequest;
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.Dossier;
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.DossierStatusInfo;
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.FileAttributeConfig;
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.importexport.ExportFilename;
@ -546,6 +547,17 @@ public class DossierTemplateImportService {
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

@ -2,10 +2,12 @@ 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;
@ -268,6 +270,24 @@ public class DossierTemplateExportService {
}
}
// 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

@ -47,7 +47,7 @@ public class DossierTemplateImportTest extends AbstractPersistenceServerServiceT
@Disabled
public void testLocalDossierTemplateImport() {
var importDir = new File("C:\\Users\\YannikHampe\\Downloads\\testing\\");
var importDir = new File("/tmp/knoell");
assertThat(importDir).isNotNull();
assertThat(importDir.exists()).isTrue();

View File

@ -5,12 +5,20 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.BufferedWriter;
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.nio.charset.StandardCharsets;
import java.time.OffsetDateTime;
import java.time.ZoneOffset;
import java.time.temporal.ChronoUnit;
import java.util.Collections;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import org.jetbrains.annotations.NotNull;
@ -38,6 +46,7 @@ import com.iqser.red.service.persistence.management.v1.processor.exception.BadRe
import com.iqser.red.service.persistence.management.v1.processor.model.DownloadJob;
import com.iqser.red.service.persistence.management.v1.processor.service.FileManagementStorageService;
import com.iqser.red.service.persistence.management.v1.processor.service.export.ExportDownloadMessageReceiver;
import com.iqser.red.service.persistence.management.v1.processor.utils.FileSystemBackedArchiver;
import com.iqser.red.service.persistence.service.v1.api.shared.model.CreateTypeValue;
import com.iqser.red.service.persistence.service.v1.api.shared.model.DossierAttributesConfig;
import com.iqser.red.service.persistence.service.v1.api.shared.model.DossierStatusRequest;
@ -376,6 +385,7 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest {
}
private void setupDossierTemplate(DossierTemplateModel dossierTemplate) {
var type = CreateTypeValue.builder()
@ -551,6 +561,30 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest {
}
@Test
@SneakyThrows
public void testWriteLines() {
List<String> entriesValuesList = List.of("Adam", "Eva", "drei sdfs");
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();
try (FileOutputStream fileOutputStream = new FileOutputStream("/tmp/e.txt")) {
fileOutputStream.write(bt.toByteArray());
}
}
}
@Test
@SneakyThrows
public void testImportDossierTemplateUpdateExisting() {