diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DictionaryController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DictionaryController.java index 11c25fe4f..490eb5a6e 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DictionaryController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DictionaryController.java @@ -56,16 +56,15 @@ public class DictionaryController implements DictionaryResource { // To check whether the type exists, type should not be added into database implicitly by addEntry. Type typeResult = convert(dictionaryPersistenceService.getType(typeId), Type.class); -// List entriesToSearch = new ArrayList<>(); - var currentVersion = getCurrentVersion(typeResult); + List existing = entryPersistenceService.getEntries(typeId) + .stream() + .filter(e -> !e.isDeleted()) + .map(DictionaryEntryEntity::getValue) + .collect(toList()); + if (removeCurrent) { - List existing = entryPersistenceService.getEntries(typeId) - .stream() - .filter(e -> !e.isDeleted()) - .map(DictionaryEntryEntity::getValue) - .collect(toList()); List removed = new ArrayList<>(existing); removed.removeAll(cleanEntries); @@ -76,11 +75,14 @@ public class DictionaryController implements DictionaryResource { entryPersistenceService.deleteEntries(typeId, removed, currentVersion + 1); entryPersistenceService.addEntry(typeId, added, currentVersion + 1); -// entriesToSearch.addAll(added); -// entriesToSearch.addAll(removed); } else { - entryPersistenceService.addEntry(typeId, cleanEntries, currentVersion + 1); -// entriesToSearch.addAll(cleanEntries); + + List added = new ArrayList<>(cleanEntries); + added.removeAll(existing); + if(added.isEmpty()){ + return; + } + entryPersistenceService.addEntry(typeId, added, currentVersion + 1); } dictionaryPersistenceService.incrementVersion(typeId);