/**
* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
+* European Distributed Institute of Taxonomy
* http://www.e-taxonomy.eu
-*
+*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
import org.eclipse.core.runtime.Status;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
-import eu.etaxonomy.cdm.model.taxon.ITreeNode;
+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.operation.AbstractPersistentPostOperation;
* @version 1.0
*/
public class MoveTaxonOperation extends AbstractPersistentPostOperation {
-
+
/**
* A reference to the new taxonomical parent.
*/
- private ITreeNode newParentTreeNode;
+ private ITaxonTreeNode newParentTreeNode;
/**
* A reference to the former taxonomical parents
*/
- private Map<TaxonNode, ITreeNode> oldParentTreeNodes;
-
+ private Map<TaxonNode, ITaxonTreeNode> oldParentTreeNodes;
+
private Set<TaxonNode> taxonNodes;
/**
* @param label a {@link java.lang.String} object.
* @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object.
* @param taxonNodes a {@link java.util.Set} object.
- * @param newParentTreeNode a {@link eu.etaxonomy.cdm.model.taxon.ITreeNode} object.
+ * @param newParentTreeNode a {@link eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode} object.
* @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object.
* @param conversationEnabled a {@link eu.etaxonomy.cdm.api.conversation.IConversationEnabled} object.
*/
public MoveTaxonOperation(String label, IUndoContext undoContext,
- Set<TaxonNode> taxonNodes, ITreeNode newParentTreeNode, IPostOperationEnabled postOperationEnabled, IConversationEnabled conversationEnabled) {
+ Set<TaxonNode> taxonNodes, ITaxonTreeNode newParentTreeNode, IPostOperationEnabled postOperationEnabled, IConversationEnabled conversationEnabled) {
super(label, undoContext, postOperationEnabled, conversationEnabled);
this.taxonNodes = taxonNodes;
-
+
this.newParentTreeNode = newParentTreeNode;
-
- // Save old parent ITreeNodes for undo
- oldParentTreeNodes = new HashMap<TaxonNode, ITreeNode>();
+
+ // Save old parent ITaxonTreeNodes for undo
+ oldParentTreeNodes = new HashMap<TaxonNode, ITaxonTreeNode>();
for(TaxonNode taxonNode : taxonNodes){
this.oldParentTreeNodes.put(taxonNode, taxonNode.getParent());
}
}
-
+
/* (non-Javadoc)
* @see org.eclipse.core.commands.operations.AbstractOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
*/
throws ExecutionException {
bind();
monitor.worked(20);
-
+
try {
for (TaxonNode taxonNode : taxonNodes){
- TaxonNode newTaxonNode = newParentTreeNode.addChildNode(taxonNode,
+ TaxonNode newTaxonNode = newParentTreeNode.addChildNode(taxonNode,
newParentTreeNode.getReference(), newParentTreeNode.getMicroReference());
taxonNodes.add(newTaxonNode);
monitor.worked(2);
StoreUtil.warningDialog("Illegal ancestry", this, e.getMessage());
}
monitor.worked(40);
-
+
return postExecute(null);
}
public IStatus undo(IProgressMonitor monitor, IAdaptable info)
throws ExecutionException {
StoreUtil.warn(this.getClass(), "Not implemented yet.");
-
- // iterate over oldParentTreeNodes, delete each TaxonNode from its actual parent and add to its former parent
-
+
+ // iterate over oldParentTreeNodes, delete each TaxonNode from its actual parent and add to its former parent
+
return Status.OK_STATUS;
}
}