From b495e80c37f7324ec3eed3f25f4f41b71b0b880b Mon Sep 17 00:00:00 2001 From: Marcos Lopez Gonzalez Date: Fri, 27 Nov 2020 18:13:33 +0100 Subject: [PATCH] #255 added some preconditions --- .../registry/service/collections/merge/BaseMergeService.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/registry-service/src/main/java/org/gbif/registry/service/collections/merge/BaseMergeService.java b/registry-service/src/main/java/org/gbif/registry/service/collections/merge/BaseMergeService.java index dc3c151186..fd103c23e2 100644 --- a/registry-service/src/main/java/org/gbif/registry/service/collections/merge/BaseMergeService.java +++ b/registry-service/src/main/java/org/gbif/registry/service/collections/merge/BaseMergeService.java @@ -82,9 +82,12 @@ public void merge(UUID entityToReplaceKey, UUID replacementKey, String user) { T entityToReplace = baseMapper.get(entityToReplaceKey); checkArgument( entityToReplace != null, "Not found entity to replace with key " + entityToReplaceKey); + checkArgument(entityToReplace.getDeleted() == null, "Cannot merge a deleted entity"); T replacement = baseMapper.get(replacementKey); checkArgument(replacement != null, "Not found replacement entity with key " + replacementKey); + checkArgument( + replacement.getDeleted() == null, "Cannot merge an entity with a deleted replacement"); // check IH_IRN identifiers. If both entities have them we don't allow to do the replacement // because we wouldn't know how to sync them with IH: if we move it to the replacement this