From d3846713f6f18c70add58297fd0ce86f88c46313 Mon Sep 17 00:00:00 2001 From: David McKnight Date: Thu, 25 Oct 2007 16:23:37 +0000 Subject: [PATCH] [207095] Implicit connect needs to run in the same job as caller --- .../org/eclipse/rse/core/subsystems/ISubSystem.java | 3 ++- .../servicesubsystem/ProcessServiceSubSystem.java | 11 ++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/ISubSystem.java b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/ISubSystem.java index 6eeefbe4e8d..7b6c0a41664 100644 --- a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/ISubSystem.java +++ b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/ISubSystem.java @@ -14,6 +14,7 @@ * Martin Oberhuber (Wind River) - [182454] improve getAbsoluteName() documentation * Martin Oberhuber (Wind River) - [186128] Move IProgressMonitor last in all API * Martin Oberhuber (Wind River) - [187218] Fix error reporting for connect() + * David McKnight (IBM) - [207095] Implicit connect needs to run in the same job as caller ********************************************************************************/ package org.eclipse.rse.core.subsystems; @@ -134,7 +135,7 @@ public interface ISubSystem extends ISystemFilterPoolReferenceManagerProvider, I * will throw a SystemMessageException you can easily display to the user by using a method * in it. */ - public void checkIsConnected() throws SystemMessageException; + public void checkIsConnected(IProgressMonitor monitor) throws SystemMessageException; // --------------------------------------------------- // Methods for business partners to add their own diff --git a/rse/plugins/org.eclipse.rse.subsystems.processes.core/src/org/eclipse/rse/subsystems/processes/servicesubsystem/ProcessServiceSubSystem.java b/rse/plugins/org.eclipse.rse.subsystems.processes.core/src/org/eclipse/rse/subsystems/processes/servicesubsystem/ProcessServiceSubSystem.java index bea9a2d6d0e..5933fd5a3c6 100644 --- a/rse/plugins/org.eclipse.rse.subsystems.processes.core/src/org/eclipse/rse/subsystems/processes/servicesubsystem/ProcessServiceSubSystem.java +++ b/rse/plugins/org.eclipse.rse.subsystems.processes.core/src/org/eclipse/rse/subsystems/processes/servicesubsystem/ProcessServiceSubSystem.java @@ -18,6 +18,7 @@ package org.eclipse.rse.subsystems.processes.servicesubsystem; import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.rse.core.model.IHost; import org.eclipse.rse.core.subsystems.IConnectorService; import org.eclipse.rse.core.subsystems.IServiceSubSystemConfiguration; @@ -88,7 +89,7 @@ public class ProcessServiceSubSystem extends RemoteProcessSubSystemImpl implemen */ public IRemoteProcess getRemoteProcessObject(long pid) throws SystemMessageException { - checkIsConnected(); + checkIsConnected(new NullProgressMonitor()); HostProcessFilterImpl rpfs = new HostProcessFilterImpl(); rpfs.setPid("" + pid); //$NON-NLS-1$ IRemoteProcessContext context = new RemoteProcessContext(this, null, rpfs); @@ -109,7 +110,7 @@ public class ProcessServiceSubSystem extends RemoteProcessSubSystemImpl implemen */ public boolean kill(IRemoteProcess process, String signal) throws SystemMessageException { - checkIsConnected(); + checkIsConnected(new NullProgressMonitor()); return getProcessService().kill(process.getPid(), signal, null); } @@ -118,7 +119,7 @@ public class ProcessServiceSubSystem extends RemoteProcessSubSystemImpl implemen */ public IRemoteProcess[] listAllProcesses(IHostProcessFilter processFilter, IRemoteProcessContext context, IProgressMonitor monitor) throws InterruptedException, SystemMessageException { - checkIsConnected(); + checkIsConnected(monitor); IHostProcess[] processes = getProcessService().listAllProcesses(processFilter, monitor); return getHostProcessToRemoteProcessAdapter().convertToRemoteProcesses(context, null, processes); } @@ -128,7 +129,7 @@ public class ProcessServiceSubSystem extends RemoteProcessSubSystemImpl implemen */ public IRemoteProcess[] listChildProcesses(IRemoteProcess parent, IHostProcessFilter processFilter, IRemoteProcessContext context, IProgressMonitor monitor) throws SystemMessageException { - checkIsConnected(); + checkIsConnected(monitor); IHostProcess[] processes = getProcessService().listChildProcesses(parent.getPid(), processFilter, monitor); return getHostProcessToRemoteProcessAdapter().convertToRemoteProcesses(context, parent, processes); } @@ -138,7 +139,7 @@ public class ProcessServiceSubSystem extends RemoteProcessSubSystemImpl implemen */ public IRemoteProcess[] listChildProcesses(IRemoteProcess parent, IRemoteProcessContext context, IProgressMonitor monitor) throws SystemMessageException { - checkIsConnected(); + checkIsConnected(monitor); IHostProcess[] processes = getProcessService().listChildProcesses(parent.getPid(), monitor); return getHostProcessToRemoteProcessAdapter().convertToRemoteProcesses(context, parent, processes); }