X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/blobdiff_plain/aca6923265b802bbbea40b95b45927508c616e2b..43fdbc98815ef71a54c68fe96a11ea189355accc:/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/FeatureNodeDragListener.java diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/FeatureNodeDragListener.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/FeatureNodeDragListener.java index e479ae99f..edcdba0dc 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/FeatureNodeDragListener.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/FeatureNodeDragListener.java @@ -13,7 +13,7 @@ import org.eclipse.jface.viewers.TreeViewer; import org.eclipse.swt.dnd.DragSourceAdapter; import org.eclipse.swt.dnd.DragSourceEvent; -import eu.etaxonomy.cdm.model.description.FeatureNode; +import eu.etaxonomy.cdm.model.term.TermNode; import eu.etaxonomy.taxeditor.featuretree.FeatureNodeTransfer; public class FeatureNodeDragListener extends DragSourceAdapter { @@ -30,9 +30,11 @@ public class FeatureNodeDragListener extends DragSourceAdapter { @Override public void dragSetData(DragSourceEvent event) { IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); - FeatureNode[] featureNodes = (FeatureNode[]) selection.toList().toArray(new FeatureNode[selection.size()]); - if (FeatureNodeTransfer.getInstance().isSupportedType(event.dataType)) { - event.data = featureNodes; + if(selection!=null && !selection.isEmpty()){ + TermNode[] featureNodes = (TermNode[]) selection.toList().toArray(new TermNode[selection.size()]); + if (FeatureNodeTransfer.getInstance().isSupportedType(event.dataType)) { + event.data = featureNodes; + } } } @@ -41,7 +43,9 @@ public class FeatureNodeDragListener extends DragSourceAdapter { */ @Override public void dragStart(DragSourceEvent event) { - event.doit = !viewer.getSelection().isEmpty(); + event.doit = !viewer.getSelection().isEmpty() + && ((IStructuredSelection) viewer.getSelection()).toList() + .stream().allMatch(element -> element instanceof TermNode); } } \ No newline at end of file