RED-7708 - Remove duplicate entries in redaction log entry list
This commit is contained in:
parent
d71f06d884
commit
ed23483d7d
@ -5,6 +5,9 @@ import java.util.HashSet;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.function.Function;
|
||||||
|
import java.util.function.Predicate;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -229,6 +232,8 @@ public class AnalyzeService {
|
|||||||
notFoundManualRedactionEntries,
|
notFoundManualRedactionEntries,
|
||||||
getComments(analyzeRequest));
|
getComments(analyzeRequest));
|
||||||
|
|
||||||
|
newRedactionLogEntries = newRedactionLogEntries.stream().filter(distinctByKey(RedactionLogEntry::getId)).toList();
|
||||||
|
|
||||||
var importedRedactionFilteredEntries = importedRedactionService.processImportedRedactions(analyzeRequest.getDossierTemplateId(),
|
var importedRedactionFilteredEntries = importedRedactionService.processImportedRedactions(analyzeRequest.getDossierTemplateId(),
|
||||||
analyzeRequest.getDossierId(),
|
analyzeRequest.getDossierId(),
|
||||||
analyzeRequest.getFileId(),
|
analyzeRequest.getFileId(),
|
||||||
@ -382,6 +387,8 @@ public class AnalyzeService {
|
|||||||
notFoundManualRedactionEntries,
|
notFoundManualRedactionEntries,
|
||||||
getComments(analyzeRequest));
|
getComments(analyzeRequest));
|
||||||
|
|
||||||
|
redactionLogEntries = redactionLogEntries.stream().filter(distinctByKey(RedactionLogEntry::getId)).toList();
|
||||||
|
|
||||||
List<LegalBasis> legalBasis = legalBasisClient.getLegalBasisMapping(analyzeRequest.getDossierTemplateId());
|
List<LegalBasis> legalBasis = legalBasisClient.getLegalBasisMapping(analyzeRequest.getDossierTemplateId());
|
||||||
RedactionLog redactionLog = new RedactionLog(redactionServiceSettings.getAnalysisVersion(),
|
RedactionLog redactionLog = new RedactionLog(redactionServiceSettings.getAnalysisVersion(),
|
||||||
analyzeRequest.getAnalysisNumber(),
|
analyzeRequest.getAnalysisNumber(),
|
||||||
@ -401,6 +408,12 @@ public class AnalyzeService {
|
|||||||
return redactionLog;
|
return redactionLog;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) {
|
||||||
|
|
||||||
|
Set<Object> seen = ConcurrentHashMap.newKeySet();
|
||||||
|
return t -> seen.add(keyExtractor.apply(t));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private static Map<String, List<Comment>> getComments(AnalyzeRequest analyzeRequest) {
|
private static Map<String, List<Comment>> getComments(AnalyzeRequest analyzeRequest) {
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user