From f6e7310a3af1980dfdf2f4e44198183c05e3fb7f Mon Sep 17 00:00:00 2001 From: David McKnight Date: Tue, 10 Apr 2007 16:26:03 +0000 Subject: [PATCH] [176603] connect(IProgressMonitor, boolean forcePrompt) --- .../rse/core/subsystems/ISubSystem.java | 12 ++++++++++- .../rse/core/subsystems/SubSystem.java | 20 +++++++++++++++++-- 2 files changed, 29 insertions(+), 3 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 3dc52429cac..0102f3a0c97 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 @@ -27,7 +27,6 @@ import org.eclipse.rse.core.model.IHost; import org.eclipse.rse.core.model.IPropertySet; import org.eclipse.rse.core.model.IRSECallback; import org.eclipse.rse.core.model.IRSEModelObject; -import org.eclipse.rse.core.model.IRSEPersistableContainer; import org.eclipse.rse.core.model.ISystemProfile; import org.eclipse.rse.services.clientserver.messages.SystemMessageException; @@ -378,9 +377,20 @@ public interface ISubSystem extends ISystemFilterPoolReferenceManagerProvider, I * Connect to the remote system from a background job * * @param monitor the process monitor + * + * @deprecated use connect(IProgressMonitor, boolean) */ public void connect(IProgressMonitor monitor) throws Exception; + /** + * Connect to the remote system from a background job + * + * @param monitor the process monitor + * @param forcePrompt forces the prompt dialog to be displayed even if the password is currently + * in memory + */ + public void connect(IProgressMonitor monitor, 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 1bb969e2488..1b641c5b574 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 @@ -2382,8 +2382,22 @@ public abstract class SubSystem extends RSEModelObject implements IAdaptable, IS /** * Required for Bug 176603 + * + * @deprecated */ public void connect(IProgressMonitor monitor) throws Exception + { + connect(monitor, false); + } + + /** + * Connect to a remote system with a monitor. + * Required for Bug 176603 + * + * @param monitor the progress monitor + * @param forcePrompt indicates whether to prompt even if password is in memory + */ + public void connect(IProgressMonitor monitor, boolean forcePrompt) throws Exception { if (!isConnected()) { @@ -2392,13 +2406,15 @@ public abstract class SubSystem extends RSEModelObject implements IAdaptable, IS msg = SubSystemConfiguration.getConnectingMessage(getHostName(), getConnectorService().getPort()); SystemBasePlugin.logInfo(msg); monitor.beginTask(msg, 10); + final boolean promptForPassword = forcePrompt; final Exception[] exception=new Exception[1]; exception[0]=null; Display.getDefault().syncExec(new Runnable() { public void run() { - try { - promptForPassword(); + try + { + promptForPassword(promptForPassword); } catch(Exception e) { exception[0]=e; }