From 8709e1645fca1e7195cd5d81ac66a3e0ae857186 Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Tue, 9 Nov 2021 20:00:35 +0200 Subject: [PATCH] fixed RED-2688/RED-2692 --- .../redaction/v1/server/controller/ControllerAdvice.java | 8 ++++++++ .../v1/server/controller/RedactionController.java | 6 +++++- .../server/exception/RedactionLogNotFoundException.java | 9 +++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/exception/RedactionLogNotFoundException.java 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!"); + } + +}