diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemDNDTransferRunnable.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemDNDTransferRunnable.java index 02baa9a3714..47a23fa3411 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemDNDTransferRunnable.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemDNDTransferRunnable.java @@ -31,6 +31,8 @@ import org.eclipse.jface.viewers.TreeViewer; import org.eclipse.jface.viewers.Viewer; import org.eclipse.rse.core.RSECorePlugin; import org.eclipse.rse.core.events.ISystemRemoteChangeEvents; +import org.eclipse.rse.core.events.ISystemResourceChangeEvents; +import org.eclipse.rse.core.events.SystemResourceChangeEvent; import org.eclipse.rse.core.filters.ISystemFilterReference; import org.eclipse.rse.core.model.IHost; import org.eclipse.rse.core.model.ISystemContainer; @@ -45,6 +47,7 @@ import org.eclipse.rse.services.clientserver.messages.SystemMessage; import org.eclipse.rse.ui.ISystemMessages; import org.eclipse.rse.ui.RSEUIPlugin; import org.eclipse.rse.ui.SystemBasePlugin; +import org.eclipse.rse.ui.internal.model.SystemScratchpad; import org.eclipse.rse.ui.messages.SystemMessageDialog; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; @@ -616,6 +619,7 @@ public class SystemDNDTransferRunnable extends WorkspaceJob if (_resultTgtObjects.size() > 0) { boolean doRefresh = _ok; + for (int t = 0; t < _resultTgtObjects.size() && t < _resultSrcObjects.size(); t++) { Object tgt = _resultTgtObjects.get(t); @@ -647,6 +651,10 @@ public class SystemDNDTransferRunnable extends WorkspaceJob { registry.fireRemoteResourceChangeEvent(ISystemRemoteChangeEvents.SYSTEM_REMOTE_RESOURCE_CREATED, _resultTgtObjects, _target, _targetSubSystem, null, _originatingViewer); } + else if (_target instanceof SystemScratchpad) + { + registry.fireEvent(new SystemResourceChangeEvent(_resultTgtObjects, ISystemResourceChangeEvents.EVENT_ADD_MANY, _target)); + } } return Status.OK_STATUS; diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/scratchpad/SystemScratchpadView.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/scratchpad/SystemScratchpadView.java index 5d1f517b772..930fed764d4 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/scratchpad/SystemScratchpadView.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/scratchpad/SystemScratchpadView.java @@ -20,6 +20,7 @@ import java.util.ArrayList; import java.util.Enumeration; import java.util.Hashtable; import java.util.Iterator; +import java.util.List; import java.util.Vector; import org.eclipse.core.runtime.Assert; @@ -273,7 +274,7 @@ public class SystemScratchpadView */ protected ISystemViewElementAdapter getViewAdapter(Object obj) { - return SystemAdapterHelpers.getViewAdapter(obj, this); + return SystemAdapterHelpers.getViewAdapter(obj); } @@ -421,11 +422,11 @@ public class SystemScratchpadView Object remoteResourceParent = event.getResourceParent(); Object remoteResource = event.getResource(); //boolean originatedHere = (event.getOriginatingViewer() == this); - Vector remoteResourceNames = null; - if (remoteResource instanceof Vector) + List remoteResourceNames = null; + if (remoteResource instanceof List) { - remoteResourceNames = (Vector) remoteResource; - remoteResource = remoteResourceNames.elementAt(0); + remoteResourceNames = (List) remoteResource; + remoteResource = remoteResourceNames.get(0); } String remoteResourceName = getRemoteResourceAbsoluteName(remoteResource); if (remoteResourceName == null) @@ -551,7 +552,7 @@ public class SystemScratchpadView remoteResourceName = (String) remoteResource; else { - ISystemRemoteElementAdapter ra = getRemoteAdapter(remoteResource); + ISystemViewElementAdapter ra = getViewAdapter(remoteResource); if (ra == null) return null; remoteResourceName = ra.getAbsoluteName(remoteResource);