[jbosstools-commits] JBoss Tools SVN: r41419 - in trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal: ui/viewer and 1 other directories.
jbosstools-commits at lists.jboss.org
jbosstools-commits at lists.jboss.org
Fri May 25 09:42:23 EDT 2012
Author: rob.stryker at jboss.com
Date: 2012-05-25 09:42:22 -0400 (Fri, 25 May 2012)
New Revision: 41419
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/core/console/UserDelegate.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/viewer/ConnectToOpenShiftWizard.java
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/CredentialsWizardPage.java
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/CredentialsWizardPageModel.java
Log:
JBIDE-12008
Modified: trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/core/console/UserDelegate.java
===================================================================
--- trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/core/console/UserDelegate.java 2012-05-25 13:16:50 UTC (rev 41418)
+++ trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/core/console/UserDelegate.java 2012-05-25 13:42:22 UTC (rev 41419)
@@ -10,6 +10,7 @@
******************************************************************************/
package org.jboss.tools.openshift.express.internal.core.console;
+import java.net.SocketTimeoutException;
import java.util.List;
import org.eclipse.jface.window.Window;
@@ -99,31 +100,60 @@
*/
public boolean checkForPassword() {
if(delegate == null) {
- try {
- this.alreadyPromptedForPassword = true;
- Display.getDefault().syncExec(new Runnable() { public void run() {
- final IWorkbenchWindow activeWorkbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- final Shell shell = activeWorkbenchWindow != null ? activeWorkbenchWindow.getShell() : null;
- if(shell == null) {
- Logger.error("Could not open Credentials Wizard: no shell available");
- return;
- }
- final IWizard connectToOpenShiftWizard = new ConnectToOpenShiftWizard();
- int returnCode = WizardUtils.openWizardDialog(connectToOpenShiftWizard, shell);
- if (returnCode == Window.OK) {
- Logger.debug("OpenShift Auth succeeded.");
- setDelegate(UserModel.getDefault().getRecentUser().getDelegate());
+ if( username != null && password != null ) {
+ if( checkCurrentCredentials() )
+ return true;
+ }
+ return promptForCredentials();
+ }
+ return true;
+ }
+
+ private boolean checkCurrentCredentials() {
+ // First check if the current username / pw work
+ IUser user = null;
+ try {
+ user = UserModel.getDefault().createUser(username, password);
+ setDelegate(user);
+ setConnected(true);
+ return true;
+ } catch( OpenShiftException ose ) {
+ // ignore
+ } catch( SocketTimeoutException ste ) {
+ // ignore
+ }
+ return false;
+ }
+
+ private boolean promptForCredentials() {
+ // The auto-login failed. Try to prompt
+ try {
+ this.alreadyPromptedForPassword = true;
+ Display.getDefault().syncExec(new Runnable() { public void run() {
+ final IWorkbenchWindow activeWorkbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+ final Shell shell = activeWorkbenchWindow != null ? activeWorkbenchWindow.getShell() : null;
+ if(shell == null) {
+ Logger.error("Could not open Credentials Wizard: no shell available");
+ return;
+ }
+ final ConnectToOpenShiftWizard connectToOpenShiftWizard = new ConnectToOpenShiftWizard();
+ int returnCode = WizardUtils.openWizardDialog(connectToOpenShiftWizard, shell);
+ if (returnCode == Window.OK) {
+ Logger.debug("OpenShift Auth succeeded.");
+ UserDelegate created = connectToOpenShiftWizard.getUser();
+ if( created != null ) {
+ setDelegate(created.getDelegate());
setConnected(true);
- setRememberPassword(UserModel.getDefault().getRecentUser().isRememberPassword());
- } else {
- setConnected(false);
+ setRememberPassword(created.isRememberPassword());
}
- }});
- } catch( Exception e ) {
- Logger.error("Failed to retrieve User's password", e);
- }
+ } else {
+ setConnected(false);
+ }
+ }});
+ } catch( Exception e ) {
+ Logger.error("Failed to retrieve User's password", e);
}
- return (delegate != null);
+ return delegate != null;
}
public IApplication createApplication(final String applicationName, final ICartridge applicationType, final ApplicationScale scale, final IGearProfile gearProfile)
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-05-25 13:16:50 UTC (rev 41418)
+++ trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/core/console/UserModel.java 2012-05-25 13:42:22 UTC (rev 41419)
@@ -62,8 +62,11 @@
}
/**
- * Create a user for temporary external use
+ * Create a user for temporary external use.
*
+ * This method WILL be long-running and should not be called directly
+ * from the UI thread unless proper care is taken.
+ *
* @param username
* @param password
* @return
@@ -144,13 +147,7 @@
String[] users = pref.get();
for (int i = 0; i < users.length; i++) {
String password = getPasswordFromSecureStorage(users[i]);
- try {
- addUser(new UserDelegate(createUser(users[i], password), true));
- } catch (OpenShiftException e) {
- addUser(new UserDelegate(users[i], password));
- } catch (SocketTimeoutException e) {
- addUser(new UserDelegate(users[i], password));
- }
+ addUser(new UserDelegate(users[i], password));
}
}
Modified: trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/viewer/ConnectToOpenShiftWizard.java
===================================================================
--- trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/viewer/ConnectToOpenShiftWizard.java 2012-05-25 13:16:50 UTC (rev 41418)
+++ trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/viewer/ConnectToOpenShiftWizard.java 2012-05-25 13:42:22 UTC (rev 41419)
@@ -11,8 +11,10 @@
package org.jboss.tools.openshift.express.internal.ui.viewer;
import org.eclipse.jface.wizard.Wizard;
+import org.jboss.tools.openshift.express.internal.core.console.UserDelegate;
import org.jboss.tools.openshift.express.internal.ui.wizard.ConnectToOpenShiftWizardModel;
import org.jboss.tools.openshift.express.internal.ui.wizard.CredentialsWizardPage;
+import org.w3c.dom.UserDataHandler;
/**
* @author Xavier Coulon
@@ -37,4 +39,8 @@
public void addPages() {
addPage(page);
}
+
+ public UserDelegate getUser() {
+ return page.getUser();
+ }
}
Modified: trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/CredentialsWizardPage.java
===================================================================
--- trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/CredentialsWizardPage.java 2012-05-25 13:16:50 UTC (rev 41418)
+++ trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/CredentialsWizardPage.java 2012-05-25 13:42:22 UTC (rev 41419)
@@ -42,10 +42,12 @@
import org.jboss.tools.common.ui.DelegatingProgressMonitor;
import org.jboss.tools.common.ui.WizardUtils;
import org.jboss.tools.common.ui.databinding.ParametrizableWizardPageSupport;
+import org.jboss.tools.openshift.express.internal.core.console.UserDelegate;
import org.jboss.tools.openshift.express.internal.ui.OpenShiftUIActivator;
import org.jboss.tools.openshift.express.internal.ui.OpenshiftUIMessages;
import org.jboss.tools.openshift.express.internal.ui.utils.Logger;
import org.jboss.tools.openshift.express.internal.ui.utils.StringUtils;
+import org.w3c.dom.UserDataHandler;
/**
* @author Andre Dietisheim
@@ -242,4 +244,8 @@
return targets;
}
}
+
+ public UserDelegate getUser() {
+ return pageModel.getUser();
+ }
}
Modified: trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/CredentialsWizardPageModel.java
===================================================================
--- trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/CredentialsWizardPageModel.java 2012-05-25 13:16:50 UTC (rev 41418)
+++ trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/CredentialsWizardPageModel.java 2012-05-25 13:42:22 UTC (rev 41419)
@@ -217,5 +217,9 @@
erasePasswordStore();
}
}
+
+ public UserDelegate getUser() {
+ return wizardModel.getUser();
+ }
}
More information about the jbosstools-commits
mailing list