From: Katja Luther Date: Thu, 12 Mar 2015 11:21:03 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 3.6.0~189 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/07b487d502a95aff1084403275364f90698b2f1d --- diff --git a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/MoveTaxonOperation.java b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/MoveTaxonOperation.java index 56ce064a5..16011b6cb 100644 --- a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/MoveTaxonOperation.java +++ b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/MoveTaxonOperation.java @@ -10,8 +10,10 @@ package eu.etaxonomy.taxeditor.navigation.navigator.operation; import java.util.HashMap; +import java.util.HashSet; import java.util.Map; import java.util.Set; +import java.util.UUID; import org.eclipse.core.commands.ExecutionException; import org.eclipse.core.commands.operations.IUndoContext; @@ -20,13 +22,17 @@ import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; +import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration; import eu.etaxonomy.cdm.api.conversation.IConversationEnabled; +import eu.etaxonomy.cdm.api.service.ITaxonNodeService; +import eu.etaxonomy.cdm.api.service.UpdateResult; import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode; import eu.etaxonomy.cdm.model.taxon.IllegalAncestryException; import eu.etaxonomy.cdm.model.taxon.TaxonNode; import eu.etaxonomy.taxeditor.model.MessagingUtils; import eu.etaxonomy.taxeditor.operation.AbstractPersistentPostOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; +import eu.etaxonomy.taxeditor.store.CdmStore; /** * Change the taxonomic parent of a given taxon. @@ -44,9 +50,9 @@ public class MoveTaxonOperation extends AbstractPersistentPostOperation { /** * A reference to the former taxonomical parents */ - private Map oldParentTreeNodes; + //private Map oldParentTreeNodes; - private Set taxonNodes; + private TaxonNode taxonNode; /** *

Constructor for MoveTaxonOperation.

@@ -59,18 +65,19 @@ public class MoveTaxonOperation extends AbstractPersistentPostOperation { * @param conversationEnabled a {@link eu.etaxonomy.cdm.api.conversation.IConversationEnabled} object. */ public MoveTaxonOperation(String label, IUndoContext undoContext, - Set taxonNodes, ITaxonTreeNode newParentTreeNode, IPostOperationEnabled postOperationEnabled, IConversationEnabled conversationEnabled) { + TaxonNode taxonNodeToMove, ITaxonTreeNode newParentTreeNode, IPostOperationEnabled postOperationEnabled, IConversationEnabled conversationEnabled) { super(label, undoContext, postOperationEnabled, conversationEnabled); - - this.taxonNodes = taxonNodes; - + + this.taxonNode = taxonNodeToMove; + /*for (TaxonNode node:taxonNodes){ + this.taxonNodes.add(service.load(node.getUuid())); + }*/ + this.newParentTreeNode = newParentTreeNode; // Save old parent ITaxonTreeNodes for undo - oldParentTreeNodes = new HashMap(); - for(TaxonNode taxonNode : taxonNodes){ - this.oldParentTreeNodes.put(taxonNode, taxonNode.getParent()); - } + + //this.parentNode = taxonNode.getParent(); } /* (non-Javadoc) @@ -83,16 +90,18 @@ public class MoveTaxonOperation extends AbstractPersistentPostOperation { bind(); monitor.worked(20); - try { - for (TaxonNode taxonNode : taxonNodes){ - TaxonNode newTaxonNode = newParentTreeNode.addChildNode(taxonNode, - newParentTreeNode.getReference(), newParentTreeNode.getMicroReference()); - taxonNodes.add(newTaxonNode); - monitor.worked(2); - } - } catch(IllegalAncestryException e) { - MessagingUtils.warningDialog("Illegal ancestry", this, e.getMessage()); - } + UpdateResult result = CdmStore.getService(ITaxonNodeService.class).moveTaxonNode(this.taxonNode.getUuid(),newParentTreeNode.getUuid()); +// try { +// for (TaxonNode taxonNode : taxonNodes){ +// TaxonNode newTaxonNode = newParentTreeNode.addChildNode(taxonNode, +// newParentTreeNode.getReference(), newParentTreeNode.getMicroReference()); +// //taxonNodes.add(newTaxonNode); +// +// monitor.worked(2); +// } +// } catch(IllegalAncestryException e) { +// MessagingUtils.warningDialog("Illegal ancestry", this, e.getMessage()); +// } monitor.worked(40); return postExecute(null);