]> git.aero2k.de Git - tmp/jakarta-migration.git/commitdiff
DRYD-846: Error when attempting to merge an authority item into itself.
authorRay Lee <ray.lee@lyrasis.org>
Mon, 23 Mar 2020 00:59:54 +0000 (20:59 -0400)
committerRay Lee <ray.lee@lyrasis.org>
Mon, 23 Mar 2020 00:59:54 +0000 (20:59 -0400)
services/batch/service/src/main/java/org/collectionspace/services/batch/nuxeo/MergeAuthorityItemsBatchJob.java

index 9778e13b773cf9238dcb11be8dfa5de8dda78f88..b0c01bbde6aaa6bb47b9333f974019281a1a4477 100644 (file)
@@ -142,6 +142,14 @@ public class MergeAuthorityItemsBatchJob extends AbstractBatchJob {
                        ? findAuthorityItemByRefName(serviceName, target)
                        : findAuthorityItemByCsid(serviceName, target);
 
+               String targetItemCsid = getCsid(targetItemPayload);
+
+               for (String sourceCsid : sourceCsids) {
+                       if (sourceCsid.equals(targetItemCsid)) {
+                               throw new DocumentException("Can't merge a record into itself.");
+                       }
+               }
+
                List<PoxPayloadOut> sourceItemPayloads = new ArrayList<PoxPayloadOut>();
 
                for (String sourceCsid : sourceCsids) {