Pull request #508: RED-4901: Return empty redactionLog for excluded files
Merge in RED/persistence-service from RED-4901 to master * commit '526111280facf86a459fc2d65f0096d295cadf92': RED-4901: Return empty redactionLog for excluded files
This commit is contained in:
commit
ebe540b7c8
@ -1,5 +1,13 @@
|
|||||||
package com.iqser.red.service.peristence.v1.server.service;
|
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.client.RedactionClient;
|
||||||
import com.iqser.red.service.peristence.v1.server.controller.DictionaryController;
|
import com.iqser.red.service.peristence.v1.server.controller.DictionaryController;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException;
|
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.RedactionLogEntry;
|
||||||
import com.iqser.red.service.redaction.v1.model.RedactionRequest;
|
import com.iqser.red.service.redaction.v1.model.RedactionRequest;
|
||||||
import com.iqser.red.service.redaction.v1.model.SectionGrid;
|
import com.iqser.red.service.redaction.v1.model.SectionGrid;
|
||||||
|
|
||||||
import feign.FeignException;
|
import feign.FeignException;
|
||||||
import lombok.RequiredArgsConstructor;
|
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
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@ -30,13 +33,15 @@ public class RedactionLogService {
|
|||||||
private final DictionaryController dictionaryController;
|
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);
|
return getRedactionLog(dossierId, fileId, null, withManualRedactions, includeFalsePositives);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public RedactionLog getRedactionLog(String dossierId, String fileId, List<String> excludedTypes, boolean withManualRedactions, boolean includeFalsePositives) {
|
public RedactionLog getRedactionLog(String dossierId, String fileId, List<String> excludedTypes,
|
||||||
|
boolean withManualRedactions, boolean includeFalsePositives) {
|
||||||
|
|
||||||
var fileStatus = fileStatusService.getStatus(fileId);
|
var fileStatus = fileStatusService.getStatus(fileId);
|
||||||
|
|
||||||
@ -71,6 +76,10 @@ public class RedactionLogService {
|
|||||||
redactionLog = fileManagementStorageService.getRedactionLog(dossierId, fileId);
|
redactionLog = fileManagementStorageService.getRedactionLog(dossierId, fileId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (fileStatus.isExcluded()) {
|
||||||
|
redactionLog.setRedactionLogEntry(new ArrayList<>());
|
||||||
|
}
|
||||||
|
|
||||||
if (excludedTypes != null) {
|
if (excludedTypes != null) {
|
||||||
redactionLog.getRedactionLogEntry().removeIf(nextEntry -> excludedTypes.contains(nextEntry.getType()));
|
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) {
|
if (filteredRedactionLogRequest.getSpecifiedDate() == null) {
|
||||||
filteredRedactionLogRequest.setSpecifiedDate(OffsetDateTime.MIN);
|
filteredRedactionLogRequest.setSpecifiedDate(OffsetDateTime.MIN);
|
||||||
@ -99,19 +109,24 @@ public class RedactionLogService {
|
|||||||
var redactionLogEntry = it.next();
|
var redactionLogEntry = it.next();
|
||||||
boolean isAfterSpecifiedDate = false;
|
boolean isAfterSpecifiedDate = false;
|
||||||
for (var change : redactionLogEntry.getChanges()) {
|
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;
|
isAfterSpecifiedDate = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (var manualChange : redactionLogEntry.getManualChanges()) {
|
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;
|
isAfterSpecifiedDate = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var comments = redactionLogEntry.getComments();
|
var comments = redactionLogEntry.getComments();
|
||||||
if (comments != null) {
|
if (comments != null) {
|
||||||
for (var comment : comments) {
|
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;
|
isAfterSpecifiedDate = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -126,5 +141,4 @@ public class RedactionLogService {
|
|||||||
return redactionLog;
|
return redactionLog;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user