@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;
@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;
@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;
@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;
@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;
@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
@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;
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
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()){
*/
@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;
}
*/
@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;
}
@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();
}
}
}
@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();
}
}
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;
}
/* (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
- public AgentBase merge(AgentBase arg0, boolean arg1) {
+ public List<MergeResult<AgentBase>> merge(List<AgentBase> arg0, boolean arg1) {
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
- 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);
}
+
+
}
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;
}
/* (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
- public Classification merge(Classification arg0, boolean arg1) {
+ public List<MergeResult<Classification>> merge(List<Classification> arg0, boolean arg1) {
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
- public List<Classification> merge(List<Classification> arg0, boolean arg1) {
+ public MergeResult<Classification> merge(Classification arg0, boolean arg1) {
return defaultService.merge(arg0, arg1);
}
-
}
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;
}
/* (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
- public Collection merge(Collection arg0, boolean arg1) {
+ public List<MergeResult<Collection>> merge(List<Collection> arg0, boolean arg1) {
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
- public List<Collection> merge(List<Collection> arg0, boolean arg1) {
+ public MergeResult<Collection> merge(Collection arg0, boolean arg1) {
return defaultService.merge(arg0, arg1);
}
+
}
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;
}
/* (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
- public DescriptionBase merge(DescriptionBase arg0, boolean arg1) {
+ public List<MergeResult<DescriptionBase>> merge(List<DescriptionBase> arg0, boolean arg1) {
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
- public List<DescriptionBase> merge(List<DescriptionBase> arg0, boolean arg1) {
-
+ public MergeResult<DescriptionBase> merge(DescriptionBase arg0, boolean arg1) {
return defaultService.merge(arg0, arg1);
}
-
-
-
}
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;
}
/* (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
- public TaxonNameBase merge(TaxonNameBase arg0, boolean arg1) {
+ public List<MergeResult<TaxonNameBase>> merge(List<TaxonNameBase> arg0, boolean arg1) {
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
- public List<TaxonNameBase> merge(List<TaxonNameBase> arg0, boolean arg1) {
+ public MergeResult<TaxonNameBase> merge(TaxonNameBase arg0, boolean arg1) {
return defaultService.merge(arg0, arg1);
}
+
}
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;
return defaultService.moveSequence(arg0, arg1, arg2);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
- */
@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
- public List<SpecimenOrObservationBase> merge(List<SpecimenOrObservationBase> arg0, boolean arg1) {
+ public List<MergeResult<SpecimenOrObservationBase>> merge(List<SpecimenOrObservationBase> arg0, boolean arg1) {
return defaultService.merge(arg0, arg1);
}
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
+ */
@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);
}
/**
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;
}
/* (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
- public Reference merge(Reference arg0, boolean arg1) {
+ public List<MergeResult<Reference>> merge(List<Reference> arg0, boolean arg1) {
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
- public List<Reference> merge(List<Reference> arg0, boolean arg1) {
+ public MergeResult<Reference> merge(Reference arg0, boolean arg1) {
return defaultService.merge(arg0, arg1);
}
+
+
}
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;
}
/* (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
- public TaxonBase merge(TaxonBase arg0, boolean arg1) {
+ public List<MergeResult<TaxonBase>> merge(List<TaxonBase> arg0, boolean arg1) {
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
- public List<TaxonBase> merge(List<TaxonBase> arg0, boolean arg1) {
+ public MergeResult<TaxonBase> merge(TaxonBase arg0, boolean arg1) {
return defaultService.merge(arg0, arg1);
}
+
}
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;
}
/* (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
- public DefinedTermBase merge(DefinedTermBase arg0, boolean arg1) {
+ public List<MergeResult<DefinedTermBase>> merge(List<DefinedTermBase> arg0, boolean arg1) {
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
- public List<DefinedTermBase> merge(List<DefinedTermBase> arg0, boolean arg1) {
+ public MergeResult<DefinedTermBase> merge(DefinedTermBase arg0, boolean arg1) {
return defaultService.merge(arg0, arg1);
}
+
}
@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);
}
}
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.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.assertTrue(grandChildTaxonNode.treeIndex() != null);
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());
}
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);
- pKey = polytomousKeyService.merge(pKey, true);
+ polytomousKeyService.merge(pKey, true);
//grandChildNode = pKey.getRoot().getChildAt(0).getChildAt(0);
//KeyStatement ks = grandChildNode.getStatement();