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));