Revision 95ee1b51
Added by U-BGBM\k.luther over 8 years ago
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/MoveTaxonOperation.java | ||
---|---|---|
9 | 9 |
|
10 | 10 |
package eu.etaxonomy.taxeditor.navigation.navigator.operation; |
11 | 11 |
|
12 |
import java.util.HashMap; |
|
13 |
import java.util.HashSet; |
|
14 |
import java.util.Map; |
|
15 | 12 |
import java.util.Set; |
16 | 13 |
import java.util.UUID; |
17 | 14 |
|
... | ... | |
22 | 19 |
import org.eclipse.core.runtime.IStatus; |
23 | 20 |
import org.eclipse.core.runtime.Status; |
24 | 21 |
|
25 |
import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration; |
|
26 | 22 |
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled; |
27 | 23 |
import eu.etaxonomy.cdm.api.service.ITaxonNodeService; |
28 | 24 |
import eu.etaxonomy.cdm.api.service.UpdateResult; |
29 | 25 |
import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode; |
30 |
import eu.etaxonomy.cdm.model.taxon.IllegalAncestryException; |
|
31 |
import eu.etaxonomy.cdm.model.taxon.TaxonNode; |
|
32 | 26 |
import eu.etaxonomy.taxeditor.model.MessagingUtils; |
33 | 27 |
import eu.etaxonomy.taxeditor.operation.AbstractPersistentPostOperation; |
34 | 28 |
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; |
... | ... | |
46 | 40 |
/** |
47 | 41 |
* A reference to the new taxonomical parent. |
48 | 42 |
*/ |
49 |
private ITaxonTreeNode newParentTreeNode; |
|
43 |
private final ITaxonTreeNode newParentTreeNode;
|
|
50 | 44 |
/** |
51 | 45 |
* A reference to the former taxonomical parents |
52 | 46 |
*/ |
53 | 47 |
//private Map<TaxonNode, ITaxonTreeNode> oldParentTreeNodes; |
54 | 48 |
|
55 |
private TaxonNode taxonNode;
|
|
56 |
private boolean moveToParentNode; |
|
49 |
private final Set<UUID> taxonNodesUuid;
|
|
50 |
private final boolean moveToParentNode;
|
|
57 | 51 |
/** |
58 | 52 |
* <p>Constructor for MoveTaxonOperation.</p> |
59 | 53 |
* |
... | ... | |
65 | 59 |
* @param conversationEnabled a {@link eu.etaxonomy.cdm.api.conversation.IConversationEnabled} object. |
66 | 60 |
*/ |
67 | 61 |
public MoveTaxonOperation(String label, IUndoContext undoContext, |
68 |
TaxonNode taxonNodeToMove, ITaxonTreeNode newParentTreeNode, IPostOperationEnabled postOperationEnabled, IConversationEnabled conversationEnabled, boolean moveToParentNode) {
|
|
62 |
Set<UUID> taxonNodesUUIDToMove, ITaxonTreeNode newParentTreeNode, IPostOperationEnabled postOperationEnabled, IConversationEnabled conversationEnabled, boolean moveToParentNode) {
|
|
69 | 63 |
super(label, undoContext, postOperationEnabled, conversationEnabled); |
70 |
|
|
71 |
this.taxonNode = taxonNodeToMove;
|
|
64 |
|
|
65 |
this.taxonNodesUuid = taxonNodesUUIDToMove;
|
|
72 | 66 |
/*for (TaxonNode node:taxonNodes){ |
73 | 67 |
this.taxonNodes.add(service.load(node.getUuid())); |
74 | 68 |
}*/ |
75 |
|
|
69 |
|
|
76 | 70 |
this.newParentTreeNode = newParentTreeNode; |
77 | 71 |
this.moveToParentNode = moveToParentNode; |
78 | 72 |
// Save old parent ITaxonTreeNodes for undo |
79 |
|
|
73 |
|
|
80 | 74 |
//this.parentNode = taxonNode.getParent(); |
81 | 75 |
} |
82 | 76 |
|
... | ... | |
90 | 84 |
bind(); |
91 | 85 |
monitor.worked(20); |
92 | 86 |
|
93 |
UpdateResult result = CdmStore.getService(ITaxonNodeService.class).moveTaxonNode(this.taxonNode.getUuid(),newParentTreeNode.getUuid(), moveToParentNode);
|
|
87 |
UpdateResult result = CdmStore.getService(ITaxonNodeService.class).moveTaxonNodes(this.taxonNodesUuid,newParentTreeNode.getUuid());
|
|
94 | 88 |
// try { |
95 | 89 |
// for (TaxonNode taxonNode : taxonNodes){ |
96 | 90 |
// TaxonNode newTaxonNode = newParentTreeNode.addChildNode(taxonNode, |
97 | 91 |
// newParentTreeNode.getReference(), newParentTreeNode.getMicroReference()); |
98 | 92 |
// //taxonNodes.add(newTaxonNode); |
99 |
//
|
|
93 |
// |
|
100 | 94 |
// monitor.worked(2); |
101 | 95 |
// } |
102 | 96 |
// } catch(IllegalAncestryException e) { |
Also available in: Unified diff
moving more than one taxon node, merge of team and person, reusing name for new taxon