Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Dykstal2007-03-27 19:59:47 +0000
committerDavid Dykstal2007-03-27 19:59:47 +0000
commitaca3ef566f974808cd67f6dcf02881d9d2bb0041 (patch)
treeb027eb3cf525fd247ba6f0887aadee260adf3ee0
parent3fdff2f49093eb764d3137167bf1d3a7419b43ff (diff)
downloadorg.eclipse.tm-aca3ef566f974808cd67f6dcf02881d9d2bb0041.tar.gz
org.eclipse.tm-aca3ef566f974808cd67f6dcf02881d9d2bb0041.tar.xz
org.eclipse.tm-aca3ef566f974808cd67f6dcf02881d9d2bb0041.zip
[168977][api][refactor] - stage 3.2
- introduced the AbstractCredentialsProvider into the CredentialsProvider hierarchy.
-rw-r--r--rse/examples/org.eclipse.rse.examples.daytime/src/org/eclipse/rse/examples/daytime/connectorservice/DaytimeConnectorService.java2
-rw-r--r--rse/examples/org.eclipse.rse.examples.tutorial/src/samples/subsystems/DeveloperConnectorService.java2
-rw-r--r--rse/plugins/org.eclipse.rse.connectorservice.local/src/org/eclipse/rse/internal/connectorservice/local/LocalConnectorService.java2
-rw-r--r--rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/AbstractCredentialsProvider.java41
-rw-r--r--rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/BasicCredentialsProvider.java26
-rw-r--r--rse/plugins/org.eclipse.rse.ui/subsystems/org/eclipse/rse/ui/subsystems/StandardCredentialsProvider.java50
-rw-r--r--rse/tests/org.eclipse.rse.tests/src/org/eclipse/rse/tests/internal/testsubsystem/TestSubSystemConnectorService.java2
7 files changed, 67 insertions, 58 deletions
diff --git a/rse/examples/org.eclipse.rse.examples.daytime/src/org/eclipse/rse/examples/daytime/connectorservice/DaytimeConnectorService.java b/rse/examples/org.eclipse.rse.examples.daytime/src/org/eclipse/rse/examples/daytime/connectorservice/DaytimeConnectorService.java
index 9a943bfcd..a4a8bb72b 100644
--- a/rse/examples/org.eclipse.rse.examples.daytime/src/org/eclipse/rse/examples/daytime/connectorservice/DaytimeConnectorService.java
+++ b/rse/examples/org.eclipse.rse.examples.daytime/src/org/eclipse/rse/examples/daytime/connectorservice/DaytimeConnectorService.java
@@ -42,7 +42,7 @@ public class DaytimeConnectorService extends AbstractConnectorService {
private boolean fIsConnected = false;
private DaytimeService fDaytimeService;
- private ICredentialsProvider fCredentialsProvider = new BasicCredentialsProvider();
+ private ICredentialsProvider fCredentialsProvider = new BasicCredentialsProvider(this);
public DaytimeConnectorService(IHost host) {
super(DaytimeResources.Daytime_Connector_Name, DaytimeResources.Daytime_Connector_Description, host, 13);
diff --git a/rse/examples/org.eclipse.rse.examples.tutorial/src/samples/subsystems/DeveloperConnectorService.java b/rse/examples/org.eclipse.rse.examples.tutorial/src/samples/subsystems/DeveloperConnectorService.java
index 1b0528e3f..b37a303c1 100644
--- a/rse/examples/org.eclipse.rse.examples.tutorial/src/samples/subsystems/DeveloperConnectorService.java
+++ b/rse/examples/org.eclipse.rse.examples.tutorial/src/samples/subsystems/DeveloperConnectorService.java
@@ -32,7 +32,7 @@ import samples.RSESamplesPlugin;
public class DeveloperConnectorService extends AbstractConnectorService {
private boolean connected = false;
- private ICredentialsProvider credentialsProvider = new BasicCredentialsProvider();
+ private ICredentialsProvider credentialsProvider = new BasicCredentialsProvider(this);
/**
* Constructor for DeveloperConnectorService.
diff --git a/rse/plugins/org.eclipse.rse.connectorservice.local/src/org/eclipse/rse/internal/connectorservice/local/LocalConnectorService.java b/rse/plugins/org.eclipse.rse.connectorservice.local/src/org/eclipse/rse/internal/connectorservice/local/LocalConnectorService.java
index 7024d2bcc..82a44a0f0 100644
--- a/rse/plugins/org.eclipse.rse.connectorservice.local/src/org/eclipse/rse/internal/connectorservice/local/LocalConnectorService.java
+++ b/rse/plugins/org.eclipse.rse.connectorservice.local/src/org/eclipse/rse/internal/connectorservice/local/LocalConnectorService.java
@@ -33,7 +33,7 @@ import org.eclipse.rse.core.subsystems.ICredentialsProvider;
public class LocalConnectorService extends AbstractConnectorService
{
- private ICredentialsProvider credentialsProvider = new BasicCredentialsProvider();
+ private ICredentialsProvider credentialsProvider = new BasicCredentialsProvider(this);
/**
* Constructor when we don't have a subsystem yet.
diff --git a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/AbstractCredentialsProvider.java b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/AbstractCredentialsProvider.java
new file mode 100644
index 000000000..d68b4c597
--- /dev/null
+++ b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/AbstractCredentialsProvider.java
@@ -0,0 +1,41 @@
+/********************************************************************************
+ * Copyright (c) 2007 IBM Corporation. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * David Dykstal (IBM) - 168977: refactoring IConnectorService
+ ********************************************************************************/
+package org.eclipse.rse.core.subsystems;
+
+/**
+ * The {@link AbstractCredentialsProvider} provides the base
+ * implementation of the {@link ICredentialsProvider}
+ * interface. It remembers the connector service and suppression
+ * state for the provider.
+ * <p>
+ * This class is meant to be subclassed.
+ */
+public abstract class AbstractCredentialsProvider implements ICredentialsProvider {
+
+ private IConnectorService connectorService = null;
+ private boolean suppressed = false;
+
+ public AbstractCredentialsProvider(IConnectorService connectorService) {
+ this.connectorService = connectorService;
+ }
+
+ public final IConnectorService getConnectorService() {
+ return connectorService;
+ }
+
+ public final boolean isSuppressed() {
+ return suppressed;
+ }
+
+ public final void setSuppressed(boolean suppressed) {
+ this.suppressed = suppressed;
+ }
+
+}
diff --git a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/BasicCredentialsProvider.java b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/BasicCredentialsProvider.java
index 91ab17869..f49055c2d 100644
--- a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/BasicCredentialsProvider.java
+++ b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/BasicCredentialsProvider.java
@@ -18,7 +18,12 @@ import org.eclipse.rse.services.clientserver.messages.SystemMessage;
* <p>
* This class is not meant to be subclassed.
*/
-public class BasicCredentialsProvider implements ICredentialsProvider {
+public class BasicCredentialsProvider extends AbstractCredentialsProvider {
+
+ public BasicCredentialsProvider(IConnectorService connectorService) {
+ super(connectorService);
+ }
+
public void acquireCredentials(boolean reacquire) {
}
@@ -26,26 +31,17 @@ public class BasicCredentialsProvider implements ICredentialsProvider {
}
public void clearPassword() {
- // TODO Auto-generated method stub
}
public ICredentials getCredentials() {
- // TODO Auto-generated method stub
return null;
}
public String getUserId() {
- // TODO Auto-generated method stub
return null;
}
- public boolean isSuppressed() {
- // TODO Auto-generated method stub
- return false;
- }
-
public void repairCredentials(SystemMessage message) throws InterruptedException {
- // TODO Auto-generated method stub
}
public boolean requiresPassword() {
@@ -57,15 +53,9 @@ public class BasicCredentialsProvider implements ICredentialsProvider {
}
public void setPassword(String password) {
- // TODO Auto-generated method stub
- }
-
- public void setSuppressed(boolean suppressed) {
- // TODO Auto-generated method stub
}
public void setUserId(String userId) {
- // TODO Auto-generated method stub
}
public boolean supportsPassword() {
@@ -76,8 +66,4 @@ public class BasicCredentialsProvider implements ICredentialsProvider {
return false;
}
- public IConnectorService getConnectorService() {
- // TODO Auto-generated method stub
- return null;
- }
}
diff --git a/rse/plugins/org.eclipse.rse.ui/subsystems/org/eclipse/rse/ui/subsystems/StandardCredentialsProvider.java b/rse/plugins/org.eclipse.rse.ui/subsystems/org/eclipse/rse/ui/subsystems/StandardCredentialsProvider.java
index 3a9290ceb..2c31d7fb0 100644
--- a/rse/plugins/org.eclipse.rse.ui/subsystems/org/eclipse/rse/ui/subsystems/StandardCredentialsProvider.java
+++ b/rse/plugins/org.eclipse.rse.ui/subsystems/org/eclipse/rse/ui/subsystems/StandardCredentialsProvider.java
@@ -12,6 +12,7 @@ package org.eclipse.rse.ui.subsystems;
import org.eclipse.rse.core.PasswordPersistenceManager;
import org.eclipse.rse.core.model.IHost;
import org.eclipse.rse.core.model.SystemSignonInformation;
+import org.eclipse.rse.core.subsystems.AbstractCredentialsProvider;
import org.eclipse.rse.core.subsystems.IConnectorService;
import org.eclipse.rse.core.subsystems.ICredentials;
import org.eclipse.rse.core.subsystems.ICredentialsProvider;
@@ -49,7 +50,7 @@ import org.eclipse.ui.PlatformUI;
* This class is may be subclassed. Typically to provide connector service
* specific prompting.
*/
-public class StandardCredentialsProvider implements ICredentialsProvider {
+public class StandardCredentialsProvider extends AbstractCredentialsProvider {
private class PromptForCredentials implements Runnable {
private boolean canceled = false;
@@ -60,7 +61,7 @@ public class StandardCredentialsProvider implements ICredentialsProvider {
public void run() {
ISystemPasswordPromptDialog dialog = getPasswordPromptDialog(getShell());
- dialog.setSystemInput(connectorService);
+ dialog.setSystemInput(getConnectorService());
dialog.setForceToUpperCase(forcePasswordToUpperCase());
dialog.setSignonValidator(getSignonValidator());
if (supportsUserId()) {
@@ -98,7 +99,7 @@ public class StandardCredentialsProvider implements ICredentialsProvider {
}
public void run() {
- SystemChangePasswordDialog dlg = new SystemChangePasswordDialog(getShell(), connectorService.getHostName(), getUserId(), message);
+ SystemChangePasswordDialog dlg = new SystemChangePasswordDialog(getShell(), getConnectorService().getHostName(), getUserId(), message);
dlg.setSavePassword(savePassword);
dlg.open();
canceled = dlg.wasCancelled();
@@ -109,15 +110,13 @@ public class StandardCredentialsProvider implements ICredentialsProvider {
}
}
- private IConnectorService connectorService = null;
private String userId = null;
private String password = null;
- private boolean suppressed = false;
private boolean savePassword = false;
private boolean saveUserId = false;
public StandardCredentialsProvider(IConnectorService connectorService) {
- this.connectorService = connectorService;
+ super(connectorService);
}
/**
@@ -144,7 +143,7 @@ public class StandardCredentialsProvider implements ICredentialsProvider {
String hostType = host.getSystemType();
savePassword = false;
if (supportsUserId()) {
- boolean sameHost = hostName.equalsIgnoreCase(connectorService.getHostName());
+ boolean sameHost = hostName.equalsIgnoreCase(getConnectorService().getHostName());
if (!sameHost) {
clearCredentials();
}
@@ -170,7 +169,7 @@ public class StandardCredentialsProvider implements ICredentialsProvider {
// Not sure this is necessary, shouldn't this message show up on the password prompt itself?
if (!signonValid) {
SystemMessage msg = RSEUIPlugin.getPluginMessage(ISystemMessages.MSG_COMM_PWD_INVALID);
- msg.makeSubstitution(userId, connectorService.getHostName());
+ msg.makeSubstitution(userId, getConnectorService().getHostName());
SystemMessageDialog dialog = new SystemMessageDialog(getShell(), msg);
dialog.open();
}
@@ -180,12 +179,12 @@ public class StandardCredentialsProvider implements ICredentialsProvider {
if (passwordNeeded || userIdNeeded || reacquire) {
promptForCredentials();
if (savePassword) {
- connectorService.savePassword();
+ getConnectorService().savePassword();
} else {
- connectorService.removePassword();
+ getConnectorService().removePassword();
}
if (saveUserId) {
- connectorService.saveUserId();
+ getConnectorService().saveUserId();
}
}
}
@@ -205,12 +204,8 @@ public class StandardCredentialsProvider implements ICredentialsProvider {
password = null;
}
- public IConnectorService getConnectorService() {
- return connectorService;
- }
-
public ICredentials getCredentials() {
- IHost host = connectorService.getHost();
+ IHost host = getConnectorService().getHost();
String hostName = host.getHostName();
String systemType = host.getSystemType();
SystemSignonInformation result = new SystemSignonInformation(hostName, userId, password, systemType);
@@ -232,13 +227,6 @@ public class StandardCredentialsProvider implements ICredentialsProvider {
return userId;
}
- /* (non-Javadoc)
- * @see org.eclipse.rse.core.subsystems.IConnectorService#isSuppressed()
- */
- public final boolean isSuppressed() {
- return suppressed;
- }
-
public void repairCredentials(SystemMessage prompt) throws InterruptedException {
promptForNewPassword(prompt);
}
@@ -266,25 +254,19 @@ public class StandardCredentialsProvider implements ICredentialsProvider {
if (getPrimarySubSystem().forceUserIdToUpperCase()) {
matchingUserId = matchingUserId.toUpperCase();
}
- SystemSignonInformation signonInformation = new SystemSignonInformation(connectorService.getHostName(), matchingUserId, password, connectorService.getHostType());
+ IConnectorService cs = getConnectorService();
+ String systemType = cs.getHostType();
+ String hostName = cs.getHostName();
+ SystemSignonInformation signonInformation = new SystemSignonInformation(hostName, matchingUserId, password, systemType);
setSignonInformation(signonInformation);
if (persist) { // if password should be persisted, then add to disk
PasswordPersistenceManager.getInstance().add(signonInformation, true, true);
} else { // otherwise, remove from both memory and disk
- String systemType = connectorService.getHostType();
- String hostName = connectorService.getHostName();
PasswordPersistenceManager.getInstance().remove(systemType, hostName, userId);
}
}
/* (non-Javadoc)
- * @see org.eclipse.rse.core.subsystems.IConnectorService#setSuppressed(boolean)
- */
- public final void setSuppressed(boolean suppressed) {
- this.suppressed = suppressed;
- }
-
- /* (non-Javadoc)
* @see org.eclipse.rse.core.subsystems.IConnectorService#setUserId(java.lang.String)
*/
final public void setUserId(String newId) {
@@ -344,7 +326,7 @@ public class StandardCredentialsProvider implements ICredentialsProvider {
}
private ISubSystem getPrimarySubSystem() {
- return connectorService.getPrimarySubSystem();
+ return getConnectorService().getPrimarySubSystem();
}
private Shell getShell() {
diff --git a/rse/tests/org.eclipse.rse.tests/src/org/eclipse/rse/tests/internal/testsubsystem/TestSubSystemConnectorService.java b/rse/tests/org.eclipse.rse.tests/src/org/eclipse/rse/tests/internal/testsubsystem/TestSubSystemConnectorService.java
index 1911fdae0..07f019d31 100644
--- a/rse/tests/org.eclipse.rse.tests/src/org/eclipse/rse/tests/internal/testsubsystem/TestSubSystemConnectorService.java
+++ b/rse/tests/org.eclipse.rse.tests/src/org/eclipse/rse/tests/internal/testsubsystem/TestSubSystemConnectorService.java
@@ -20,7 +20,7 @@ import org.eclipse.rse.core.subsystems.ICredentialsProvider;
public class TestSubSystemConnectorService extends AbstractConnectorService {
private boolean connected = false;
- private ICredentialsProvider credentialsProvider = new BasicCredentialsProvider();
+ private ICredentialsProvider credentialsProvider = new BasicCredentialsProvider(this);
/**
* Constructor.

Back to the top