diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/ReanalyzeService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/ReanalyzeService.java index 696ee666..ab244db8 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/ReanalyzeService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/ReanalyzeService.java @@ -216,14 +216,15 @@ public class ReanalyzeService { if (!local && analyzeRequest.getManualRedactions() != null) { - var approvedForceRedactions = analyzeRequest.getManualRedactions().getForceRedacts().stream().filter(fr -> fr.getStatus() == Status.APPROVED).collect(Collectors.toList()); + var approvedForceRedactions = analyzeRequest.getManualRedactions().getForceRedacts().stream() + .filter(fr -> fr.getStatus() == Status.APPROVED) + .filter(fr -> fr.getRequestDate() != null) + .collect(Collectors.toList()); // only approved id removals, that haven't been forced back afterwards var idsToRemove = analyzeRequest.getManualRedactions().getIdsToRemove().stream() .filter(idr -> idr.getStatus() == Status.APPROVED) - .filter(idr -> approvedForceRedactions.stream().noneMatch(forceRedact -> - forceRedact.getRequestDate() != null && - idr.getRequestDate() != null && - forceRedact.getRequestDate().isAfter(idr.getRequestDate()))) + .filter(idr -> idr.getRequestDate() != null) + .filter(idr -> approvedForceRedactions.stream().noneMatch(forceRedact -> forceRedact.getRequestDate().isAfter(idr.getRequestDate()))) .map(IdRemoval::getId).collect(Collectors.toSet()); log.info("Removed Ids: {}", idsToRemove);