From 32a907f6977dc90fca423860eddcc0118542ea5e Mon Sep 17 00:00:00 2001 From: deiflaender Date: Tue, 15 Mar 2022 17:45:26 +0100 Subject: [PATCH] RED-3620: Fixed remove from dictionary --- .../v1/server/redaction/service/DictionaryService.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/DictionaryService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/DictionaryService.java index 62e808fb..a71c061c 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/DictionaryService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/DictionaryService.java @@ -99,8 +99,13 @@ public class DictionaryService { } Set entries = new HashSet<>(); + var newEntries = convertEntries(t.getId(), currentVersion); + var newValues = newEntries.stream().map(v -> v.getValue()).collect(Collectors.toSet()); + // add old entries from existing DictionaryModel - oldModel.ifPresent(dictionaryModel -> entries.addAll(dictionaryModel.getEntries())); + oldModel.ifPresent(dictionaryModel -> entries.addAll(dictionaryModel.getEntries().stream().filter( + f -> !newValues.contains(f.getValue())).collect(Collectors.toList()) + )); // Add Increments entries.addAll(convertEntries(t.getId(), currentVersion));