Bug 133127 [Model Sync] Programmatically bind drag assistants
diff --git a/bundles/org.eclipse.team.cvs.ui/plugin.xml b/bundles/org.eclipse.team.cvs.ui/plugin.xml
index 61061dd..40ef634 100644
--- a/bundles/org.eclipse.team.cvs.ui/plugin.xml
+++ b/bundles/org.eclipse.team.cvs.ui/plugin.xml
@@ -123,9 +123,6 @@
                    separator="true"/>
           </popupMenu>
        </viewer>
-       <dragAssistant
-             class="org.eclipse.ui.navigator.resources.ResourceDragAdapterAssistant"
-             viewerId="org.eclipse.team.cvs.ui.workspaceSynchronization"/>
        <viewer viewerId="org.eclipse.team.cvs.ui.mergeSynchronization">
           <popupMenu
                 allowsPlatformContributions="false"
@@ -159,9 +156,6 @@
                    separator="true"/>   
           </popupMenu>
        </viewer>
-       <dragAssistant
-             class="org.eclipse.ui.navigator.resources.ResourceDragAdapterAssistant"
-             viewerId="org.eclipse.team.cvs.ui.mergeSynchronization"/>
       <viewer viewerId="org.eclipse.team.cvs.ui.compareSynchronization">
           <popupMenu
                 allowsPlatformContributions="false"
@@ -192,9 +186,6 @@
                    separator="true"/>  
           </popupMenu>
        </viewer>
-       <dragAssistant
-             class="org.eclipse.ui.navigator.resources.ResourceDragAdapterAssistant"
-             viewerId="org.eclipse.team.cvs.ui.compareSynchronization"/>
    </extension>
    
 <!-- *************** Authenticator **************** -->
diff --git a/bundles/org.eclipse.team.ui/plugin.xml b/bundles/org.eclipse.team.ui/plugin.xml
index 585374c..6f80e4b 100644
--- a/bundles/org.eclipse.team.ui/plugin.xml
+++ b/bundles/org.eclipse.team.ui/plugin.xml
@@ -396,9 +396,6 @@
                    separator="true"/>
           </popupMenu>
        </viewer>
-       <dragAssistant
-             class="org.eclipse.ui.navigator.resources.ResourceDragAdapterAssistant"
-             viewerId="org.eclipse.team.ui.navigatorViewer"/>
    </extension>
    
    <!-- *************** Synchronize View Participant **************** -->
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/CommonViewerAdvisor.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/CommonViewerAdvisor.java
index 16386e9..1d4f868 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/CommonViewerAdvisor.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/CommonViewerAdvisor.java
@@ -33,6 +33,7 @@
 import org.eclipse.ui.*;
 import org.eclipse.ui.actions.ActionContext;
 import org.eclipse.ui.navigator.*;
+import org.eclipse.ui.navigator.resources.ResourceDragAdapterAssistant;
 import org.eclipse.ui.part.IPageSite;
 
 /**
@@ -98,6 +99,11 @@
 		public boolean isEmpty() {
 			return empty;
 		}
+		
+		protected void initDragAndDrop() {
+			getNavigatorContentService().getDnDService().bindDragAssistant(new ResourceDragAdapterAssistant());
+			super.initDragAndDrop();
+		}
 	}
 
 	public static final String TEAM_NAVIGATOR_CONTENT = "org.eclipse.team.ui.navigatorViewer"; //$NON-NLS-1$