Author: adietish
Date: 2011-04-06 05:55:34 -0400 (Wed, 06 Apr 2011)
New Revision: 30357
Removed:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/preferences/IPreferenceKeys.java
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/META-INF/MANIFEST.MF
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/IDeltaCloudPreferenceConstants.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnection.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPage.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPageModel.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/EditCloudConnectionWizard.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewCloudConnectionWizard.java
Log:
[JBIDE-8599] storing & restoring last used value
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/META-INF/MANIFEST.MF
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/META-INF/MANIFEST.MF 2011-04-06
09:54:26 UTC (rev 30356)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/META-INF/MANIFEST.MF 2011-04-06
09:55:34 UTC (rev 30357)
@@ -29,5 +29,4 @@
Export-Package: org.jboss.tools.deltacloud.ui,
org.jboss.tools.deltacloud.ui.preferences,
org.jboss.tools.deltacloud.ui.wizard,
-
org.jboss.tools.internal.deltacloud.ui.preferences;x-friends:="org.jboss.tools.deltacloud.test",
org.jboss.tools.internal.deltacloud.ui.utils
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/IDeltaCloudPreferenceConstants.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/IDeltaCloudPreferenceConstants.java 2011-04-06
09:54:26 UTC (rev 30356)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/IDeltaCloudPreferenceConstants.java 2011-04-06
09:55:34 UTC (rev 30357)
@@ -18,6 +18,10 @@
public static final String LAST_EC2_KEYNAME = "last_ec2_keyname";
//$NON-NLS-1$
public static final String DEFAULT_KEY_DIR = "default_key_directory";
//$NON-NLS-1$
+ public static final String LAST_NAME =
"org.jboss.tools.internal.deltacloud.ui.wizards.LAST_NAME";
+ public static final String LAST_URL =
"org.jboss.tools.internal.deltacloud.ui.wizards.LAST_CREATED_URL";
+ public static final String LAST_USERNAME =
"org.jboss.tools.internal.deltacloud.ui.wizards.LAST_USERNAME";
+
public static final String CLOUD_NAME_PROPOSAL_KEY =
"cloud_name";//$NON-NLS-1$
public static final String CLOUD_USERNAME_PROPOSAL_KEY =
"cloud_username";//$NON-NLS-1$
public static final String CLOUD_URL_PROPOSAL_KEY = "cloud_url";//$NON-NLS-1$
Deleted:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/preferences/IPreferenceKeys.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/preferences/IPreferenceKeys.java 2011-04-06
09:54:26 UTC (rev 30356)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/preferences/IPreferenceKeys.java 2011-04-06
09:55:34 UTC (rev 30357)
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is 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:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.internal.deltacloud.ui.preferences;
-
-public class IPreferenceKeys {
-
- public static final String LAST_URL =
"org.jboss.tools.internal.deltacloud.ui.wizards.LAST_CREATED_URL";
-
-}
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnection.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnection.java 2011-04-06
09:54:26 UTC (rev 30356)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnection.java 2011-04-06
09:55:34 UTC (rev 30357)
@@ -10,11 +10,15 @@
******************************************************************************/
package org.jboss.tools.internal.deltacloud.ui.wizards;
+import org.jboss.tools.deltacloud.core.DeltaCloud;
+
/**
* @author Jeff Johnston
+ * @author André Dietisheim
*/
public interface CloudConnection {
public boolean performTest();
+ public DeltaCloud getDeltaCloud();
}
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPage.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPage.java 2011-04-06
09:54:26 UTC (rev 30356)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPage.java 2011-04-06
09:55:34 UTC (rev 30357)
@@ -67,7 +67,6 @@
import
org.jboss.tools.internal.deltacloud.ui.common.databinding.validator.CompositeValidator;
import
org.jboss.tools.internal.deltacloud.ui.common.databinding.validator.MandatoryStringValidator;
import org.jboss.tools.internal.deltacloud.ui.common.swt.JFaceUtils;
-import org.jboss.tools.internal.deltacloud.ui.preferences.IPreferenceKeys;
import org.jboss.tools.internal.deltacloud.ui.utils.ControlDecorationAdapter;
import org.jboss.tools.internal.deltacloud.ui.utils.DataBindingUtils;
import org.jboss.tools.internal.deltacloud.ui.utils.UIUtils;
@@ -237,16 +236,23 @@
@Override
public IStatus validate(Object value) {
String connectionName = (String) value;
- /*
- * keeping the same name when editing must be valid
- */
+
try {
- if (!connectionName.equals(connectionModel.getInitialName())
- /* all new names must be unique */
- && DeltaCloudManager.getDefault().findCloud(connectionName) != null) {
- return ValidationStatus
- .error(WizardMessages.getString(NAME_ALREADY_IN_USE));
+ /* DeltaCloud names must be unique, but
+ * keeping the same name when editing must be valid
+ */
+ DeltaCloud deltaCloud = DeltaCloudManager.getDefault().findCloud(connectionName);
+ if (cloudConnection.getDeltaCloud() == null) {
+ if (deltaCloud == null) {
+ return ValidationStatus.ok();
+ }
+ } else {
+ if (cloudConnection.getDeltaCloud().equals(deltaCloud)) {
+ return ValidationStatus.ok();
+ }
}
+ return ValidationStatus
+ .error(WizardMessages.getString(NAME_ALREADY_IN_USE));
} catch (DeltaCloudException e) {
// do nothing
}
@@ -276,7 +282,11 @@
setDescription(WizardMessages.getString(DESCRIPTION));
setTitle(WizardMessages.getString(TITLE));
setImageDescriptor(SWTImagesFactory.DESC_DELTA_LARGE);
- this.connectionModel = new CloudConnectionPageModel();
+ this.connectionModel = new CloudConnectionPageModel(
+ new StringPreferenceValue(IDeltaCloudPreferenceConstants.LAST_NAME,
Activator.PLUGIN_ID).get(null),
+ new StringPreferenceValue(IDeltaCloudPreferenceConstants.LAST_URL,
Activator.PLUGIN_ID).get(null),
+ new StringPreferenceValue(IDeltaCloudPreferenceConstants.LAST_USERNAME,
Activator.PLUGIN_ID).get(null),
+ null);
this.cloudConnection = cloudConnection;
}
@@ -350,7 +360,7 @@
// set url from preferences
String url =
- new StringPreferenceValue(IPreferenceKeys.LAST_URL,
Activator.PLUGIN_ID).get(urlText.getText());
+ new StringPreferenceValue(IDeltaCloudPreferenceConstants.LAST_URL,
Activator.PLUGIN_ID).get(urlText.getText());
urlText.setText(url);
// username
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPageModel.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPageModel.java 2011-04-06
09:54:26 UTC (rev 30356)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPageModel.java 2011-04-06
09:55:34 UTC (rev 30357)
@@ -10,7 +10,7 @@
******************************************************************************/
package org.jboss.tools.internal.deltacloud.ui.wizards;
-import java.net.MalformedURLException;
+import java.net.URI;
import java.text.MessageFormat;
import org.eclipse.core.runtime.IProgressMonitor;
@@ -47,32 +47,39 @@
private DeltaCloudDriver driver;
private String initialName;
- public CloudConnectionPageModel() {
- this("", "", "", "",
DeltaCloudDriver.UNKNOWN);
- }
-
- public CloudConnectionPageModel(String name, String url, String username, String
password)
- throws MalformedURLException {
+ public CloudConnectionPageModel(String name, String url, String username, String
password) {
this(name, url, username, password, DeltaCloudDriver.UNKNOWN);
}
public CloudConnectionPageModel(String name, String url, String username, String
password, DeltaCloudDriver driver) {
this.name = name;
this.initialName = name;
- this.url = prependHttp(url);
+ setUrl(prependHttp(url));
this.username = username;
this.password = password;
- // this.driver = driver;
setDriverByUrl(url);
}
private String prependHttp(String url) {
- if (url == null || url.length() == 0) {
+ if (!startsWithScheme(url)) {
return HTTP_PREFIX + url;
} else {
- return url;
+ return url;
}
}
+
+ private boolean startsWithScheme(String url) {
+ if (url == null || url.length() == 0) {
+ return false;
+ } else {
+ try {
+ String scheme = URI.create(url).getScheme();
+ return scheme != null && scheme.length() > 0;
+ } catch (IllegalArgumentException e ) {
+ return false;
+ }
+ }
+ }
public String getUsername() {
return username;
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/EditCloudConnectionWizard.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/EditCloudConnectionWizard.java 2011-04-06
09:54:26 UTC (rev 30356)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/EditCloudConnectionWizard.java 2011-04-06
09:55:34 UTC (rev 30357)
@@ -19,6 +19,9 @@
import org.jboss.tools.deltacloud.core.DeltaCloud;
import org.jboss.tools.deltacloud.core.DeltaCloudDriver;
import org.jboss.tools.deltacloud.core.job.AbstractCloudJob;
+import org.jboss.tools.deltacloud.ui.Activator;
+import org.jboss.tools.deltacloud.ui.IDeltaCloudPreferenceConstants;
+import org.jboss.tools.deltacloud.ui.preferences.StringPreferenceValue;
import org.jboss.tools.internal.deltacloud.ui.utils.WizardUtils;
/**
@@ -41,18 +44,24 @@
@Override
public boolean performFinish() {
String name = mainPage.getConnectionName();
+ new StringPreferenceValue(IDeltaCloudPreferenceConstants.LAST_NAME,
Activator.PLUGIN_ID)
+ .store(name);
String url = mainPage.getUrl();
+ new StringPreferenceValue(IDeltaCloudPreferenceConstants.LAST_URL,
Activator.PLUGIN_ID)
+ .store(url);
String username = mainPage.getUsername();
+ new StringPreferenceValue(IDeltaCloudPreferenceConstants.LAST_USERNAME,
Activator.PLUGIN_ID)
+ .store(username);
String password = mainPage.getPassword();
DeltaCloudDriver driver = mainPage.getDriver();
return editCloud(initialCloud, name, url, username, password, driver);
}
-
private boolean editCloud(final DeltaCloud cloud, final String name, final String url,
final String username,
final String password, final DeltaCloudDriver driver) {
try {
- Job job = new
AbstractCloudJob(WizardMessages.getFormattedString("EditCloudConnection.message",
cloud.getName()), cloud) {
+ Job job = new
AbstractCloudJob(WizardMessages.getFormattedString("EditCloudConnection.message",
+ cloud.getName()), cloud) {
@Override
protected IStatus doRun(IProgressMonitor monitor) throws Exception {
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewCloudConnectionWizard.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewCloudConnectionWizard.java 2011-04-06
09:54:26 UTC (rev 30356)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewCloudConnectionWizard.java 2011-04-06
09:55:34 UTC (rev 30357)
@@ -25,8 +25,8 @@
import org.jboss.tools.deltacloud.core.DeltaCloudManager;
import org.jboss.tools.deltacloud.ui.Activator;
import org.jboss.tools.deltacloud.ui.ErrorUtils;
+import org.jboss.tools.deltacloud.ui.IDeltaCloudPreferenceConstants;
import org.jboss.tools.deltacloud.ui.preferences.StringPreferenceValue;
-import org.jboss.tools.internal.deltacloud.ui.preferences.IPreferenceKeys;
import org.jboss.tools.internal.deltacloud.ui.utils.WizardUtils;
/**
@@ -96,7 +96,7 @@
return newCloud.testCredentials();
} catch (DeltaCloudException e) {
ErrorUtils.handleErrorAsync(WizardMessages.getString("CloudConnectionAuthError.title"),
- WizardMessages.getFormattedString("CloudConnectionAuthError.message",
url), e, getShell());
+ WizardMessages.getFormattedString("CloudConnectionAuthError.message",
url), e, getShell());
return false;
}
}
@@ -109,12 +109,17 @@
@Override
public boolean performFinish() {
final String name = mainPage.getConnectionName();
+ new StringPreferenceValue(IDeltaCloudPreferenceConstants.LAST_NAME,
Activator.PLUGIN_ID)
+ .store(name);
+
final String url = mainPage.getUrl();
-
- new StringPreferenceValue(IPreferenceKeys.LAST_URL, Activator.PLUGIN_ID)
+ new StringPreferenceValue(IDeltaCloudPreferenceConstants.LAST_URL,
Activator.PLUGIN_ID)
.store(url);
final String username = mainPage.getUsername();
+ new StringPreferenceValue(IDeltaCloudPreferenceConstants.LAST_USERNAME,
Activator.PLUGIN_ID)
+ .store(username);
+
final String password = mainPage.getPassword();
final DeltaCloudDriver driver = mainPage.getDriver();
@@ -122,7 +127,7 @@
}
private boolean createCloud(final String name, final String url, final String username,
final String password,
- final DeltaCloudDriver driver) {
+ final DeltaCloudDriver driver) {
Job job = new Job(WizardMessages.getFormattedString("CloudConnection.msg",
name)) {
@Override
@@ -146,4 +151,8 @@
return false;
}
}
+
+ public DeltaCloud getDeltaCloud() {
+ return initialCloud;
+ }
}