diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/controller/ControllerAdvice.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/controller/ControllerAdvice.java index 3262faf2..d8e86532 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/controller/ControllerAdvice.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/controller/ControllerAdvice.java @@ -1,6 +1,7 @@ package com.iqser.red.service.redaction.v1.server.controller; import com.iqser.red.commons.spring.ErrorMessage; +import com.iqser.red.service.redaction.v1.server.exception.RedactionLogNotFoundException; import com.iqser.red.service.redaction.v1.server.exception.RulesValidationException; import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpStatus; @@ -17,6 +18,13 @@ public class ControllerAdvice { /* error handling */ + @ResponseBody + @ResponseStatus(value = HttpStatus.NOT_FOUND) + @ExceptionHandler(value = RedactionLogNotFoundException.class) + public ErrorMessage handleRedactionLogNotFoundException(RedactionLogNotFoundException e) { + return new ErrorMessage(OffsetDateTime.now(), e.getMessage()); + } + @ResponseBody @ResponseStatus(value = HttpStatus.INTERNAL_SERVER_ERROR) @ExceptionHandler(value = NullPointerException.class) diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/controller/RedactionController.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/controller/RedactionController.java index 3268dac0..ee753f92 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/controller/RedactionController.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/controller/RedactionController.java @@ -6,6 +6,7 @@ import com.iqser.red.service.redaction.v1.resources.RedactionResource; import com.iqser.red.service.redaction.v1.server.classification.model.Document; import com.iqser.red.service.redaction.v1.server.classification.model.Page; import com.iqser.red.service.redaction.v1.server.exception.RedactionException; +import com.iqser.red.service.redaction.v1.server.exception.RedactionLogNotFoundException; import com.iqser.red.service.redaction.v1.server.redaction.service.AnnotationService; import com.iqser.red.service.redaction.v1.server.redaction.service.DictionaryService; import com.iqser.red.service.redaction.v1.server.redaction.service.DroolsExecutionService; @@ -151,10 +152,13 @@ public class RedactionController implements RedactionResource { log.info("Requested preview for: {}", redactionRequest); dictionaryService.updateDictionary(redactionRequest.getDossierTemplateId(), redactionRequest.getDossierId()); - SectionGrid sectionGrid = null; var redactionLog = redactionStorageService.getRedactionLog(redactionRequest.getDossierId(), redactionRequest.getFileId()); + if (redactionLog == null) { + throw new RedactionLogNotFoundException(); + } + if (redactionRequest.isWithSectionDataForManualRedactions()) { sectionGrid = redactionStorageService.getSectionGrid(redactionRequest.getDossierId(), redactionRequest.getFileId()); diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/exception/RedactionLogNotFoundException.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/exception/RedactionLogNotFoundException.java new file mode 100644 index 00000000..0453151b --- /dev/null +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/exception/RedactionLogNotFoundException.java @@ -0,0 +1,9 @@ +package com.iqser.red.service.redaction.v1.server.exception; + +public class RedactionLogNotFoundException extends RuntimeException { + + public RedactionLogNotFoundException() { + super("RedactionLog not found!"); + } + +}