Resolve RED-6864

This commit is contained in:
Andrei Isvoran 2023-08-16 14:29:11 +02:00
parent 5311612295
commit 766f8c9801
3 changed files with 12 additions and 6 deletions

View File

@ -12,7 +12,7 @@ plugins {
description = "redaction-service-server-v1"
val layoutParserVersion = "0.23.0"
val layoutParserVersion = "0.25.0"
val jacksonVersion = "2.15.2"
val droolsVersion = "8.42.0.Final"
val pdfBoxVersion = "3.0.0-alpha2"
@ -33,7 +33,7 @@ dependencies {
implementation("com.iqser.red.commons:metric-commons:2.3.0")
implementation("com.iqser.red.commons:dictionary-merge-commons:1.5.0")
implementation("com.iqser.red.commons:storage-commons:2.25.0")
implementation("com.iqser.red.commons:storage-commons:2.27.0")
implementation("com.knecon.fforesight:tenant-commons:0.10.0")
implementation("com.fasterxml.jackson.module:jackson-module-afterburner:${jacksonVersion}")

View File

@ -1,5 +1,7 @@
package com.iqser.red.service.redaction.v1.server.storage;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import org.springframework.stereotype.Service;
@ -36,7 +38,10 @@ public class RedactionStorageService {
@SneakyThrows
public InputStream getStoredObject(String storageId) {
return storageService.getObject(TenantContext.getTenantId(), storageId).getInputStream();
File tempFile = File.createTempFile("temp", "data");
tempFile.deleteOnExit();
storageService.downloadTo(TenantContext.getTenantId(), storageId, tempFile);
return new FileInputStream(tempFile);
}

View File

@ -2,6 +2,7 @@ package com.iqser.red.service.redaction.v1.server;
import static java.io.File.createTempFile;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
@ -11,9 +12,9 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.util.zip.GZIPInputStream;
import org.apache.commons.io.IOUtils;
import org.springframework.core.io.InputStreamResource;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.iqser.red.commons.jackson.ObjectMapperFactory;
@ -34,14 +35,14 @@ public class FileSystemBackedStorageService implements StorageService {
@SneakyThrows
@Override
public InputStreamResource getObject(String tenantId, String objectId) {
public void downloadTo(String tenantId, String objectId, File destinationFile) {
var res = dataMap.get(objectId);
if (res == null) {
throw new StorageObjectDoesNotExist(new RuntimeException());
}
return new InputStreamResource(new FileInputStream(res));
IOUtils.copy(new FileInputStream(res), new FileOutputStream(destinationFile));
}