diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/RedactionLogService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/RedactionLogService.java index 998785451..c66761ecd 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/RedactionLogService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/RedactionLogService.java @@ -1,5 +1,13 @@ package com.iqser.red.service.peristence.v1.server.service; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +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.peristence.v1.server.controller.DictionaryController; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; @@ -9,14 +17,9 @@ import com.iqser.red.service.redaction.v1.model.RedactionLog; import com.iqser.red.service.redaction.v1.model.RedactionLogEntry; 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.http.HttpStatus; -import org.springframework.stereotype.Service; - -import java.time.OffsetDateTime; -import java.util.Iterator; -import java.util.List; @Service @RequiredArgsConstructor @@ -30,13 +33,15 @@ public class RedactionLogService { private final DictionaryController dictionaryController; - public RedactionLog getRedactionLog(String dossierId, String fileId, boolean withManualRedactions, boolean includeFalsePositives) { + public RedactionLog getRedactionLog(String dossierId, String fileId, boolean withManualRedactions, + boolean includeFalsePositives) { return getRedactionLog(dossierId, fileId, null, withManualRedactions, includeFalsePositives); } - public RedactionLog getRedactionLog(String dossierId, String fileId, List excludedTypes, boolean withManualRedactions, boolean includeFalsePositives) { + public RedactionLog getRedactionLog(String dossierId, String fileId, List excludedTypes, + boolean withManualRedactions, boolean includeFalsePositives) { var fileStatus = fileStatusService.getStatus(fileId); @@ -71,6 +76,10 @@ public class RedactionLogService { redactionLog = fileManagementStorageService.getRedactionLog(dossierId, fileId); } + if (fileStatus.isExcluded()) { + redactionLog.setRedactionLogEntry(new ArrayList<>()); + } + if (excludedTypes != null) { redactionLog.getRedactionLogEntry().removeIf(nextEntry -> excludedTypes.contains(nextEntry.getType())); } @@ -85,7 +94,8 @@ public class RedactionLogService { } - public RedactionLog getFilteredRedactionLog(String dossierId, String fileId, FilteredRedactionLogRequest filteredRedactionLogRequest) { + public RedactionLog getFilteredRedactionLog(String dossierId, String fileId, + FilteredRedactionLogRequest filteredRedactionLogRequest) { if (filteredRedactionLogRequest.getSpecifiedDate() == null) { filteredRedactionLogRequest.setSpecifiedDate(OffsetDateTime.MIN); @@ -99,19 +109,24 @@ public class RedactionLogService { var redactionLogEntry = it.next(); boolean isAfterSpecifiedDate = false; for (var change : redactionLogEntry.getChanges()) { - if (change.getDateTime() != null && change.getDateTime().isAfter(filteredRedactionLogRequest.getSpecifiedDate())) { + if (change.getDateTime() != null && change.getDateTime() + .isAfter(filteredRedactionLogRequest.getSpecifiedDate())) { isAfterSpecifiedDate = true; } } for (var manualChange : redactionLogEntry.getManualChanges()) { - if (manualChange.getProcessedDate() != null && manualChange.getProcessedDate().isAfter(filteredRedactionLogRequest.getSpecifiedDate()) || manualChange.getRequestedDate() != null && manualChange.getRequestedDate().isAfter(filteredRedactionLogRequest.getSpecifiedDate())) { + if (manualChange.getProcessedDate() != null && manualChange.getProcessedDate() + .isAfter(filteredRedactionLogRequest.getSpecifiedDate()) || manualChange.getRequestedDate() != null && manualChange.getRequestedDate() + .isAfter(filteredRedactionLogRequest.getSpecifiedDate())) { isAfterSpecifiedDate = true; } } var comments = redactionLogEntry.getComments(); if (comments != null) { for (var comment : comments) { - if (comment.getSoftDeletedTime() != null && comment.getSoftDeletedTime().isAfter(filteredRedactionLogRequest.getSpecifiedDate()) || comment.getDate() != null && comment.getDate().isAfter(filteredRedactionLogRequest.getSpecifiedDate())) { + if (comment.getSoftDeletedTime() != null && comment.getSoftDeletedTime() + .isAfter(filteredRedactionLogRequest.getSpecifiedDate()) || comment.getDate() != null && comment.getDate() + .isAfter(filteredRedactionLogRequest.getSpecifiedDate())) { isAfterSpecifiedDate = true; } } @@ -126,5 +141,4 @@ public class RedactionLogService { return redactionLog; } - }