From b92439faf47f775f34a300a8df8df80be76fed47 Mon Sep 17 00:00:00 2001 From: David McKnight Date: Mon, 2 Apr 2007 21:16:43 +0000 Subject: [PATCH] [166338] initial pass at IRSECallback --- .../eclipse/rse/core/model/IRSECallback.java | 5 ++-- .../rse/core/subsystems/ISubSystem.java | 24 ++++++++++++------- .../rse/core/subsystems/SubSystem.java | 12 +++++++++- 3 files changed, 28 insertions(+), 13 deletions(-) diff --git a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/model/IRSECallback.java b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/model/IRSECallback.java index 30c46b4ec2f..0b7caf2cb47 100644 --- a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/model/IRSECallback.java +++ b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/model/IRSECallback.java @@ -13,10 +13,9 @@ ********************************************************************************/ package org.eclipse.rse.core.model; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.rse.core.subsystems.ISubSystem; +import org.eclipse.core.runtime.IStatus; public interface IRSECallback { - public void operationComplete(String operationName, ISubSystem subsystem, IProgressMonitor monitor); + public void done(IStatus status, Object result); } 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 de0116046b3..ee900ec3abd 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 @@ -351,25 +351,31 @@ public interface ISubSystem extends ISystemFilterPoolReferenceManagerProvider, I /** * Connect to the remote system. Does not force a prompt for a password. + * + * @deprecated */ public void connect() throws Exception; + /** + * Connect to the remote system, optionally forcing a signon prompt even if the password + * is cached in memory or on disk. + * + * @param forcePrompt forces the prompt dialog to be displayed even if the password is currently + * in memory. + * + * @deprecated + */ + public void connect(boolean forcePrompt) throws Exception; + + /** * Connect to the remote system from a background job * * @param monitor the process monitor */ public void connect(IProgressMonitor monitor) throws Exception; - - /** - * Connect to the remote system, optionally forcing a signon prompt even if the password - * is cached in memory or on disk. - * - * @param forcePrompt forces the prompt dialog to be displayed even if the password is currently - * in memory. - */ - public void connect(boolean forcePrompt) throws Exception; + /** * Connect to the remote system on a background job. The callback is diff --git a/rse/plugins/org.eclipse.rse.ui/subsystems/org/eclipse/rse/core/subsystems/SubSystem.java b/rse/plugins/org.eclipse.rse.ui/subsystems/org/eclipse/rse/core/subsystems/SubSystem.java index 4d52f3f4bb7..f8c064ffa92 100644 --- a/rse/plugins/org.eclipse.rse.ui/subsystems/org/eclipse/rse/core/subsystems/SubSystem.java +++ b/rse/plugins/org.eclipse.rse.ui/subsystems/org/eclipse/rse/core/subsystems/SubSystem.java @@ -1595,7 +1595,12 @@ public abstract class SubSystem extends RSEModelObject implements IAdaptable, IS if (_callback != null) { - _callback.operationComplete(this.getName(), _ss, mon); + IStatus status = Status.OK_STATUS; + if (!isConnected()) + { + status = Status.CANCEL_STATUS; + } + _callback.done(status, null); } } } @@ -2345,6 +2350,8 @@ public abstract class SubSystem extends RSEModelObject implements IAdaptable, IS * displaying for you. *

* Override internalConnect if you want, but by default it calls getSystem().connect(IProgressMonitor). + * + * @deprecated */ public void connect() throws Exception { if (!isConnected()) { @@ -2417,6 +2424,9 @@ public abstract class SubSystem extends RSEModelObject implements IAdaptable, IS connect(false, callback); } + /** + * @deprecated + */ public void connect(boolean forcePrompt) throws Exception { connect(forcePrompt, null);