Author: rob.stryker(a)jboss.com
Date: 2012-02-10 04:14:33 -0500 (Fri, 10 Feb 2012)
New Revision: 38589
Modified:
trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/preferencevalue/StringsPreferenceValue.java
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/core/behaviour/ExpressServerUtils.java
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/core/console/UserModel.java
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/OpenShiftUIActivator.java
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/behaviour/ExpressBinaryUI.java
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/behaviour/ExpressDetailsComposite.java
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/behaviour/ExpressDetailsSection.java
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/behaviour/ExpressWizardFragment.java
Log:
adding loading and saving of users and the password api
Modified:
trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/preferencevalue/StringsPreferenceValue.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/preferencevalue/StringsPreferenceValue.java 2012-02-10
08:29:21 UTC (rev 38588)
+++
trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/preferencevalue/StringsPreferenceValue.java 2012-02-10
09:14:33 UTC (rev 38589)
@@ -165,9 +165,9 @@
* value in the given array at index x) and stores the preferences.
*/
public void store(String[] newValues) {
- String[] currentValues = get();
- overrideValues(newValues, currentValues);
- doStore(concatenate(currentValues));
+ //String[] currentValues = get();
+ //overrideValues(newValues, currentValues);
+ doStore(concatenate(newValues));
}
public void store() {
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/core/behaviour/ExpressServerUtils.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/core/behaviour/ExpressServerUtils.java 2012-02-10
08:29:21 UTC (rev 38588)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/core/behaviour/ExpressServerUtils.java 2012-02-10
09:14:33 UTC (rev 38589)
@@ -27,6 +27,7 @@
import org.jboss.ide.eclipse.as.core.util.ServerConverter;
import org.jboss.ide.eclipse.as.core.util.ServerCreationUtils;
import org.jboss.ide.eclipse.as.core.util.ServerUtil;
+import org.jboss.tools.openshift.express.internal.core.console.UserModel;
import com.openshift.express.client.IApplication;
import com.openshift.express.client.IUser;
@@ -49,7 +50,7 @@
public static final String ATTRIBUTE_DOMAIN =
"org.jboss.tools.openshift.express.internal.core.behaviour.Domain";
public static final String ATTRIBUTE_USERNAME =
"org.jboss.tools.openshift.express.internal.core.behaviour.Username";
// Legacy, not to be used
- public static final String ATTRIBUTE_PASSWORD =
"org.jboss.tools.openshift.express.internal.core.behaviour.Password";
+ //public static final String ATTRIBUTE_PASSWORD =
"org.jboss.tools.openshift.express.internal.core.behaviour.Password";
public static final String ATTRIBUTE_REMOTE_NAME =
"org.jboss.tools.openshift.express.internal.core.behaviour.RemoteName";
public static final String ATTRIBUTE_REMOTE_NAME_DEFAULT = "origin";
@@ -128,24 +129,30 @@
return wc.save(false, new NullProgressMonitor());
}
- public static String getExpressPassword(IServerWorkingCopy server ) {
- return getExpressPassword(server.getOriginal());
- }
+// public static String getExpressPassword(IServerWorkingCopy server ) {
+// String username = getExpressUsername(server);
+// return UserModel.getDefault().getPasswordFromSecureStorage(username);
+// }
+//
+// public static String getExpressPassword(IServer server ) {
+// String username = getExpressUsername(server);
+// return UserModel.getDefault().getPasswordFromSecureStorage(username);
+//
+// // Can safely delete this if we have no need for backwards compat currently
+//// if( server == null )
+//// return null;
+//// String s = ServerUtil.getFromSecureStorage(server,
ExpressServerUtils.ATTRIBUTE_PASSWORD);
+//// if( s == null )
+//// return server.getAttribute(ExpressServerUtils.ATTRIBUTE_PASSWORD, (String)null);
+//// return s;
+// }
+//
+// public static void setExpressPassword(IServerAttributes server, String val) throws
CoreException {
+// String username = getExpressUsername(server);
+// UserModel.getDefault().setPasswordInSecureStorage(username, val);
+// }
- public static String getExpressPassword(IServer server ) {
- if( server == null )
- return null;
- String s = ServerUtil.getFromSecureStorage(server,
ExpressServerUtils.ATTRIBUTE_PASSWORD);
- if( s == null )
- return server.getAttribute(ExpressServerUtils.ATTRIBUTE_PASSWORD, (String)null);
- return s;
- }
- public static void setExpressPassword(IServerAttributes server, String val) throws
CoreException {
- ServerUtil.storeInSecureStorage(server, ExpressServerUtils.ATTRIBUTE_PASSWORD, val);
- }
-
-
public static boolean getIgnoresContextRoot(IServerAttributes server) {
return server.getAttribute(PREFERENCE_IGNORE_CONTEXT_ROOT, true);
}
@@ -239,7 +246,7 @@
ServerWorkingCopy wc = (ServerWorkingCopy)server.createWorkingCopy();
fillServerWithOpenShiftDetails(wc, host, username, domain, appName, appId, mode,
remoteName);
IServer saved = wc.save(true, new NullProgressMonitor());
- ExpressServerUtils.setExpressPassword(wc, password);
+// ExpressServerUtils.setExpressPassword(wc, password);
return saved;
}
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/core/console/UserModel.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/core/console/UserModel.java 2012-02-10
08:29:21 UTC (rev 38588)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/core/console/UserModel.java 2012-02-10
09:14:33 UTC (rev 38589)
@@ -13,8 +13,11 @@
import java.io.IOException;
import java.util.Collection;
import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Set;
import org.jboss.tools.common.ui.preferencevalue.StringPreferenceValue;
+import org.jboss.tools.common.ui.preferencevalue.StringsPreferenceValue;
import org.jboss.tools.openshift.express.internal.ui.OpenShiftUIActivator;
import org.jboss.tools.openshift.express.internal.ui.utils.Logger;
import org.jboss.tools.openshift.express.internal.ui.utils.OpenShiftPasswordStorageKey;
@@ -32,13 +35,16 @@
if( model == null )
model = new UserModel();
return model;
- }
+ }
-
/** The most recent user connected on OpenShift. */
private IUser recentUser = null;
private HashMap<String, IUser> allUsers = new HashMap<String,IUser>();
+ public UserModel() {
+ load();
+ }
+
/**
* Create a user for temporary external use
*
@@ -93,25 +99,52 @@
* Load the user list from preferences and secure storage
*/
public void load() {
- // TODO
+ StringsPreferenceValue pref = new StringsPreferenceValue('|',
RHLOGIN_LIST_PREFS_KEY, OpenShiftUIActivator.PLUGIN_ID);
+ String[] users = pref.get();
+ for( int i = 0; i < users.length; i++ ) {
+ try {
+ String password = getPasswordFromSecureStorage(users[i]);
+ IUser u = createUser(users[i], password);
+ addUser(u);
+ } catch(OpenShiftException ose ) {
+ // TODO
+ } catch( IOException ioe) {
+ // TODO
+ }
+ }
}
/**
* Save the user list to preferences and secure storage
*/
public void save() {
- // TODO
- // save the passwords in secure storage, save the username list somewhere else
+ // passwords are already in secure storage, save the username list somewhere else
+ Set<String> set = allUsers.keySet();
+ String[] userList = (String[]) set.toArray(new String[set.size()]);
+ StringsPreferenceValue pref = new StringsPreferenceValue('|',
RHLOGIN_LIST_PREFS_KEY, OpenShiftUIActivator.PLUGIN_ID);
+ pref.store(userList);
+
+ Iterator<IUser> i = allUsers.values().iterator();
+ IUser tmp;
+ while(i.hasNext()) {
+ tmp = i.next();
+ try {
+ setPasswordInSecureStorage(tmp.getRhlogin(), tmp.getPassword());
+ } catch(OpenShiftException ose ) {
+ // TODO log
+ }
+ }
}
- private static final String RHLOGIN_PREFS_KEY =
"org.jboss.tools.openshift.express.internal.ui.wizard.CredentialsWizardModel_RHLOGIN";
+ private static final String RECENT_RHLOGIN_PREFS_KEY =
"org.jboss.tools.openshift.express.internal.ui.wizard.CredentialsWizardModel_RHLOGIN";
+ private static final String RHLOGIN_LIST_PREFS_KEY =
"org.jboss.tools.openshift.express.internal.ui.wizard.CredentialsWizardModel_RHLOGIN_LIST";
/**
* Get the username stored in preferences as most recently used
* @return
*/
public String getDefaultUsername() {
- StringPreferenceValue pref = new StringPreferenceValue(RHLOGIN_PREFS_KEY,
OpenShiftUIActivator.PLUGIN_ID);
+ StringPreferenceValue pref = new StringPreferenceValue(RECENT_RHLOGIN_PREFS_KEY,
OpenShiftUIActivator.PLUGIN_ID);
String rhLogin = null;
rhLogin = pref.get();
if (rhLogin == null || rhLogin.length() == 0) {
@@ -131,7 +164,7 @@
*/
public boolean setDefaultUsername(String rhLogin) {
String prev = getDefaultUsername();
- StringPreferenceValue preference = new StringPreferenceValue(RHLOGIN_PREFS_KEY,
OpenShiftUIActivator.PLUGIN_ID);
+ StringPreferenceValue preference = new StringPreferenceValue(RECENT_RHLOGIN_PREFS_KEY,
OpenShiftUIActivator.PLUGIN_ID);
if (rhLogin != null && !rhLogin.equals(prev)) {
preference.store(rhLogin);
return true;
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/OpenShiftUIActivator.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/OpenShiftUIActivator.java 2012-02-10
08:29:21 UTC (rev 38588)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/OpenShiftUIActivator.java 2012-02-10
09:14:33 UTC (rev 38589)
@@ -17,7 +17,6 @@
import com.openshift.express.client.IUser;
import com.openshift.express.client.OpenShiftException;
-import com.openshift.express.client.User;
/**
* The activator class controls the plug-in life cycle
@@ -56,6 +55,7 @@
* )
*/
public void stop(BundleContext context) throws Exception {
+ UserModel.getDefault().save();
plugin = null;
super.stop(context);
}
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/behaviour/ExpressBinaryUI.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/behaviour/ExpressBinaryUI.java 2012-02-10
08:29:21 UTC (rev 38588)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/behaviour/ExpressBinaryUI.java 2012-02-10
09:14:33 UTC (rev 38589)
@@ -75,7 +75,6 @@
@Override
public void performFinish(IProgressMonitor monitor) throws CoreException {
- ExpressServerUtils.setExpressPassword(wrapped.getServer(), composite.getPassword());
}
}
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/behaviour/ExpressDetailsComposite.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/behaviour/ExpressDetailsComposite.java 2012-02-10
08:29:21 UTC (rev 38588)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/behaviour/ExpressDetailsComposite.java 2012-02-10
09:14:33 UTC (rev 38589)
@@ -38,7 +38,6 @@
import org.eclipse.swt.widgets.Text;
import org.eclipse.wst.server.core.IServerWorkingCopy;
import org.jboss.ide.eclipse.as.core.server.IDeployableServer;
-import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
import org.jboss.ide.eclipse.as.ui.Messages;
import org.jboss.ide.eclipse.as.ui.editor.IDeploymentTypeUI.IServerModeUICallback;
import org.jboss.ide.eclipse.as.ui.editor.ServerWorkingCopyPropertyComboCommand;
@@ -63,8 +62,10 @@
protected IServerModeUICallback callback;
private ModifyListener nameModifyListener, remoteModifyListener,
- passModifyListener, appModifyListener, deployProjectModifyListener;
- protected Text userText, passText, remoteText;
+ appModifyListener, deployProjectModifyListener;
+// private ModifyListener passModifyListener;
+ protected Text userText, remoteText;
+// protected Text passText;
protected Combo appNameCombo, deployProjectCombo;
protected Button verifyButton;
protected boolean showVerify;
@@ -100,8 +101,8 @@
userText = new Text(composite, SWT.SINGLE | SWT.BORDER);
GridDataFactory.fillDefaults().hint(150, SWT.DEFAULT).applyTo(userText);
Label passLabel = new Label(composite, SWT.NONE);
- passText = new Text(composite, SWT.PASSWORD | SWT.BORDER);
- GridDataFactory.fillDefaults().hint(150, SWT.DEFAULT).applyTo(passText);
+// passText = new Text(composite, SWT.PASSWORD | SWT.BORDER);
+// GridDataFactory.fillDefaults().hint(150, SWT.DEFAULT).applyTo(passText);
if( mode.equals(ExpressServerUtils.EXPRESS_SOURCE_MODE) ) {
Label appNameLabel = new Label(composite, SWT.NONE);
@@ -133,10 +134,9 @@
remoteText.setText(IOpenShiftWizardModel.NEW_PROJECT_REMOTE_NAME_DEFAULT);
String n = ExpressServerUtils.getExpressUsername(server);
- String p = ExpressServerUtils.getExpressPassword(server.getOriginal());
String remote = ExpressServerUtils.getExpressRemoteName(server);
if( n != null ) userText.setText(n);
- if( p != null ) passText.setText(p);
+// if( p != null ) passText.setText(p);
if( remote != null ) remoteText.setText(remote);
if( showVerify ) {
@@ -174,13 +174,13 @@
};
userText.addModifyListener(nameModifyListener);
- passModifyListener = new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- //pass = passText.getText();
- callback.execute(new SetPassCommand(server));
- }
- };
- passText.addModifyListener(passModifyListener);
+// passModifyListener = new ModifyListener() {
+// public void modifyText(ModifyEvent e) {
+// //pass = passText.getText();
+// callback.execute(new SetPassCommand(server));
+// }
+// };
+// passText.addModifyListener(passModifyListener);
remoteModifyListener = new ModifyListener() {
public void modifyText(ModifyEvent e) {
@@ -283,24 +283,24 @@
}
}
- public class SetPassCommand extends ServerWorkingCopyPropertyCommand {
- public SetPassCommand(IServerWorkingCopy server) {
- super(server, Messages.EditorChangePasswordCommandName, passText, passText.getText(),
- IJBossToolingConstants.SERVER_PASSWORD, passModifyListener);
- oldVal = passText.getText();
- }
-
- public void execute() {
- pass = newVal;
- }
-
- public void undo() {
- pass = oldVal;
- text.removeModifyListener(listener);
- text.setText(oldVal);
- text.addModifyListener(listener);
- }
- }
+// public class SetPassCommand extends ServerWorkingCopyPropertyCommand {
+// public SetPassCommand(IServerWorkingCopy server) {
+// super(server, Messages.EditorChangePasswordCommandName, passText,
passText.getText(),
+// IJBossToolingConstants.SERVER_PASSWORD, passModifyListener);
+// oldVal = passText.getText();
+// }
+//
+// public void execute() {
+// pass = newVal;
+// }
+//
+// public void undo() {
+// pass = oldVal;
+// text.removeModifyListener(listener);
+// text.setText(oldVal);
+// text.addModifyListener(listener);
+// }
+// }
private Runnable getVerifyingCredentialsJob(final CredentialsWizardPageModel model) {
return new Runnable() {
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/behaviour/ExpressDetailsSection.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/behaviour/ExpressDetailsSection.java 2012-02-10
08:29:21 UTC (rev 38588)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/behaviour/ExpressDetailsSection.java 2012-02-10
09:14:33 UTC (rev 38589)
@@ -10,7 +10,6 @@
*******************************************************************************/
package org.jboss.tools.openshift.express.internal.ui.behaviour;
-import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
@@ -55,12 +54,12 @@
* @param monitor the progress monitor for the save operation.
*/
public void doSave(IProgressMonitor monitor) {
- try {
- ExpressServerUtils.setExpressPassword(server.getOriginal(), details.getPassword());
- monitor.worked(100);
- } catch( CoreException ce ) {
- // TODO
- }
+// try {
+// ExpressServerUtils.setExpressPassword(server.getOriginal(), details.getPassword());
+// monitor.worked(100);
+// } catch( CoreException ce ) {
+// // TODO
+// }
}
}
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/behaviour/ExpressWizardFragment.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/behaviour/ExpressWizardFragment.java 2012-02-10
08:29:21 UTC (rev 38588)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/behaviour/ExpressWizardFragment.java 2012-02-10
09:14:33 UTC (rev 38589)
@@ -65,6 +65,7 @@
}
public void performFinish(IProgressMonitor monitor) throws CoreException {
- ExpressServerUtils.setExpressPassword(callback.getServer(), composite.getPassword());
+ super.performFinish(monitor);
+// ExpressServerUtils.setExpressPassword(callback.getServer(),
composite.getPassword());
}
}