RED-3032 Bugfix: Throw NotFoundException in case section grid was not found
This commit is contained in:
parent
a155f18adc
commit
9fb4024fb7
@ -1,22 +1,25 @@
|
|||||||
package com.iqser.red.service.redaction.v1.server.storage;
|
package com.iqser.red.service.redaction.v1.server.storage;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
|
||||||
|
import org.springframework.core.io.InputStreamResource;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
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.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileType;
|
||||||
import com.iqser.red.service.redaction.v1.model.RedactionLog;
|
import com.iqser.red.service.redaction.v1.model.RedactionLog;
|
||||||
import com.iqser.red.service.redaction.v1.model.SectionGrid;
|
import com.iqser.red.service.redaction.v1.model.SectionGrid;
|
||||||
import com.iqser.red.service.redaction.v1.server.classification.model.Text;
|
import com.iqser.red.service.redaction.v1.server.classification.model.Text;
|
||||||
import com.iqser.red.service.redaction.v1.server.client.model.NerEntities;
|
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.exception.StorageObjectDoesNotExist;
|
||||||
import com.iqser.red.storage.commons.service.StorageService;
|
import com.iqser.red.storage.commons.service.StorageService;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.SneakyThrows;
|
import lombok.SneakyThrows;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.core.io.InputStreamResource;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.InputStream;
|
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
@ -26,14 +29,17 @@ public class RedactionStorageService {
|
|||||||
private final ObjectMapper objectMapper;
|
private final ObjectMapper objectMapper;
|
||||||
private final StorageService storageService;
|
private final StorageService storageService;
|
||||||
|
|
||||||
|
|
||||||
@SneakyThrows
|
@SneakyThrows
|
||||||
public InputStream getStoredObject(String storageId) {
|
public InputStream getStoredObject(String storageId) {
|
||||||
|
|
||||||
return storageService.getObject(storageId).getInputStream();
|
return storageService.getObject(storageId).getInputStream();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@SneakyThrows
|
@SneakyThrows
|
||||||
public void storeObject(String dossierId, String fileId, FileType fileType, Object any) {
|
public void storeObject(String dossierId, String fileId, FileType fileType, Object any) {
|
||||||
|
|
||||||
storageService.storeObject(StorageIdUtils.getStorageId(dossierId, fileId, fileType), objectMapper.writeValueAsBytes(any));
|
storageService.storeObject(StorageIdUtils.getStorageId(dossierId, fileId, fileType), objectMapper.writeValueAsBytes(any));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -92,12 +98,13 @@ public class RedactionStorageService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public SectionGrid getSectionGrid(String dossierId, String fileId) {
|
public SectionGrid getSectionGrid(String dossierId, String fileId) {
|
||||||
|
|
||||||
var sectionGrid = storageService.getObject(StorageIdUtils.getStorageId(dossierId, fileId, FileType.SECTION_GRID));
|
|
||||||
try {
|
try {
|
||||||
|
var sectionGrid = storageService.getObject(StorageIdUtils.getStorageId(dossierId, fileId, FileType.SECTION_GRID));
|
||||||
return objectMapper.readValue(sectionGrid.getInputStream(), SectionGrid.class);
|
return objectMapper.readValue(sectionGrid.getInputStream(), SectionGrid.class);
|
||||||
|
} catch (StorageObjectDoesNotExist e) {
|
||||||
|
throw new NotFoundException("Section Grid is not available.");
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
throw new RuntimeException("Could not convert RedactionLog", e);
|
throw new RuntimeException("Could not convert RedactionLog", e);
|
||||||
}
|
}
|
||||||
@ -116,8 +123,10 @@ public class RedactionStorageService {
|
|||||||
public static class StorageIdUtils {
|
public static class StorageIdUtils {
|
||||||
|
|
||||||
public static String getStorageId(String dossierId, String fileId, FileType fileType) {
|
public static String getStorageId(String dossierId, String fileId, FileType fileType) {
|
||||||
|
|
||||||
return dossierId + "/" + fileId + "." + fileType.name() + fileType.getExtension();
|
return dossierId + "/" + fileId + "." + fileType.name() + fileType.getExtension();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user