RED-10353: Fixed missing errorCode when rules are locked

This commit is contained in:
Dominique Eifländer 2024-11-08 12:37:23 +01:00
parent 3d01f76b7d
commit 6a80b9f096

View File

@ -8,6 +8,7 @@ import static java.lang.String.format;
import java.io.IOException;
import java.time.OffsetDateTime;
import java.time.temporal.ChronoUnit;
import java.util.concurrent.CompletionException;
import org.springframework.amqp.AmqpRejectAndDontRequeueException;
import org.springframework.amqp.core.Message;
@ -171,12 +172,10 @@ public class RedactionMessageReceiver {
ErrorCode errorCode = null;
if(e instanceof DroolsTimeoutException dre){
if (!dre.isReported()){
errorCode = ErrorCode.RULES_EXECUTION_TIMEOUT;
} else {
errorCode = ErrorCode.LOCKED_RULES;
}
if(e instanceof CompletionException ce){
errorCode = computeErrorCodeFromDroolsTimeoutException(ce.getCause());
} else {
errorCode = computeErrorCodeFromDroolsTimeoutException(e);
}
fileStatusProcessingUpdateClient.analysisFailed(analyzeRequest.getDossierId(),
@ -187,6 +186,18 @@ public class RedactionMessageReceiver {
errorCode));
}
private ErrorCode computeErrorCodeFromDroolsTimeoutException(Throwable e){
ErrorCode errorCode = null;
if(e instanceof DroolsTimeoutException dre){
if (!dre.isReported()){
errorCode = ErrorCode.RULES_EXECUTION_TIMEOUT;
} else {
errorCode = ErrorCode.LOCKED_RULES;
}
}
return errorCode;
}
@RabbitHandler
@RabbitListener(queues = REDACTION_DLQ)