From 9be8d46f4e72a32c55d374ddb06fd11b515998c2 Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Mon, 25 Jul 2022 21:44:53 +0300 Subject: [PATCH 1/2] RED-4686 - storage commons update --- redaction-service-v1/pom.xml | 7 +- .../storage/RedactionStorageService.java | 109 +-------------- .../FileSystemBackedStorageService.java | 69 +++++----- .../v1/server/RedactionIntegrationTest.java | 129 +++++++----------- .../redaction/v1/server/RulesTest.java | 7 +- 5 files changed, 94 insertions(+), 227 deletions(-) diff --git a/redaction-service-v1/pom.xml b/redaction-service-v1/pom.xml index c6e4a697..6f67ff90 100644 --- a/redaction-service-v1/pom.xml +++ b/redaction-service-v1/pom.xml @@ -29,15 +29,10 @@ - - com.dslplatform - dsl-json-java8 - ${dsljson.version} - com.iqser.red platform-commons-dependency - 1.15.0 + 1.17.0 import pom 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 28dc7554..d4119298 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 @@ -12,17 +12,14 @@ import com.iqser.red.service.redaction.v1.server.client.model.NerEntities; import com.iqser.red.service.redaction.v1.server.exception.NotFoundException; import com.iqser.red.storage.commons.exception.StorageObjectDoesNotExist; import com.iqser.red.storage.commons.service.StorageService; - import io.micrometer.core.annotation.Timed; import lombok.Getter; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; - import org.springframework.core.io.InputStreamResource; import org.springframework.stereotype.Service; -import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; @@ -32,10 +29,6 @@ import java.io.InputStream; public class RedactionStorageService { private final StorageService storageService; - private final ObjectMapper objectMapper; - - private final DslJson dslJson = new DslJson<>(Settings.basicSetup()); - @SneakyThrows public InputStream getStoredObject(String storageId) { @@ -54,156 +47,66 @@ public class RedactionStorageService { @SneakyThrows @Timed("redactmanager_storeObject") public void storeObject(String dossierId, String fileId, FileType fileType, Object any) { - - try(var byteArrayOutputStream = serializeObject(any)){ - storageService.storeObject(StorageIdUtils.getStorageId(dossierId, fileId, fileType), byteArrayOutputStream); - } + storageService.storeJSONObject(StorageIdUtils.getStorageId(dossierId, fileId, fileType), any); } - - @SneakyThrows - @Timed("redactmanager_serializeObject") - private ByteArrayOutputStream serializeObject(Object any) { - - try { - var baos = new ByteArrayOutputStream(); - dslJson.serialize(any, baos); - return 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 baos = new ByteArrayOutputStream(); - objectMapper.writeValue(baos, any); - dslJson.newWriter(); - return baos; - } - } - - @Timed("redactmanager_getImportedRedactions") public ImportedRedactions getImportedRedactions(String dossierId, String fileId) { - InputStreamResource inputStreamResource; try { - inputStreamResource = storageService.getObject(StorageIdUtils.getStorageId(dossierId, fileId, FileType.IMPORTED_REDACTIONS)); + return storageService.readJSONObject(StorageIdUtils.getStorageId(dossierId, fileId, FileType.IMPORTED_REDACTIONS), ImportedRedactions.class); } catch (StorageObjectDoesNotExist e) { log.debug("Imported redactions not available."); return null; } - - return deserializeImportedRedactions(inputStreamResource); - } - - - @Timed("redactmanager_deserializeImportedRedactions") - private ImportedRedactions deserializeImportedRedactions(InputStreamResource inputStreamResource) { - - try { - return dslJson.deserialize(ImportedRedactions.class, inputStreamResource.getInputStream()); - } catch (IOException e) { - throw new RuntimeException("Could not imported redactions", e); - } } @Timed("redactmanager_getRedactionLog") public RedactionLog getRedactionLog(String dossierId, String fileId) { - InputStreamResource inputStreamResource; try { - inputStreamResource = storageService.getObject(StorageIdUtils.getStorageId(dossierId, fileId, FileType.REDACTION_LOG)); + return storageService.readJSONObject(StorageIdUtils.getStorageId(dossierId, fileId, FileType.REDACTION_LOG),RedactionLog.class); } catch (StorageObjectDoesNotExist e) { log.debug("Text not available."); return null; } - return deserializeRedactionLog(inputStreamResource); - } - - - @Timed("redactmanager_deserializeRedactionLog") - private RedactionLog deserializeRedactionLog(InputStreamResource inputStreamResource) { - - try { - return dslJson.deserialize(RedactionLog.class, inputStreamResource.getInputStream()); - } catch (IOException e) { - throw new RuntimeException("Could not convert RedactionLog", e); - } } @Timed("redactmanager_getText") public Text getText(String dossierId, String fileId) { - InputStreamResource inputStreamResource; try { - inputStreamResource = storageService.getObject(StorageIdUtils.getStorageId(dossierId, fileId, FileType.TEXT)); + return storageService.readJSONObject(StorageIdUtils.getStorageId(dossierId, fileId, FileType.TEXT),Text.class); } catch (StorageObjectDoesNotExist e) { log.debug("Text not available."); return null; } - - return deserializeText(inputStreamResource); - } - - - @Timed("redactmanager_deserializeText") - private Text deserializeText(InputStreamResource inputStreamResource) { - - try { - return dslJson.deserialize(Text.class, inputStreamResource.getInputStream()); - } catch (IOException e) { - throw new RuntimeException("Could not convert Text", e); - } } @Timed("redactmanager_getNerEntities") public NerEntities getNerEntities(String dossierId, String fileId) { - InputStreamResource inputStreamResource; try { - inputStreamResource = storageService.getObject(StorageIdUtils.getStorageId(dossierId, fileId, FileType.NER_ENTITIES)); + return storageService.readJSONObject(StorageIdUtils.getStorageId(dossierId, fileId, FileType.NER_ENTITIES), NerEntities.class); } catch (StorageObjectDoesNotExist e) { throw new NotFoundException("NER Entities are not available."); } - - return deserializeNerEntities(inputStreamResource); } - @Timed("redactmanager_deserializeNerEntities") - private NerEntities deserializeNerEntities(InputStreamResource inputStreamResource) { - - try { - return dslJson.deserialize(NerEntities.class, inputStreamResource.getInputStream()); - } catch (IOException e) { - throw new RuntimeException("Could not convert NER Entities", e); - } - } - @Timed("redactmanager_getSectionGrid") public SectionGrid getSectionGrid(String dossierId, String fileId) { - InputStreamResource inputStreamResource; try { - inputStreamResource = storageService.getObject(StorageIdUtils.getStorageId(dossierId, fileId, FileType.SECTION_GRID)); + return storageService.readJSONObject(StorageIdUtils.getStorageId(dossierId, fileId, FileType.SECTION_GRID),SectionGrid.class); } catch (StorageObjectDoesNotExist e) { throw new NotFoundException("Section Grid is not available."); } - - return deserializeSectionGrid(inputStreamResource); - } - - - @Timed("redactmanager_deserializeSectionGrid") - private SectionGrid deserializeSectionGrid(InputStreamResource inputStreamResource) { - - try { - return dslJson.deserialize(SectionGrid.class, inputStreamResource.getInputStream()); - } catch (IOException e) { - throw new RuntimeException("Could not convert SectionGrid", e); - } } diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/FileSystemBackedStorageService.java b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/FileSystemBackedStorageService.java index da9d1b32..a6271e92 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/FileSystemBackedStorageService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/FileSystemBackedStorageService.java @@ -1,22 +1,25 @@ package com.iqser.red.service.redaction.v1.server; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import com.iqser.red.storage.commons.exception.StorageObjectDoesNotExist; -import com.iqser.red.storage.commons.service.S3StorageService; import com.iqser.red.storage.commons.service.StorageService; import lombok.SneakyThrows; import org.apache.commons.io.IOUtils; import org.springframework.core.io.InputStreamResource; -import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; -import java.util.zip.GZIPOutputStream; -public class FileSystemBackedStorageService implements StorageService{ +public class FileSystemBackedStorageService implements StorageService { private final Map dataMap = new HashMap<>(); @@ -50,34 +53,47 @@ public class FileSystemBackedStorageService implements StorageService{ } - public List listPaths(){ + @Override + @SneakyThrows + public void storeJSONObject(String objectId, T any) { + File tempFile = File.createTempFile("test", ".tmp"); + getMapper().writeValue(new FileOutputStream(tempFile), any); + dataMap.put(objectId, tempFile); + } + + private ObjectMapper getMapper() { + var objectMapper = new ObjectMapper(); + objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + objectMapper.registerModule(new JavaTimeModule()); + objectMapper.findAndRegisterModules(); + return objectMapper; + } + + @Override + @SneakyThrows + public T readJSONObject(String objectId, Class clazz) { + if (dataMap.get(objectId) == null || !dataMap.get(objectId).exists()) { + throw new StorageObjectDoesNotExist("Stored object not found"); + } + return getMapper().readValue(new FileInputStream(dataMap.get(objectId)), clazz); + } + + public List listPaths() { return new ArrayList<>(dataMap.keySet()); } - public List listFilePaths(){ + public List listFilePaths() { return dataMap.values().stream().map(File::getAbsolutePath).collect(Collectors.toList()); } - @SneakyThrows - @Override - public void storeObject(String objectId, byte[] data) { - File tempFile = File.createTempFile("storage", objectId.replace("/","-")); - - try(var fileOutputStream = new FileOutputStream(tempFile)) { - IOUtils.write(data, fileOutputStream); - } - - dataMap.put(objectId, tempFile); - } - @Override @SneakyThrows public void storeObject(String objectId, InputStream stream) { File tempFile = File.createTempFile("test", ".tmp"); - try(var fileOutputStream = new FileOutputStream(tempFile)) { + try (var fileOutputStream = new FileOutputStream(tempFile)) { IOUtils.copy(stream, fileOutputStream); } @@ -85,19 +101,6 @@ public class FileSystemBackedStorageService implements StorageService{ } - @Override - @SneakyThrows - public void storeObject(String objectId, ByteArrayOutputStream stream) { - - File tempFile = File.createTempFile("test", ".tmp"); - try(var fileOutputStream = new FileOutputStream(tempFile)){ - stream.writeTo(fileOutputStream); - } - - dataMap.put(objectId, tempFile); - } - - public void clearStorage() { this.dataMap.forEach((k, v) -> { v.delete(); diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationTest.java b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationTest.java index 4287408d..b8c2988c 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationTest.java +++ b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationTest.java @@ -1,30 +1,36 @@ package com.iqser.red.service.redaction.v1.server; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.when; - -import java.io.BufferedReader; -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.net.URL; -import java.nio.charset.StandardCharsets; -import java.time.OffsetDateTime; -import java.time.ZoneOffset; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.UUID; -import java.util.stream.Collectors; - -import org.apache.commons.io.IOUtils; +import com.amazonaws.services.s3.AmazonS3; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.AnnotationStatus; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.Comment; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.ManualRedactions; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.Rectangle; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.entitymapped.*; +import com.iqser.red.service.persistence.service.v1.api.model.common.JSONPrimitive; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration.Colors; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileType; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.type.DictionaryEntry; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.type.Type; +import com.iqser.red.service.redaction.v1.model.*; +import com.iqser.red.service.redaction.v1.server.annotate.AnnotateRequest; +import com.iqser.red.service.redaction.v1.server.annotate.AnnotateResponse; +import com.iqser.red.service.redaction.v1.server.annotate.AnnotationService; +import com.iqser.red.service.redaction.v1.server.classification.model.SectionText; +import com.iqser.red.service.redaction.v1.server.client.DictionaryClient; +import com.iqser.red.service.redaction.v1.server.client.LegalBasisClient; +import com.iqser.red.service.redaction.v1.server.client.RulesClient; +import com.iqser.red.service.redaction.v1.server.controller.RedactionController; +import com.iqser.red.service.redaction.v1.server.redaction.service.AnalyzeService; +import com.iqser.red.service.redaction.v1.server.redaction.service.ManualRedactionSurroundingTextService; +import com.iqser.red.service.redaction.v1.server.redaction.utils.OsUtils; +import com.iqser.red.service.redaction.v1.server.redaction.utils.ResourceLoader; +import com.iqser.red.service.redaction.v1.server.redaction.utils.TextNormalizationUtilities; +import com.iqser.red.service.redaction.v1.server.storage.RedactionStorageService; +import com.iqser.red.storage.commons.StorageAutoConfiguration; +import com.iqser.red.storage.commons.service.StorageService; +import lombok.SneakyThrows; import org.junit.After; import org.junit.Before; import org.junit.Ignore; @@ -48,49 +54,16 @@ import org.springframework.context.annotation.Primary; import org.springframework.core.io.ClassPathResource; import org.springframework.test.context.junit4.SpringRunner; -import com.amazonaws.services.s3.AmazonS3; -import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.iqser.red.service.persistence.service.v1.api.model.annotations.AnnotationStatus; -import com.iqser.red.service.persistence.service.v1.api.model.annotations.Comment; -import com.iqser.red.service.persistence.service.v1.api.model.annotations.ManualRedactions; -import com.iqser.red.service.persistence.service.v1.api.model.annotations.Rectangle; -import com.iqser.red.service.persistence.service.v1.api.model.annotations.entitymapped.IdRemoval; -import com.iqser.red.service.persistence.service.v1.api.model.annotations.entitymapped.ManualForceRedaction; -import com.iqser.red.service.persistence.service.v1.api.model.annotations.entitymapped.ManualImageRecategorization; -import com.iqser.red.service.persistence.service.v1.api.model.annotations.entitymapped.ManualLegalBasisChange; -import com.iqser.red.service.persistence.service.v1.api.model.annotations.entitymapped.ManualRedactionEntry; -import com.iqser.red.service.persistence.service.v1.api.model.annotations.entitymapped.ManualResizeRedaction; -import com.iqser.red.service.persistence.service.v1.api.model.common.JSONPrimitive; -import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration.Colors; -import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileType; -import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.type.DictionaryEntry; -import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.type.Type; -import com.iqser.red.service.redaction.v1.model.AnalyzeRequest; -import com.iqser.red.service.redaction.v1.model.AnalyzeResult; -import com.iqser.red.service.redaction.v1.model.FileAttribute; -import com.iqser.red.service.redaction.v1.model.RedactionLogEntry; -import com.iqser.red.service.redaction.v1.model.RedactionRequest; -import com.iqser.red.service.redaction.v1.model.RedactionResult; -import com.iqser.red.service.redaction.v1.model.StructureAnalyzeRequest; -import com.iqser.red.service.redaction.v1.server.annotate.AnnotateRequest; -import com.iqser.red.service.redaction.v1.server.annotate.AnnotateResponse; -import com.iqser.red.service.redaction.v1.server.annotate.AnnotationService; -import com.iqser.red.service.redaction.v1.server.classification.model.SectionText; -import com.iqser.red.service.redaction.v1.server.client.DictionaryClient; -import com.iqser.red.service.redaction.v1.server.client.LegalBasisClient; -import com.iqser.red.service.redaction.v1.server.client.RulesClient; -import com.iqser.red.service.redaction.v1.server.controller.RedactionController; -import com.iqser.red.service.redaction.v1.server.redaction.service.AnalyzeService; -import com.iqser.red.service.redaction.v1.server.redaction.service.ManualRedactionSurroundingTextService; -import com.iqser.red.service.redaction.v1.server.redaction.utils.OsUtils; -import com.iqser.red.service.redaction.v1.server.redaction.utils.ResourceLoader; -import com.iqser.red.service.redaction.v1.server.redaction.utils.TextNormalizationUtilities; -import com.iqser.red.service.redaction.v1.server.storage.RedactionStorageService; -import com.iqser.red.storage.commons.StorageAutoConfiguration; -import com.iqser.red.storage.commons.service.StorageService; +import java.io.*; +import java.net.URL; +import java.nio.charset.StandardCharsets; +import java.time.OffsetDateTime; +import java.time.ZoneOffset; +import java.util.*; +import java.util.stream.Collectors; -import lombok.SneakyThrows; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.when; @RunWith(SpringRunner.class) @SpringBootTest(classes = Application.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @@ -628,8 +601,7 @@ public class RedactionIntegrationTest { String outputFileName = OsUtils.getTemporaryDirectory() + "/Annotated.pdf"; ClassPathResource responseJson = new ClassPathResource("files/crafted_document.NER_ENTITIES.json"); - var bytes = IOUtils.toByteArray(responseJson.getInputStream()); - storageService.storeObject(RedactionStorageService.StorageIdUtils.getStorageId(TEST_DOSSIER_ID, TEST_FILE_ID, FileType.NER_ENTITIES), bytes); + storageService.storeObject(RedactionStorageService.StorageIdUtils.getStorageId(TEST_DOSSIER_ID, TEST_FILE_ID, FileType.NER_ENTITIES), responseJson.getInputStream()); long start = System.currentTimeMillis(); ClassPathResource pdfFileResource = new ClassPathResource(fileName); @@ -921,9 +893,9 @@ public class RedactionIntegrationTest { var redactionLog = redactionStorageService.getRedactionLog(TEST_DOSSIER_ID, TEST_FILE_ID); AnnotateResponse annotateResponse = annotationService.annotate(AnnotateRequest.builder() - .manualRedactions(manualRedactions) - .colors(colors) - .types(types) + .manualRedactions(manualRedactions) + .colors(colors) + .types(types) .dossierId(TEST_DOSSIER_ID) .fileId(TEST_FILE_ID) .build()); @@ -1651,8 +1623,7 @@ public class RedactionIntegrationTest { private void loadNerForTest() { ClassPathResource responseJson = new ClassPathResource("files/ner_response.json"); - var bytes = IOUtils.toByteArray(responseJson.getInputStream()); - storageService.storeObject(RedactionStorageService.StorageIdUtils.getStorageId(TEST_DOSSIER_ID, TEST_FILE_ID, FileType.NER_ENTITIES), bytes); + storageService.storeObject(RedactionStorageService.StorageIdUtils.getStorageId(TEST_DOSSIER_ID, TEST_FILE_ID, FileType.NER_ENTITIES), responseJson.getInputStream()); } @@ -1719,7 +1690,7 @@ public class RedactionIntegrationTest { ClassPathResource importedRedactions = new ClassPathResource("files/ImportedRedactions/RotateTestFile_without_highlights.IMPORTED_REDACTIONS.json"); AnalyzeRequest request = prepareStorage(pdfFileResource.getInputStream()); - storageService.storeObject(RedactionStorageService.StorageIdUtils.getStorageId(TEST_DOSSIER_ID, TEST_FILE_ID, FileType.IMPORTED_REDACTIONS), IOUtils.toByteArray(importedRedactions.getInputStream())); + storageService.storeObject(RedactionStorageService.StorageIdUtils.getStorageId(TEST_DOSSIER_ID, TEST_FILE_ID, FileType.IMPORTED_REDACTIONS), importedRedactions.getInputStream()); analyzeService.analyzeDocumentStructure(new StructureAnalyzeRequest(request.getDossierId(), request.getFileId())); AnalyzeResult result = analyzeService.analyze(request); @@ -1735,10 +1706,10 @@ public class RedactionIntegrationTest { if (entry.getValue() == null) { return; } - if (entry.getValue().equals("David")){ + if (entry.getValue().equals("David")) { assertThat(entry.getImportedRedactionIntersections()).hasSize(1); } - if (entry.getValue().equals("annotation")){ + if (entry.getValue().equals("annotation")) { assertThat(entry.getImportedRedactionIntersections()).isEmpty(); } }); @@ -1799,9 +1770,7 @@ public class RedactionIntegrationTest { .lastProcessed(OffsetDateTime.now()) .build(); - var bytes = IOUtils.toByteArray(stream); - - storageService.storeObject(RedactionStorageService.StorageIdUtils.getStorageId(TEST_DOSSIER_ID, TEST_FILE_ID, FileType.ORIGIN), bytes); + storageService.storeObject(RedactionStorageService.StorageIdUtils.getStorageId(TEST_DOSSIER_ID, TEST_FILE_ID, FileType.ORIGIN), stream); return request; diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RulesTest.java b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RulesTest.java index 8741174e..d914d674 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RulesTest.java +++ b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RulesTest.java @@ -454,8 +454,7 @@ public class RulesTest { private void loadNerForTest() { ClassPathResource responseJson = new ClassPathResource("files/ner_response.json"); - var bytes = IOUtils.toByteArray(responseJson.getInputStream()); - storageService.storeObject(RedactionStorageService.StorageIdUtils.getStorageId(TEST_DOSSIER_ID, TEST_FILE_ID, FileType.NER_ENTITIES), bytes); + storageService.storeObject(RedactionStorageService.StorageIdUtils.getStorageId(TEST_DOSSIER_ID, TEST_FILE_ID, FileType.NER_ENTITIES), responseJson.getInputStream()); } @@ -478,9 +477,7 @@ public class RulesTest { .lastProcessed(OffsetDateTime.now()) .build(); - var bytes = IOUtils.toByteArray(stream); - - storageService.storeObject(RedactionStorageService.StorageIdUtils.getStorageId(TEST_DOSSIER_ID, TEST_FILE_ID, FileType.ORIGIN), bytes); + storageService.storeObject(RedactionStorageService.StorageIdUtils.getStorageId(TEST_DOSSIER_ID, TEST_FILE_ID, FileType.ORIGIN), stream); return request; From 24612e347171f27eb8747772b82d13c98f40344b Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Mon, 25 Jul 2022 22:08:36 +0300 Subject: [PATCH 2/2] RED-4686 - storage commons update - added annotations and test-file --- .../v1/model/ImportedRedactions.java | 2 ++ .../performance/data/test-file-2.pdf | Bin 0 -> 3844920 bytes 2 files changed, 2 insertions(+) create mode 100644 redaction-service-v1/redaction-service-server-v1/src/test/resources/performance/data/test-file-2.pdf diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ImportedRedactions.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ImportedRedactions.java index 63ae3415..2ea4f5f5 100644 --- a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ImportedRedactions.java +++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ImportedRedactions.java @@ -1,5 +1,6 @@ package com.iqser.red.service.redaction.v1.model; +import com.dslplatform.json.CompiledJson; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -11,6 +12,7 @@ import java.util.Map; @Data @Builder +@CompiledJson @NoArgsConstructor @AllArgsConstructor public class ImportedRedactions { diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/performance/data/test-file-2.pdf b/redaction-service-v1/redaction-service-server-v1/src/test/resources/performance/data/test-file-2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c9c0ecdc92aed7d8a279bcc208b2c90ab2407121 GIT binary patch literal 3844920 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 C5$DMO literal 0 HcmV?d00001