From 0bb254eee1359f0a18ffefd168cba579584c3768 Mon Sep 17 00:00:00 2001 From: Cherian Mathew Date: Tue, 25 Aug 2015 13:09:07 +0200 Subject: [PATCH] #5160 Use new merge method with ids as arguments Conflicts: eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AgentEditorInput.java --- .../bulkeditor/input/AbstractBulkEditorInput.java | 3 ++- .../taxeditor/bulkeditor/input/AgentEditorInput.java | 11 ++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AbstractBulkEditorInput.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AbstractBulkEditorInput.java index 82cd23320..8cf5d3357 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AbstractBulkEditorInput.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AbstractBulkEditorInput.java @@ -22,6 +22,7 @@ import org.eclipse.ui.IPersistableElement; import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator; import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; +import eu.etaxonomy.cdm.model.common.CdmBase; import eu.etaxonomy.cdm.model.common.ICdmBase; import eu.etaxonomy.cdm.model.common.IdentifiableEntity; import eu.etaxonomy.cdm.model.common.MarkerType; @@ -231,7 +232,7 @@ public abstract class AbstractBulkEditorInput implements IEd public boolean merge(T entity, T mergeTarget) { if (entity instanceof IMergable) { try { - CdmStore.getCommonService().merge((IMergable)mergeTarget, (IMergable)entity); + CdmStore.getCommonService().merge(mergeTarget.getId(), entity.getId(), (Class)entity.getClass()); } catch (MergeException e) { MessagingUtils.errorDialog("Bulk Editor Merge Error", this, diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AgentEditorInput.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AgentEditorInput.java index bae14730a..36a7cc9bc 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AgentEditorInput.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AgentEditorInput.java @@ -82,9 +82,14 @@ public class AgentEditorInput extends AbstractBulkEditorInput public boolean merge(TeamOrPersonBase entity, TeamOrPersonBase mergeTarget) { if (entity instanceof IMergable) { try { - IMergeStrategy strategy = DefaultMergeStrategy.NewInstance(Person.class); - strategy.setMergeMode("institutionalMemberships", MergeMode.FIRST); - CdmStore.getCommonService().merge((IMergable)mergeTarget, (IMergable)entity, strategy); + if(entity instanceof Person) { + IMergeStrategy strategy = DefaultMergeStrategy.NewInstance(Person.class); + strategy.setMergeMode("institutionalMemberships", MergeMode.FIRST); + CdmStore.getCommonService().merge(mergeTarget.getId(), entity.getId(), Person.class); + } else { + IMergeStrategy strategy = DefaultMergeStrategy.NewInstance(TeamOrPersonBase.class); + CdmStore.getCommonService().merge(mergeTarget.getId(), entity.getId(), TeamOrPersonBase.class); + } } catch (MergeException e) { MessagingUtils.errorDialog("Bulk Editor Merge Error", this, -- 2.34.1