Pull request #81: RED-2418: Fixed not working exception handling if redactionlog is not present

Merge in RED/persistence-service from RED-2418 to master

* commit '665e3d6911b59dd012e69553abe664e5ae1fea81':
  RED-2418: Fixed not working exception handling if redactionlog is not present
This commit is contained in:
Dominique Eiflaender 2021-10-22 11:05:53 +02:00
commit 9eb3eedc5c

View File

@ -1,13 +1,17 @@
package com.iqser.red.service.peristence.v1.server.service;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
import com.iqser.red.service.peristence.v1.server.client.RedactionClient;
import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException;
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierPersistenceService;
import com.iqser.red.service.redaction.v1.model.RedactionLog;
import com.iqser.red.service.redaction.v1.model.RedactionRequest;
import com.iqser.red.service.redaction.v1.model.SectionGrid;
import feign.FeignException;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@Service
@RequiredArgsConstructor
@ -24,7 +28,7 @@ public class RedactionLogService {
var fileStatus = fileStatusService.getStatus(fileId);
if(fileStatus.isExcluded()){
if (fileStatus.isExcluded()) {
throw new NotFoundException("Excluded files have no redactionLog");
}
@ -32,14 +36,20 @@ public class RedactionLogService {
var dossier = dossierPersistenceService.getAndValidateDossier(dossierId);
var manualRedactions = manualRedactionService.getManualRedactions(fileId);
return redactionClient.getRedactionLog(RedactionRequest.builder()
.dossierId(dossierId)
.fileId(fileId)
.manualRedactions(manualRedactions)
.dossierTemplateId(dossier.getDossierTemplateId())
.excludedPages(fileStatus.getExcludedPages())
.build());
try {
return redactionClient.getRedactionLog(RedactionRequest.builder()
.dossierId(dossierId)
.fileId(fileId)
.manualRedactions(manualRedactions)
.dossierTemplateId(dossier.getDossierTemplateId())
.excludedPages(fileStatus.getExcludedPages())
.build());
} catch (FeignException e) {
if (e.status() == HttpStatus.NOT_FOUND.value()) {
throw new NotFoundException(e.getMessage());
}
throw e;
}
} else {
return fileManagementStorageService.getRedactionLog(dossierId, fileId);
}