From 54db36711bb2c2bed94dc8f08780e9fff40ed385 Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Fri, 12 Aug 2022 12:39:07 +0300 Subject: [PATCH] RED-4975 - reanalysis on declined suggestions --- .../service/ManualRedactionService.java | 29 ++++++++++++++++--- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ManualRedactionService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ManualRedactionService.java index 4176856a0..b2ef1964b 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ManualRedactionService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ManualRedactionService.java @@ -584,11 +584,19 @@ public class ManualRedactionService { public void updateForceRedactionStatus(String dossierId, String fileId, List annotationIds, AnnotationStatus annotationStatus) { dossierPersistenceService.getAndValidateDossier(dossierId); + var actionPerformed = false; + for (var annotationId : annotationIds) { + var forceRedaction = forceRedactionPersistenceService.findForceRedaction(fileId, annotationId); forceRedactionPersistenceService.updateStatus(fileId, annotationId, annotationStatus); + actionPerformed = actionPerformed || !(forceRedaction.getStatus() == AnnotationStatus.REQUESTED + && annotationStatus == AnnotationStatus.DECLINED); + } + + if (actionPerformed) { + reprocess(dossierId, fileId); } - reprocess(dossierId, fileId); analysisFlagsCalculationService.calculateFlags(dossierId, fileId); } @@ -613,12 +621,18 @@ public class ManualRedactionService { public void updateImageRecategorizationStatus(String dossierId, String fileId, List annotationIds, AnnotationStatus annotationStatus) { dossierPersistenceService.getAndValidateDossier(dossierId); + var actionPerformed = false; for (var annotationId : annotationIds) { + var imageRecategorization = recategorizationPersistenceService.findRecategorization(fileId, annotationId); recategorizationPersistenceService.updateStatus(fileId, annotationId, annotationStatus); + actionPerformed = actionPerformed || !(imageRecategorization.getStatus() == AnnotationStatus.REQUESTED + && annotationStatus == AnnotationStatus.DECLINED); } - reprocess(dossierId, fileId); + if (actionPerformed) { + reprocess(dossierId, fileId); + } analysisFlagsCalculationService.calculateFlags(dossierId, fileId); } @@ -636,6 +650,8 @@ public class ManualRedactionService { public void updateResizeRedactionStatus(String dossierId, String fileId, List annotationIds, AnnotationStatus annotationStatus) { dossierPersistenceService.getAndValidateDossier(dossierId); + + var actionPerformed = false; for (var annotationId : annotationIds) { var resizeRedaction = resizeRedactionPersistenceService.findResizeRedaction(fileId, annotationId); @@ -643,10 +659,16 @@ public class ManualRedactionService { updateDictionaryForResizeRedactions(dossierId, fileId, annotationId, resizeRedaction.getValue(), null); } + actionPerformed = actionPerformed || !(resizeRedaction.getStatus() == AnnotationStatus.REQUESTED + && annotationStatus == AnnotationStatus.DECLINED); + resizeRedactionPersistenceService.updateStatus(fileId, annotationId, annotationStatus); } analysisFlagsCalculationService.calculateFlags(dossierId, fileId); - reprocess(dossierId, fileId); + + if (actionPerformed) { + reprocess(dossierId, fileId); + } } @@ -760,7 +782,6 @@ public class ManualRedactionService { fileStatusService.setStatusReprocessForManual(dossierId, fileId, true); } - private boolean handleRemoveFromDictionary(RedactionLog redactionLog, DossierEntity dossier, String fileId, String annotationId, AnnotationStatus status, boolean removeFromDictionary, boolean revert) {