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.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;
/**
* A reference to the new taxonomical parent.
*/
- private ITaxonTreeNode newParentTreeNode;
+ private final ITaxonTreeNode newParentTreeNode;
/**
* A reference to the former taxonomical parents
*/
//private Map<TaxonNode, ITaxonTreeNode> oldParentTreeNodes;
- private TaxonNode taxonNode;
- private boolean moveToParentNode;
+ private final Set<UUID> taxonNodesUuid;
+ private final boolean moveToParentNode;
/**
* <p>Constructor for MoveTaxonOperation.</p>
*
* @param conversationEnabled a {@link eu.etaxonomy.cdm.api.conversation.IConversationEnabled} object.
*/
public MoveTaxonOperation(String label, IUndoContext undoContext,
- TaxonNode taxonNodeToMove, ITaxonTreeNode newParentTreeNode, IPostOperationEnabled postOperationEnabled, IConversationEnabled conversationEnabled, boolean moveToParentNode) {
+ Set<UUID> taxonNodesUUIDToMove, ITaxonTreeNode newParentTreeNode, IPostOperationEnabled postOperationEnabled, IConversationEnabled conversationEnabled, boolean moveToParentNode) {
super(label, undoContext, postOperationEnabled, conversationEnabled);
-
- this.taxonNode = taxonNodeToMove;
+
+ this.taxonNodesUuid = taxonNodesUUIDToMove;
/*for (TaxonNode node:taxonNodes){
this.taxonNodes.add(service.load(node.getUuid()));
}*/
-
+
this.newParentTreeNode = newParentTreeNode;
this.moveToParentNode = moveToParentNode;
// Save old parent ITaxonTreeNodes for undo
-
+
//this.parentNode = taxonNode.getParent();
}
bind();
monitor.worked(20);
- UpdateResult result = CdmStore.getService(ITaxonNodeService.class).moveTaxonNode(this.taxonNode.getUuid(),newParentTreeNode.getUuid(), moveToParentNode);
+ UpdateResult result = CdmStore.getService(ITaxonNodeService.class).moveTaxonNodes(this.taxonNodesUuid,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) {