Update root entity merge calls to use new merge method.
authorCherian Mathew <c.mathew@bgbm.org>
Thu, 8 Oct 2015 09:12:39 +0000 (11:12 +0200)
committerCherian Mathew <c.mathew@bgbm.org>
Thu, 8 Oct 2015 10:48:10 +0000 (12:48 +0200)
24 files changed:
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AgentEditorInput.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/GroupEditorInput.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/NameEditorInput.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/OccurrenceEditorInput.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/ReferenceEditorInput.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/TaxonEditorInput.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/UserEditorInput.java
eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/service/CdmServiceRequestExecutor.java
eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/session/CdmEntitySession.java
eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/session/NullSession.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/group/authority/CdmAuthorityEditorInput.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/PolytomousKeyEditorInput.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientAgentService.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientClassificationService.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientCollectionService.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientDescriptionService.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientNameService.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientOccurenceService.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientReferenceService.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientTaxonService.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientTermService.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateViewEditorInput.java
eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/operation/TaxonNameEditorTest.java
eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/session/CdmEntitySessionAwareTest.java

index cff075cc25788937175a05579a6445730732f74a..6423cece7d442a113656cc140cd2a6ebfc6c1e72 100644 (file)
@@ -148,7 +148,7 @@ public class AgentEditorInput extends AbstractBulkEditorInput<TeamOrPersonBase>
        @Override
        public TeamOrPersonBase save(TeamOrPersonBase entity) {
            if(CdmStore.getCurrentSessionManager().isRemoting()) {
        @Override
        public TeamOrPersonBase save(TeamOrPersonBase entity) {
            if(CdmStore.getCurrentSessionManager().isRemoting()) {
-               return (TeamOrPersonBase) CdmStore.getService(IAgentService.class).merge(entity, true);
+               return (TeamOrPersonBase) CdmStore.getService(IAgentService.class).merge(entity, true).getMergedEntity();
            } else {
                CdmStore.getService(IAgentService.class).saveOrUpdate(entity) ;
                return entity;
            } else {
                CdmStore.getService(IAgentService.class).saveOrUpdate(entity) ;
                return entity;
index 6e44e52f6837dfd71e54852649148e4c3695ab65..0082939986a984d95527749de20bf64d7bfb53ca 100644 (file)
@@ -63,7 +63,7 @@ public class GroupEditorInput extends AbstractBulkEditorInput<Group> {
        @Override
        public Group save(Group entity) {
            if(CdmStore.getCurrentSessionManager().isRemoting()) {
        @Override
        public Group save(Group entity) {
            if(CdmStore.getCurrentSessionManager().isRemoting()) {
-               return CdmStore.getService(IGroupService.class).merge(entity, true) ;
+               return CdmStore.getService(IGroupService.class).merge(entity, true).getMergedEntity();
            } else {
                CdmStore.getService(IGroupService.class).saveOrUpdate(entity);
                return entity;
            } else {
                CdmStore.getService(IGroupService.class).saveOrUpdate(entity);
                return entity;
index 8b56ea1a8c2e0399e99bd2ea15f7d464f2c71cb8..6116162d2857d9b597787d6de27db0edb2ffdbb7 100644 (file)
@@ -119,7 +119,7 @@ public class NameEditorInput extends AbstractBulkEditorInput<TaxonNameBase> {
        @Override
     public TaxonNameBase save(TaxonNameBase entity) {
            if(CdmStore.getCurrentSessionManager().isRemoting()) {
        @Override
     public TaxonNameBase save(TaxonNameBase entity) {
            if(CdmStore.getCurrentSessionManager().isRemoting()) {
-               return CdmStore.getService(INameService.class).merge(entity, true) ;
+               return CdmStore.getService(INameService.class).merge(entity, true).getMergedEntity();
            } else {
                CdmStore.getService(INameService.class).saveOrUpdate(entity);
                return entity;
            } else {
                CdmStore.getService(INameService.class).saveOrUpdate(entity);
                return entity;
index e219a500f5742ab117107a819ad8e06147729950..929379d2731220a67cd558a7815b56545c18e923 100644 (file)
@@ -138,7 +138,7 @@ public class OccurrenceEditorInput extends AbstractBulkEditorInput<SpecimenOrObs
        @Override
     public SpecimenOrObservationBase<IIdentifiableEntityCacheStrategy> save(SpecimenOrObservationBase entity) {
            if(CdmStore.getCurrentSessionManager().isRemoting()) {
        @Override
     public SpecimenOrObservationBase<IIdentifiableEntityCacheStrategy> save(SpecimenOrObservationBase entity) {
            if(CdmStore.getCurrentSessionManager().isRemoting()) {
-               return CdmStore.getService(IOccurrenceService.class).merge(entity, true) ;
+               return CdmStore.getService(IOccurrenceService.class).merge(entity, true).getMergedEntity();
            } else {
                CdmStore.getService(IOccurrenceService.class).save(entity);
                return entity;
            } else {
                CdmStore.getService(IOccurrenceService.class).save(entity);
                return entity;
index 32df06a57bba415052508f4c43776c4341b41e0f..8b8c11360c4442e1c160b9ed43ea630209e3b738 100644 (file)
@@ -140,7 +140,7 @@ public class ReferenceEditorInput extends AbstractBulkEditorInput<Reference> {
        @Override
     public Reference save(Reference entity) {
            if(CdmStore.getCurrentSessionManager().isRemoting()) {
        @Override
     public Reference save(Reference entity) {
            if(CdmStore.getCurrentSessionManager().isRemoting()) {
-               return CdmStore.getService(IReferenceService.class).merge(entity, true);
+               return CdmStore.getService(IReferenceService.class).merge(entity, true).getMergedEntity();
            } else {
                CdmStore.getService(IReferenceService.class).saveOrUpdate(entity);
                return entity;
            } else {
                CdmStore.getService(IReferenceService.class).saveOrUpdate(entity);
                return entity;
index 4f8473544da1aafee7478afb87b8e45248a73b78..aa6dd1537bbae92c19b7a49adc5b35dbb09964eb 100644 (file)
@@ -72,7 +72,7 @@ public class TaxonEditorInput extends AbstractBulkEditorInput<TaxonBase>{
        @Override\r
        public TaxonBase save(TaxonBase entity) {\r
            if(CdmStore.getCurrentSessionManager().isRemoting()) {\r
        @Override\r
        public TaxonBase save(TaxonBase entity) {\r
            if(CdmStore.getCurrentSessionManager().isRemoting()) {\r
-               return CdmStore.getService(ITaxonService.class).merge(entity, true);\r
+               return CdmStore.getService(ITaxonService.class).merge(entity, true).getMergedEntity();\r
            } else {\r
                CdmStore.getService(ITaxonService.class).saveOrUpdate(entity);\r
                return entity;\r
            } else {\r
                CdmStore.getService(ITaxonService.class).saveOrUpdate(entity);\r
                return entity;\r
index bcbff535c0bf5d4714358ab9d172089b4df89f10..72dd138a4fc45db2581d631c2517b9b69ec6a1ae 100644 (file)
@@ -63,7 +63,7 @@ public class UserEditorInput extends AbstractBulkEditorInput<User> {
        @Override
        public User save(User entity) {
            if(CdmStore.getCurrentSessionManager().isRemoting()) {
        @Override
        public User save(User entity) {
            if(CdmStore.getCurrentSessionManager().isRemoting()) {
-               return CdmStore.getService(IUserService.class).merge(entity, true);
+               return CdmStore.getService(IUserService.class).merge(entity, true).getMergedEntity();
            } else {
                CdmStore.getService(IUserService.class).saveOrUpdate(entity);
                return entity;
            } else {
                CdmStore.getService(IUserService.class).saveOrUpdate(entity);
                return entity;
index 8084eac89bf742d6cdc4cb1b2508780e8c948f9d..fa0a4f14ff3d112e6206ed1b48daf0456a1d76db 100644 (file)
@@ -12,6 +12,7 @@ import org.springframework.stereotype.Component;
 import eu.etaxonomy.cdm.api.application.CdmApplicationRemoteController;
 import eu.etaxonomy.cdm.api.application.CdmApplicationState;
 import eu.etaxonomy.cdm.api.service.UpdateResult;
 import eu.etaxonomy.cdm.api.application.CdmApplicationRemoteController;
 import eu.etaxonomy.cdm.api.application.CdmApplicationState;
 import eu.etaxonomy.cdm.api.service.UpdateResult;
+import eu.etaxonomy.cdm.persistence.dto.MergeResult;
 import eu.etaxonomy.taxeditor.session.ICdmEntitySessionManager;
 
 @Component
 import eu.etaxonomy.taxeditor.session.ICdmEntitySessionManager;
 
 @Component
@@ -53,7 +54,13 @@ public class CdmServiceRequestExecutor extends CdmAuthenticatedHttpInvokerReques
                 if("merge".equals(currentRemoteInvocation.getMethodName()) ||
                         "save".equals(currentRemoteInvocation.getMethodName()) ||
                         "findWithUpdate".equals(currentRemoteInvocation.getMethodName())) {
                 if("merge".equals(currentRemoteInvocation.getMethodName()) ||
                         "save".equals(currentRemoteInvocation.getMethodName()) ||
                         "findWithUpdate".equals(currentRemoteInvocation.getMethodName())) {
-                    rir = new RemoteInvocationResult(cdmEntitySessionManager.load(rir.getValue(), true));
+                    if(rir.getValue() instanceof MergeResult) {
+                        MergeResult result = (MergeResult) rir.getValue();
+                        cdmEntitySessionManager.load(result.getMergedEntity(), true);
+                        cdmEntitySessionManager.load(result.getNewEntities(), true);
+                    } else {
+                        rir = new RemoteInvocationResult(cdmEntitySessionManager.load(rir.getValue(), true));
+                    }
                 } else if(rir.getValue() instanceof UpdateResult){
                     UpdateResult result = (UpdateResult)rir.getValue();
                     if(result.isOk()){
                 } else if(rir.getValue() instanceof UpdateResult){
                     UpdateResult result = (UpdateResult)rir.getValue();
                     if(result.isOk()){
index 85c7d33bbaa76f044a2c33ce694ff5f3f2e94760..5fdfafa9d7b5eb46b3a89a4b42259238f42e1919 100644 (file)
@@ -247,7 +247,7 @@ public class CdmEntitySession implements ICdmEntitySession  {
      */
     @Override
     public <T extends CdmBase> T remoteUpdate(IService<T> service, T cdmBase) {
      */
     @Override
     public <T extends CdmBase> T remoteUpdate(IService<T> service, T cdmBase) {
-        T mergedCdmBase = service.merge(cdmBase, true);
+        T mergedCdmBase = service.merge(cdmBase, true).getMergedEntity();
         return mergedCdmBase;
     }
 
         return mergedCdmBase;
     }
 
index 65b8e7c245481d78c085db7d91c2dbaa73f35943..615f32a467b18299cf29b7c66e54511650116332 100644 (file)
@@ -177,7 +177,7 @@ public class NullSession implements ICdmEntitySession {
      */
     @Override
     public <T extends CdmBase> T remoteUpdate(IService<T> service, T cdmBase) {
      */
     @Override
     public <T extends CdmBase> T remoteUpdate(IService<T> service, T cdmBase) {
-        T mergedCdmBase = service.merge(cdmBase, true);
+        T mergedCdmBase = service.merge(cdmBase, true).getMergedEntity();
         return mergedCdmBase;
     }
 
         return mergedCdmBase;
     }
 
index 59fa37378eb43b00b039cb4957041edb1a978fd3..fa78b41d88044db94249d9b55fe250b10df73211 100644 (file)
@@ -158,7 +158,7 @@ public class CdmAuthorityEditorInput extends CdmEntitySessionInput implements IE
     @Override
     public void merge() {
         if(CdmStore.getCurrentSessionManager().isRemoting()) {
     @Override
     public void merge() {
         if(CdmStore.getCurrentSessionManager().isRemoting()) {
-            group = CdmStore.getService(IGroupService.class).merge(group, true);
+            group = CdmStore.getService(IGroupService.class).merge(group, true).getMergedEntity();
         }
     }
 }
         }
     }
 }
index e76738ff79a1af2c84b854e183b0e2529b2790f1..7a190f4323be88cf4668390e437fc48080a72867 100644 (file)
@@ -92,7 +92,7 @@ public class PolytomousKeyEditorInput extends AbstractIdentificationEditorInput<
     @Override
     public void merge() {
         if(CdmStore.getCurrentSessionManager().isRemoting()) {
     @Override
     public void merge() {
         if(CdmStore.getCurrentSessionManager().isRemoting()) {
-            key = CdmStore.getService(IPolytomousKeyService.class).merge(key,true);
+            key = CdmStore.getService(IPolytomousKeyService.class).merge(key,true).getMergedEntity();
         }
     }
 
         }
     }
 
index c128ec4fd38754e4a3fdf87f54070270590e0709..e7b41f28eea820aa1fa519ad5613a86f8ffc1744 100644 (file)
@@ -44,6 +44,7 @@ import eu.etaxonomy.cdm.model.media.Rights;
 import eu.etaxonomy.cdm.model.view.AuditEvent;
 import eu.etaxonomy.cdm.model.view.AuditEventRecord;
 import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
 import eu.etaxonomy.cdm.model.view.AuditEvent;
 import eu.etaxonomy.cdm.model.view.AuditEventRecord;
 import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
+import eu.etaxonomy.cdm.persistence.dto.MergeResult;
 import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.persistence.query.Grouping;
 import eu.etaxonomy.cdm.persistence.query.MatchMode;
 import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.persistence.query.Grouping;
 import eu.etaxonomy.cdm.persistence.query.MatchMode;
@@ -793,19 +794,21 @@ public class TransientAgentService implements IAgentService {
     }
 
     /* (non-Javadoc)
     }
 
     /* (non-Javadoc)
-     * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
+     * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List, boolean)
      */
     @Override
      */
     @Override
-    public AgentBase merge(AgentBase arg0, boolean arg1) {
+    public List<MergeResult<AgentBase>> merge(List<AgentBase> arg0, boolean arg1) {
         return defaultService.merge(arg0, arg1);
     }
 
     /* (non-Javadoc)
         return defaultService.merge(arg0, arg1);
     }
 
     /* (non-Javadoc)
-     * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List, boolean)
+     * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
      */
     @Override
      */
     @Override
-    public List<AgentBase> merge(List<AgentBase> arg0, boolean arg1) {
-        return defaultService.merge(arg0, arg1);
+    public MergeResult<AgentBase> merge(AgentBase arg0, boolean arg1) {
+       return defaultService.merge(arg0, arg1);
     }
 
     }
 
+
+
 }
 }
index 426d05d1cc89a583a319d54356c8df334192f791..2a2f6f72c5fa08ad2604e57b7345e23470377f86 100644 (file)
@@ -46,6 +46,7 @@ import eu.etaxonomy.cdm.model.taxon.TaxonNode;
 import eu.etaxonomy.cdm.model.view.AuditEvent;
 import eu.etaxonomy.cdm.model.view.AuditEventRecord;
 import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
 import eu.etaxonomy.cdm.model.view.AuditEvent;
 import eu.etaxonomy.cdm.model.view.AuditEventRecord;
 import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
+import eu.etaxonomy.cdm.persistence.dto.MergeResult;
 import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.persistence.query.Grouping;
 import eu.etaxonomy.cdm.persistence.query.MatchMode;
 import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.persistence.query.Grouping;
 import eu.etaxonomy.cdm.persistence.query.MatchMode;
@@ -951,21 +952,20 @@ public class TransientClassificationService implements IClassificationService {
     }
 
     /* (non-Javadoc)
     }
 
     /* (non-Javadoc)
-     * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
+     * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List, boolean)
      */
     @Override
      */
     @Override
-    public Classification merge(Classification arg0, boolean arg1) {
+    public List<MergeResult<Classification>> merge(List<Classification> arg0, boolean arg1) {
         return defaultService.merge(arg0, arg1);
     }
 
     /* (non-Javadoc)
         return defaultService.merge(arg0, arg1);
     }
 
     /* (non-Javadoc)
-     * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List, boolean)
+     * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
      */
     @Override
      */
     @Override
-    public List<Classification> merge(List<Classification> arg0, boolean arg1) {
+    public MergeResult<Classification> merge(Classification arg0, boolean arg1) {
         return defaultService.merge(arg0, arg1);
     }
 
 
         return defaultService.merge(arg0, arg1);
     }
 
 
-
 }
 }
index 6ff656705aba346c2feb9f83d4d4ebcfe11bf851..b1154d5170bea1c2c0a163fa5c0c599ed9e8af8c 100644 (file)
@@ -38,6 +38,7 @@ import eu.etaxonomy.cdm.model.occurrence.Collection;
 import eu.etaxonomy.cdm.model.view.AuditEvent;
 import eu.etaxonomy.cdm.model.view.AuditEventRecord;
 import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
 import eu.etaxonomy.cdm.model.view.AuditEvent;
 import eu.etaxonomy.cdm.model.view.AuditEventRecord;
 import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
+import eu.etaxonomy.cdm.persistence.dto.MergeResult;
 import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.persistence.query.Grouping;
 import eu.etaxonomy.cdm.persistence.query.MatchMode;
 import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.persistence.query.Grouping;
 import eu.etaxonomy.cdm.persistence.query.MatchMode;
@@ -727,19 +728,20 @@ public class TransientCollectionService implements ICollectionService {
     }
 
     /* (non-Javadoc)
     }
 
     /* (non-Javadoc)
-     * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
+     * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List, boolean)
      */
     @Override
      */
     @Override
-    public Collection merge(Collection arg0, boolean arg1) {
+    public List<MergeResult<Collection>> merge(List<Collection> arg0, boolean arg1) {
         return defaultService.merge(arg0, arg1);
     }
 
     /* (non-Javadoc)
         return defaultService.merge(arg0, arg1);
     }
 
     /* (non-Javadoc)
-     * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List, boolean)
+     * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
      */
     @Override
      */
     @Override
-    public List<Collection> merge(List<Collection> arg0, boolean arg1) {
+    public MergeResult<Collection> merge(Collection arg0, boolean arg1) {
         return defaultService.merge(arg0, arg1);
     }
 
         return defaultService.merge(arg0, arg1);
     }
 
+
 }
 }
index 62291f36485f3cd1064ee24cc08a0d8587559142..3a7df7f38b5311c6133f503877b9ff8bfa47d666 100644 (file)
@@ -54,6 +54,7 @@ import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.model.view.AuditEvent;
 import eu.etaxonomy.cdm.model.view.AuditEventRecord;
 import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
 import eu.etaxonomy.cdm.model.view.AuditEvent;
 import eu.etaxonomy.cdm.model.view.AuditEventRecord;
 import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
+import eu.etaxonomy.cdm.persistence.dto.MergeResult;
 import eu.etaxonomy.cdm.persistence.dto.TermDto;
 import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.persistence.query.Grouping;
 import eu.etaxonomy.cdm.persistence.dto.TermDto;
 import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.persistence.query.Grouping;
@@ -1197,25 +1198,21 @@ public class TransientDescriptionService implements IDescriptionService {
     }
 
     /* (non-Javadoc)
     }
 
     /* (non-Javadoc)
-     * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
+     * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List, boolean)
      */
     @Override
      */
     @Override
-    public DescriptionBase merge(DescriptionBase arg0, boolean arg1) {
+    public List<MergeResult<DescriptionBase>> merge(List<DescriptionBase> arg0, boolean arg1) {
         return defaultService.merge(arg0, arg1);
     }
 
 
 
     /* (non-Javadoc)
         return defaultService.merge(arg0, arg1);
     }
 
 
 
     /* (non-Javadoc)
-     * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List, boolean)
+     * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
      */
     @Override
      */
     @Override
-    public List<DescriptionBase> merge(List<DescriptionBase> arg0, boolean arg1) {
-
+    public MergeResult<DescriptionBase> merge(DescriptionBase arg0, boolean arg1) {
         return defaultService.merge(arg0, arg1);
     }
 
         return defaultService.merge(arg0, arg1);
     }
 
-
-
-
 }
 }
index 6e112f58e3e09d0fe116795e0433fa40d74fe17c..731c43f76088cdde7d900f064925f023ab6aa431 100644 (file)
@@ -63,6 +63,7 @@ import eu.etaxonomy.cdm.model.name.TypeDesignationBase;
 import eu.etaxonomy.cdm.model.view.AuditEvent;
 import eu.etaxonomy.cdm.model.view.AuditEventRecord;
 import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
 import eu.etaxonomy.cdm.model.view.AuditEvent;
 import eu.etaxonomy.cdm.model.view.AuditEventRecord;
 import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
+import eu.etaxonomy.cdm.persistence.dto.MergeResult;
 import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.persistence.query.Grouping;
 import eu.etaxonomy.cdm.persistence.query.MatchMode;
 import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.persistence.query.Grouping;
 import eu.etaxonomy.cdm.persistence.query.MatchMode;
@@ -1199,18 +1200,19 @@ public class TransientNameService implements INameService {
     }
 
     /* (non-Javadoc)
     }
 
     /* (non-Javadoc)
-     * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
+     * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List, boolean)
      */
     @Override
      */
     @Override
-    public TaxonNameBase merge(TaxonNameBase arg0, boolean arg1) {
+    public List<MergeResult<TaxonNameBase>> merge(List<TaxonNameBase> arg0, boolean arg1) {
         return defaultService.merge(arg0, arg1);
     }
 
     /* (non-Javadoc)
         return defaultService.merge(arg0, arg1);
     }
 
     /* (non-Javadoc)
-     * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List, boolean)
+     * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
      */
     @Override
      */
     @Override
-    public List<TaxonNameBase> merge(List<TaxonNameBase> arg0, boolean arg1) {
+    public MergeResult<TaxonNameBase> merge(TaxonNameBase arg0, boolean arg1) {
         return defaultService.merge(arg0, arg1);
     }
         return defaultService.merge(arg0, arg1);
     }
+
 }
 }
index 6d2bdc085aab1368cf2cc5fd20b8c5ae6c39097b..64dded36bc5c55adf8e1ff8cb2a48519d59e962c 100644 (file)
@@ -70,6 +70,7 @@ import eu.etaxonomy.cdm.model.taxon.TaxonBase;
 import eu.etaxonomy.cdm.model.view.AuditEvent;
 import eu.etaxonomy.cdm.model.view.AuditEventRecord;
 import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
 import eu.etaxonomy.cdm.model.view.AuditEvent;
 import eu.etaxonomy.cdm.model.view.AuditEventRecord;
 import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
+import eu.etaxonomy.cdm.persistence.dto.MergeResult;
 import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.persistence.query.Grouping;
 import eu.etaxonomy.cdm.persistence.query.MatchMode;
 import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.persistence.query.Grouping;
 import eu.etaxonomy.cdm.persistence.query.MatchMode;
@@ -1053,27 +1054,26 @@ public class TransientOccurenceService implements IOccurrenceService {
         return defaultService.moveSequence(arg0, arg1, arg2);
     }
 
         return defaultService.moveSequence(arg0, arg1, arg2);
     }
 
-    /* (non-Javadoc)
-     * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
-     */
     @Override
     @Override
-    public SpecimenOrObservationBase merge(SpecimenOrObservationBase arg0, boolean arg1) {
-        return defaultService.merge(arg0, arg1);
+    public Pager<Media> getMediainHierarchy(SpecimenOrObservationBase arg0, Integer arg1, Integer arg2,
+            List<String> arg3) {
+        return defaultService.getMediainHierarchy(arg0, arg1, arg2, arg3);
     }
 
     /* (non-Javadoc)
      * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List, boolean)
      */
     @Override
     }
 
     /* (non-Javadoc)
      * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List, boolean)
      */
     @Override
-    public List<SpecimenOrObservationBase> merge(List<SpecimenOrObservationBase> arg0, boolean arg1) {
+    public List<MergeResult<SpecimenOrObservationBase>> merge(List<SpecimenOrObservationBase> arg0, boolean arg1) {
         return defaultService.merge(arg0, arg1);
     }
 
         return defaultService.merge(arg0, arg1);
     }
 
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
+     */
     @Override
     @Override
-    public Pager<Media> getMediainHierarchy(SpecimenOrObservationBase arg0, Integer arg1, Integer arg2,
-            List<String> arg3) {
-        // TODO Auto-generated method stub
-        return null;
+    public MergeResult<SpecimenOrObservationBase> merge(SpecimenOrObservationBase arg0, boolean arg1) {
+        return defaultService.merge(arg0, arg1);
     }
 
     /**
     }
 
     /**
index 48192e404e2e397c06d45363884d4a57f2ff1e58..cb5c3b8324e60b020dd530fc7626114e5cf3721c 100644 (file)
@@ -40,6 +40,7 @@ import eu.etaxonomy.cdm.model.taxon.TaxonBase;
 import eu.etaxonomy.cdm.model.view.AuditEvent;
 import eu.etaxonomy.cdm.model.view.AuditEventRecord;
 import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
 import eu.etaxonomy.cdm.model.view.AuditEvent;
 import eu.etaxonomy.cdm.model.view.AuditEventRecord;
 import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
+import eu.etaxonomy.cdm.persistence.dto.MergeResult;
 import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.persistence.query.Grouping;
 import eu.etaxonomy.cdm.persistence.query.MatchMode;
 import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.persistence.query.Grouping;
 import eu.etaxonomy.cdm.persistence.query.MatchMode;
@@ -735,18 +736,20 @@ public class TransientReferenceService implements IReferenceService {
     }
 
     /* (non-Javadoc)
     }
 
     /* (non-Javadoc)
-     * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
+     * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List, boolean)
      */
     @Override
      */
     @Override
-    public Reference merge(Reference arg0, boolean arg1) {
+    public List<MergeResult<Reference>> merge(List<Reference> arg0, boolean arg1) {
         return defaultService.merge(arg0, arg1);
     }
 
     /* (non-Javadoc)
         return defaultService.merge(arg0, arg1);
     }
 
     /* (non-Javadoc)
-     * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List, boolean)
+     * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
      */
     @Override
      */
     @Override
-    public List<Reference> merge(List<Reference> arg0, boolean arg1) {
+    public MergeResult<Reference> merge(Reference arg0, boolean arg1) {
         return defaultService.merge(arg0, arg1);
     }
         return defaultService.merge(arg0, arg1);
     }
+
+
 }
 }
index b79f17f12c11885f46a1f2b568193e5e4ce63ef3..0ae7529f11c49ed95b77617e53c19cd95527a57c 100644 (file)
@@ -79,6 +79,7 @@ import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
 import eu.etaxonomy.cdm.model.view.AuditEvent;
 import eu.etaxonomy.cdm.model.view.AuditEventRecord;
 import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
 import eu.etaxonomy.cdm.model.view.AuditEvent;
 import eu.etaxonomy.cdm.model.view.AuditEventRecord;
 import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
+import eu.etaxonomy.cdm.persistence.dto.MergeResult;
 import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.persistence.fetch.CdmFetch;
 import eu.etaxonomy.cdm.persistence.query.Grouping;
 import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.persistence.fetch.CdmFetch;
 import eu.etaxonomy.cdm.persistence.query.Grouping;
@@ -1526,19 +1527,20 @@ public class TransientTaxonService implements ITaxonService {
     }
 
     /* (non-Javadoc)
     }
 
     /* (non-Javadoc)
-     * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
+     * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List, boolean)
      */
     @Override
      */
     @Override
-    public TaxonBase merge(TaxonBase arg0, boolean arg1) {
+    public List<MergeResult<TaxonBase>> merge(List<TaxonBase> arg0, boolean arg1) {
         return defaultService.merge(arg0, arg1);
     }
 
     /* (non-Javadoc)
         return defaultService.merge(arg0, arg1);
     }
 
     /* (non-Javadoc)
-     * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List, boolean)
+     * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
      */
     @Override
      */
     @Override
-    public List<TaxonBase> merge(List<TaxonBase> arg0, boolean arg1) {
+    public MergeResult<TaxonBase> merge(TaxonBase arg0, boolean arg1) {
         return defaultService.merge(arg0, arg1);
     }
 
         return defaultService.merge(arg0, arg1);
     }
 
+
 }
 }
index 3df4f25297eb190ccc22a895761e60727e351184..8e00b016f4539777ebe8985899fcee222219be06 100644 (file)
@@ -52,6 +52,7 @@ import eu.etaxonomy.cdm.model.media.Rights;
 import eu.etaxonomy.cdm.model.view.AuditEvent;
 import eu.etaxonomy.cdm.model.view.AuditEventRecord;
 import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
 import eu.etaxonomy.cdm.model.view.AuditEvent;
 import eu.etaxonomy.cdm.model.view.AuditEventRecord;
 import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
+import eu.etaxonomy.cdm.persistence.dto.MergeResult;
 import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.persistence.query.Grouping;
 import eu.etaxonomy.cdm.persistence.query.MatchMode;
 import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.persistence.query.Grouping;
 import eu.etaxonomy.cdm.persistence.query.MatchMode;
@@ -905,18 +906,19 @@ public class TransientTermService implements ITermService {
     }
 
     /* (non-Javadoc)
     }
 
     /* (non-Javadoc)
-     * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
+     * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List, boolean)
      */
     @Override
      */
     @Override
-    public DefinedTermBase merge(DefinedTermBase arg0, boolean arg1) {
+    public List<MergeResult<DefinedTermBase>> merge(List<DefinedTermBase> arg0, boolean arg1) {
         return defaultService.merge(arg0, arg1);
     }
 
     /* (non-Javadoc)
         return defaultService.merge(arg0, arg1);
     }
 
     /* (non-Javadoc)
-     * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List, boolean)
+     * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
      */
     @Override
      */
     @Override
-    public List<DefinedTermBase> merge(List<DefinedTermBase> arg0, boolean arg1) {
+    public MergeResult<DefinedTermBase> merge(DefinedTermBase arg0, boolean arg1) {
         return defaultService.merge(arg0, arg1);
     }
         return defaultService.merge(arg0, arg1);
     }
+
 }
 }
index f0d3afe2dfaab718431fceff60fec1ca0dc56a84..198b15a0f1c30b819d3366d0cf19e90f88bff0ca 100644 (file)
@@ -238,7 +238,7 @@ public class DerivateViewEditorInput extends CdmEntitySessionInput implements IE
     @Override
     public void merge() {
         if(CdmStore.getCurrentSessionManager().isRemoting()) {
     @Override
     public void merge() {
         if(CdmStore.getCurrentSessionManager().isRemoting()) {
-            List<SpecimenOrObservationBase> mergedEntities = CdmApplicationState.getCurrentAppConfig().getOccurrenceService().merge(new ArrayList(getRootEntities()), true);
+            CdmApplicationState.getCurrentAppConfig().getOccurrenceService().merge(new ArrayList(getRootEntities()), true);
         }
 
     }
         }
 
     }
index 57aa4c41019b5c591529a779c59c5b7ce835652a..baafa0718bc7ad2f5f105601127ab043aad17b5a 100644 (file)
@@ -193,11 +193,19 @@ public class TaxonNameEditorTest extends BaseOperationTest {
         Taxon grandChildTaxon = Taxon.NewInstance(null, null);
         TaxonNode grandChildTaxonNode = childTaxonNode.addChildTaxon(grandChildTaxon, null, null);
 
         Taxon grandChildTaxon = Taxon.NewInstance(null, null);
         TaxonNode grandChildTaxonNode = childTaxonNode.addChildTaxon(grandChildTaxon, null, null);
 
-        CdmStore.getService(ITaxonNodeService.class).merge(taxonNode, true);
+
+        CdmStore.getService(ITaxonNodeService.class).merge(taxonNode,true);
 
         Assert.assertEquals(taxonNode.getChildNodes().get(0).getId(), childTaxonNode.getId());
 
         Assert.assertEquals(taxonNode.getChildNodes().get(0).getId(), childTaxonNode.getId());
+
+        Assert.assertTrue(childTaxonNode.treeIndex() != null);
+        Assert.assertEquals(taxonNode.getChildNodes().get(0).treeIndex(), childTaxonNode.treeIndex());
+        Assert.assertFalse(childTaxon.getId() == 0);
         Assert.assertEquals(taxonNode.getChildNodes().get(0).getTaxon().getId(), childTaxon.getId());
         Assert.assertEquals(taxonNode.getChildNodes().get(0).getTaxon().getId(), childTaxon.getId());
+
+        Assert.assertTrue(grandChildTaxonNode.treeIndex() != null);
         Assert.assertEquals(taxonNode.getChildNodes().get(0).getChildNodes().get(0).getId(), grandChildTaxonNode.getId());
         Assert.assertEquals(taxonNode.getChildNodes().get(0).getChildNodes().get(0).getId(), grandChildTaxonNode.getId());
+        Assert.assertFalse(grandChildTaxon.getId() == 0);
         Assert.assertEquals(taxonNode.getChildNodes().get(0).getChildNodes().get(0).getTaxon().getId(), grandChildTaxon.getId());
     }
 
         Assert.assertEquals(taxonNode.getChildNodes().get(0).getChildNodes().get(0).getTaxon().getId(), grandChildTaxon.getId());
     }
 
index 82b9e94d13020b096b20972adfc1a2e33b1cf565..842db316fb77eff72f0b756cc5b02825db1f5c1d 100644 (file)
@@ -175,12 +175,12 @@ public class CdmEntitySessionAwareTest extends RemotingSessionAwareTest {
         PolytomousKeyNode grandChildNode = PolytomousKeyNode.NewInstance();
         rootChildNode.addChild(grandChildNode);
 
         PolytomousKeyNode grandChildNode = PolytomousKeyNode.NewInstance();
         rootChildNode.addChild(grandChildNode);
 
-        pKey = polytomousKeyService.merge(pKey, true);
+        polytomousKeyService.merge(pKey, true);
         grandChildNode = pKey.getRoot().getChildAt(0).getChildAt(0);
         Assert.assertTrue(0 != grandChildNode.getId());
         KeyStatement ks = KeyStatement.NewInstance("test");
         grandChildNode.setStatement(ks);
         grandChildNode = pKey.getRoot().getChildAt(0).getChildAt(0);
         Assert.assertTrue(0 != grandChildNode.getId());
         KeyStatement ks = KeyStatement.NewInstance("test");
         grandChildNode.setStatement(ks);
-        pKey = polytomousKeyService.merge(pKey, true);
+        polytomousKeyService.merge(pKey, true);
 
         //grandChildNode = pKey.getRoot().getChildAt(0).getChildAt(0);
         //KeyStatement ks = grandChildNode.getStatement();
 
         //grandChildNode = pKey.getRoot().getChildAt(0).getChildAt(0);
         //KeyStatement ks = grandChildNode.getStatement();