From: Katja Luther Date: Thu, 27 Feb 2014 08:42:33 +0000 (+0000) Subject: fix problem with changeSynonymToAcceptedTaxon of a synonym being part of an homotypic... X-Git-Tag: 3.6.0~750 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/df7a736fc1a86899f40db46a7ea1eb47393275cd fix problem with changeSynonymToAcceptedTaxon of a synonym being part of an homotypical group --- diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/ChangeSynonymToAcceptedTaxonHandler.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/ChangeSynonymToAcceptedTaxonHandler.java index b710737bc..72a08ae9f 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/ChangeSynonymToAcceptedTaxonHandler.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/ChangeSynonymToAcceptedTaxonHandler.java @@ -11,6 +11,7 @@ package eu.etaxonomy.taxeditor.editor.name.handler; import java.util.List; +import java.util.Set; import java.util.UUID; import org.apache.log4j.Logger; @@ -25,6 +26,8 @@ import org.eclipse.ui.handlers.HandlerUtil; import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; import eu.etaxonomy.cdm.model.common.CdmBase; +import eu.etaxonomy.cdm.model.name.HomotypicalGroup; +import eu.etaxonomy.cdm.model.name.TaxonNameBase; import eu.etaxonomy.cdm.model.taxon.Synonym; import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.cdm.model.taxon.TaxonNode; @@ -89,10 +92,11 @@ public class ChangeSynonymToAcceptedTaxonHandler extends AbstractHandler impleme // TODO get synonyms from homotypical group and add them as homotypic synonyms to new accepted taxon // apply confirmation dialog - + HomotypicalGroup group = synonym.getHomotypicGroup(); + Set namesInGroup = group.getTypifiedNames(); // FIXME with this implementation we can not create a taxonNode that is a direct child of the classification node AbstractPostOperation operation = new ChangeSynonymToAcceptedTaxonOperation("Change synonym to accepted taxon", EditorUtil.getUndoContext(), - taxon, newParentNode, synonym, null, this, editor); //$NON-NLS-1$ + taxon, newParentNode, synonym, namesInGroup, this, editor); //$NON-NLS-1$ EditorUtil.executeOperation(operation); } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToAcceptedTaxonOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToAcceptedTaxonOperation.java index 2c7f81315..38a318d6f 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToAcceptedTaxonOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToAcceptedTaxonOperation.java @@ -9,6 +9,8 @@ package eu.etaxonomy.taxeditor.editor.name.operation; +import java.util.Set; + import org.eclipse.core.commands.ExecutionException; import org.eclipse.core.commands.operations.IUndoContext; import org.eclipse.core.runtime.IAdaptable; @@ -18,6 +20,7 @@ import org.eclipse.core.runtime.IStatus; import eu.etaxonomy.cdm.api.conversation.IConversationEnabled; import eu.etaxonomy.cdm.api.service.ITaxonService; import eu.etaxonomy.cdm.api.service.exception.HomotypicalGroupChangeException; +import eu.etaxonomy.cdm.model.name.TaxonNameBase; import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode; import eu.etaxonomy.cdm.model.taxon.Synonym; import eu.etaxonomy.cdm.model.taxon.Taxon; @@ -42,7 +45,7 @@ public class ChangeSynonymToAcceptedTaxonOperation extends AbstractPersistentPos private TaxonNode newNode; - private final Synonym[] synonymsInHomotypicalGroup; + private final Set namesInHomotypicGroup; /** *

Constructor for ChangeSynonymToAcceptedTaxonOperation.

@@ -57,13 +60,13 @@ public class ChangeSynonymToAcceptedTaxonOperation extends AbstractPersistentPos * @param conversationEnabled a {@link eu.etaxonomy.cdm.api.conversation.IConversationEnabled} object. */ public ChangeSynonymToAcceptedTaxonOperation(String label, IUndoContext undoContext, - Taxon taxon, ITaxonTreeNode parentNode, Synonym synonym, Synonym[] synonymsInHomotypicalGroup, IPostOperationEnabled postOperationEnabled, IConversationEnabled conversationEnabled) { + Taxon taxon, ITaxonTreeNode parentNode, Synonym synonym, Set namesInHomotypicalGroup, IPostOperationEnabled postOperationEnabled, IConversationEnabled conversationEnabled) { super(label, undoContext, postOperationEnabled, conversationEnabled); this.element = taxon; this.parentNode = parentNode; this.synonym = synonym; - this.synonymsInHomotypicalGroup = synonymsInHomotypicalGroup; + this.namesInHomotypicGroup = namesInHomotypicalGroup; } /* (non-Javadoc) @@ -85,12 +88,13 @@ public class ChangeSynonymToAcceptedTaxonOperation extends AbstractPersistentPos synonym.setSec(null); newNode = parentNode.addChildTaxon(newTaxon, null, null); - if(synonymsInHomotypicalGroup != null){ + /*if(namesInHomotypicGroup != null){ Taxon taxon = newNode.getTaxon(); - for (Synonym synonym : synonymsInHomotypicalGroup){ - taxon.addHomotypicSynonym(synonym, null, null); + for (TaxonNameBase synonymName : namesInHomotypicGroup){ + taxon.addHomotypicSynonymName(synonymName, null, null); + } - } + }*/ monitor.worked(40);