ref #7887 Terms cannot be dropped above or below TermVocabulary any more
authorPatrick Plitzner <p.plitzner@bgbm.org>
Fri, 1 Feb 2019 10:52:23 +0000 (11:52 +0100)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Fri, 1 Feb 2019 10:52:23 +0000 (11:52 +0100)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/e4/DefinedTermDropAdapterE4.java

index 0715bf2c886bbd4afca625b079f3c880ea761491..cafc3f80cd8e9582f4e6340891b9af75d7372c05 100644 (file)
@@ -17,10 +17,12 @@ import org.eclipse.e4.ui.di.UISynchronize;
 import org.eclipse.jface.util.LocalSelectionTransfer;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.ViewerDropAdapter;
 import org.eclipse.swt.dnd.TransferData;
 
 import eu.etaxonomy.cdm.persistence.dto.AbstractTermDto;
 import eu.etaxonomy.cdm.persistence.dto.TermDto;
+import eu.etaxonomy.cdm.persistence.dto.TermVocabularyDto;
 import eu.etaxonomy.taxeditor.editor.definedterm.operation.MoveDefinedTermOperation;
 import eu.etaxonomy.taxeditor.l10n.Messages;
 import eu.etaxonomy.taxeditor.model.AbstractUtility;
@@ -117,7 +119,12 @@ public class DefinedTermDropAdapterE4 extends EditViewerDropAdapter {
        @Override
        public boolean validateDrop(Object target, int operation,
                        TransferData transferType) {
-        return LocalSelectionTransfer.getTransfer().isSupportedType(transferType) && target instanceof AbstractTermDto;
+           boolean valid = LocalSelectionTransfer.getTransfer().isSupportedType(transferType)
+                && target instanceof AbstractTermDto;
+           if(target instanceof TermVocabularyDto && getCurrentLocation()!=ViewerDropAdapter.LOCATION_ON){
+               valid = false;
+           }
+        return valid;
        }
 
 }