Revision b43b1993
Added by Patrick Plitzner about 8 years ago
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/operation/MoveDerivateOperation.java | ||
---|---|---|
9 | 9 |
*/ |
10 | 10 |
package eu.etaxonomy.taxeditor.editor.view.derivate.operation; |
11 | 11 |
|
12 |
import java.util.UUID; |
|
13 |
|
|
12 | 14 |
import org.eclipse.core.commands.ExecutionException; |
13 | 15 |
import org.eclipse.core.commands.operations.IUndoContext; |
14 | 16 |
import org.eclipse.core.runtime.IAdaptable; |
... | ... | |
71 | 73 |
|
72 | 74 |
fromNode = draggedNode.getParent(); |
73 | 75 |
if(moveTreeNode(draggedNode, fromNode, targetNode)){ |
76 |
//special case if derivative with no parent was moved |
|
77 |
if(fromNode==null && draggedNode!=null && draggedNode.getValue()!=null){ |
|
78 |
derivateView.remove(draggedNode.getValue()); |
|
79 |
} |
|
74 | 80 |
//update DerivateView |
75 | 81 |
derivateView.getConversationHolder().commit(); |
76 | 82 |
LocalSelectionTransfer.getTransfer().setSelection(null); |
... | ... | |
96 | 102 |
DerivedUnit draggedSpecimen = (DerivedUnit) draggedNodeValue; |
97 | 103 |
SpecimenOrObservationBase<?> targetSpecimen = (SpecimenOrObservationBase<?>) targetNodeValue; |
98 | 104 |
//check if type is a sub derivate type |
99 |
if(fromParentSpecimen instanceof SpecimenOrObservationBase<?> |
|
100 |
&& fromNode!=null |
|
101 |
&& !fromNode.equals(targetNode)){//don't drag on direct parent node) |
|
102 |
return occurrenceService.moveDerivate(((SpecimenOrObservationBase<?>)fromParentSpecimen).getUuid(), |
|
105 |
if(fromNode==null || !fromNode.equals(targetNode)){//don't drag on direct parent node) |
|
106 |
UUID fromUuid = null; |
|
107 |
if(fromParentSpecimen!=null){ |
|
108 |
fromUuid = ((SpecimenOrObservationBase<?>)fromParentSpecimen).getUuid(); |
|
109 |
} |
|
110 |
return occurrenceService.moveDerivate(fromUuid, |
|
103 | 111 |
targetSpecimen.getUuid(), |
104 | 112 |
draggedSpecimen.getUuid()).isOk(); |
105 | 113 |
} |
Also available in: Unified diff
Allow null as parent when moving derivatives