From 0f5f7974cc46e36d39d514ad03b5adcf062c9526 Mon Sep 17 00:00:00 2001 From: deiflaender Date: Wed, 11 May 2022 14:38:06 +0200 Subject: [PATCH] RED-4010: Fixed problem with strange unicode in json d835 --- .../v1/server/storage/RedactionStorageService.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/storage/RedactionStorageService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/storage/RedactionStorageService.java index 62bf9b1e..a7772bd6 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/storage/RedactionStorageService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/storage/RedactionStorageService.java @@ -2,6 +2,7 @@ package com.iqser.red.service.redaction.v1.server.storage; import com.dslplatform.json.DslJson; import com.dslplatform.json.runtime.Settings; +import com.fasterxml.jackson.databind.ObjectMapper; import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileType; import com.iqser.red.service.redaction.v1.model.ImportedRedactions; import com.iqser.red.service.redaction.v1.model.RedactionLog; @@ -28,6 +29,7 @@ import java.io.InputStream; public class RedactionStorageService { private final StorageService storageService; + private final ObjectMapper objectMapper; private final DslJson dslJson = new DslJson<>(Settings.basicSetup()); @@ -42,7 +44,15 @@ public class RedactionStorageService { @SneakyThrows public void storeObject(String dossierId, String fileId, FileType fileType, Object any) { var baos = new ByteArrayOutputStream(); - dslJson.serialize(any, baos); + try { + dslJson.serialize(any, baos); + } catch (com.dslplatform.json.SerializationException e){ + // Fails on file 49 Cyprodinil - EU AIR3 - MCA Section 8 Supplement - Ecotoxicological studies on the active substance.pdf + var bytes = objectMapper.writeValueAsBytes(any); + storageService.storeObject(StorageIdUtils.getStorageId(dossierId, fileId, fileType), bytes); + dslJson.newWriter(); + return; + } storageService.storeObject(StorageIdUtils.getStorageId(dossierId, fileId, fileType), baos.toByteArray()); }