Author: adietish
Date: 2010-12-27 16:32:12 -0500 (Mon, 27 Dec 2010)
New Revision: 27756
Added:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPageModel.java
Removed:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionModel.java
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/ChangeLog
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloud.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/Driver.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/plugin.xml
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/DeltaCloudPropertyTester.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPage.java
Log:
[JBIDE-7864] added isValid property tester to offer "launch instance" on valid
clouds only
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/ChangeLog
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/ChangeLog 2010-12-27 19:55:00
UTC (rev 27755)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/ChangeLog 2010-12-27 21:32:12
UTC (rev 27756)
@@ -1,3 +1,8 @@
+2010-12-27 adietisheim <adietisheim@adietisheim-thinkpad>
+
+ * src/org/jboss/tools/deltacloud/core/DeltaCloud.java (isValid):
+ [JBIDE-7864] added isValid property tester to offer "launch instance" on valid
clouds only
+
2010-12-23 adietisheim <adietisheim@adietisheim-thinkpad>
* src/org/jboss/tools/deltacloud/core/job/AbstractCloudElementJob.java
(CLOUDELEMENT.KEYS):
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloud.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloud.java 2010-12-27
19:55:00 UTC (rev 27755)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloud.java 2010-12-27
21:32:12 UTC (rev 27756)
@@ -172,6 +172,11 @@
return driver;
}
+ public boolean isValid() {
+ return driver != null
+ && driver != Driver.UNKNOWN;
+ }
+
public String getLastImageId() {
return lastImageId;
}
@@ -428,7 +433,8 @@
return new DeltaCloudKey(key, this);
} catch (DeltaCloudClientException e) {
// TODO: internationalize strings
- throw new DeltaCloudException(MessageFormat.format("Could not get key
\"{0}\" from cloud \"{1}\"", keyId, getName()), e);
+ throw new DeltaCloudException(MessageFormat.format("Could not get key
\"{0}\" from cloud \"{1}\"", keyId,
+ getName()), e);
}
}
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/Driver.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/Driver.java 2010-12-27
19:55:00 UTC (rev 27755)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/Driver.java 2010-12-27
21:32:12 UTC (rev 27756)
@@ -42,5 +42,4 @@
}
return UNKNOWN;
}
-
}
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog 2010-12-27 19:55:00
UTC (rev 27755)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog 2010-12-27 21:32:12
UTC (rev 27756)
@@ -1,3 +1,12 @@
+2010-12-27 adietisheim <adietisheim@adietisheim-thinkpad>
+
+ * src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPage.java
(createControl):
+ * src/org/jboss/tools/deltacloud/ui/commands/DeltaCloudPropertyTester.java
+ (PROPERTY_IS_VALID):
+ (test):
+ (isValid):
+ [JBIDE-7864] added isValid property tester to offer "launch instance" on valid
clouds only
+
2010-12-27 adietisheim <adietish(a)redhat.com>
* META-INF/MANIFEST.MF:
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/plugin.xml
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/plugin.xml 2010-12-27 19:55:00
UTC (rev 27755)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/plugin.xml 2010-12-27 21:32:12
UTC (rev 27756)
@@ -289,7 +289,7 @@
<iterate operator="and">
<adapt
type="org.jboss.tools.deltacloud.core.DeltaCloud">
- <test property="org.jboss.tools.deltacloud.ui.commands.hasImages"
+ <test property="org.jboss.tools.deltacloud.ui.commands.isValid"
value="true"/>
</adapt>
</iterate>
@@ -782,7 +782,7 @@
class="org.jboss.tools.deltacloud.ui.commands.DeltaCloudPropertyTester"
id="org.jboss.tools.deltacloud.ui.commands.cloudpropertytester"
namespace="org.jboss.tools.deltacloud.ui.commands"
- properties="hasImages"
+ properties="hasImages,isValid"
type="org.jboss.tools.deltacloud.core.DeltaCloud">
</propertyTester>
</extension>
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/DeltaCloudPropertyTester.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/DeltaCloudPropertyTester.java 2010-12-27
19:55:00 UTC (rev 27755)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/DeltaCloudPropertyTester.java 2010-12-27
21:32:12 UTC (rev 27756)
@@ -26,6 +26,7 @@
public class DeltaCloudPropertyTester extends PropertyTester {
private static final String PROPERTY_HAS_IMAGES = "hasImages";
+ private static final String PROPERTY_IS_VALID = "isValid";
@Override
public boolean test(Object receiver, String property, Object[] args, Object
expectedValue) {
@@ -37,6 +38,11 @@
if (PROPERTY_HAS_IMAGES.equals(property)) {
return equalsExpectedValue(getImages(cloud), true);
}
+
+ if (PROPERTY_IS_VALID.equals(property)) {
+ return equalsExpectedValue(isValid(cloud), true);
+ }
+
return false;
}
@@ -54,4 +60,15 @@
return expectedBoolean.equals(images.length > 0);
}
+ private boolean isValid(DeltaCloud cloud) {
+ return cloud != null
+ && cloud.isValid();
+ }
+
+ private boolean equalsExpectedValue(boolean value, Object expectedValue) {
+ Assert.isTrue(expectedValue instanceof Boolean);
+ Boolean expectedBoolean = (Boolean) expectedValue;
+ return expectedBoolean.equals(value);
+ }
+
}
Deleted:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionModel.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionModel.java 2010-12-27
19:55:00 UTC (rev 27755)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionModel.java 2010-12-27
21:32:12 UTC (rev 27756)
@@ -1,101 +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.wizards;
-
-import java.net.MalformedURLException;
-
-import org.jboss.tools.deltacloud.core.Driver;
-import org.jboss.tools.internal.deltacloud.core.observable.ObservablePojo;
-
-/**
- * @author Andre Dietisheim
- */
-public class CloudConnectionModel extends ObservablePojo {
-
- public static final String PROPERTY_URL = "url"; //$NON-NLS-1$
- public static final String PROPERTY_NAME = "name"; //$NON-NLS-1$
- public static final String PROPERTY_PASSWORD = "password"; //$NON-NLS-1$
- public static final String PROPERTY_USERNAME = "username"; //$NON-NLS-1$
- public static final String PROPERTY_DRIVER = "type"; //$NON-NLS-1$
-
- public static final String UNKNOWN_TYPE_LABEL = "UnknownType.label";
//$NON-NLS-1$
- public static final String INVALID_URL = "ErrorInvalidURL.text";
//$NON-NLS-1$
- public static final String NONCLOUD_URL = "ErrorNonCloudURL.text";
//$NON-NLS-1$
-
- private String name;
- private String url;
- private String username;
-
- private String password;
- private Driver driver;
- private String initialName;
-
- public CloudConnectionModel() {
- this("", "", "", "", (Driver) null);
- }
-
- public CloudConnectionModel(String name, String url, String username, String password)
throws MalformedURLException {
- this(name, url, username, password, (Driver) null);
- }
-
- public CloudConnectionModel(String name, String url, String username, String password,
Driver cloudType) {
- this.name = name;
- this.initialName = name;
- this.url = url;
- this.username = username;
- this.password = password;
- this.driver = cloudType;
- }
-
- public String getUsername() {
- return username;
- }
-
- public void setUsername(String username) {
- getPropertyChangeSupport().firePropertyChange(PROPERTY_USERNAME, this.username,
this.username = username);
- }
-
- public String getPassword() {
- return password;
- }
-
- public void setPassword(String password) {
- getPropertyChangeSupport().firePropertyChange(PROPERTY_PASSWORD, this.password,
this.password = password);
- }
-
- public String getInitialName() {
- return initialName;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- getPropertyChangeSupport().firePropertyChange(PROPERTY_NAME, this.name, this.name =
name);
- }
-
- public String getUrl() {
- return url;
- }
-
- public void setUrl(String url) {
- getPropertyChangeSupport().firePropertyChange(PROPERTY_URL, this.url, this.url = url);
- }
-
- public Driver getDriver() {
- return driver;
- }
-
- public void setType(Driver cloudType) {
- getPropertyChangeSupport().firePropertyChange(PROPERTY_DRIVER, this.driver, this.driver
= cloudType);
- }
-}
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 2010-12-27
19:55:00 UTC (rev 27755)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPage.java 2010-12-27
21:32:12 UTC (rev 27756)
@@ -94,7 +94,7 @@
private static final String MUST_ENTER_A_NAME =
"ErrorMustNameConnection.text"; //$NON-NLS-1$
private static final String MUST_ENTER_A_URL = "ErrorMustProvideUrl.text";
//$NON-NLS-1$;
- private CloudConnectionModel connectionModel;
+ private CloudConnectionPageModel connectionModel;
private CloudConnection cloudConnection;
private Listener linkListener = new Listener() {
@@ -241,7 +241,7 @@
* name the connection had before editing.
*
* @see IValidator
- * @see CloudConnectionModel#getInitialName()
+ * @see CloudConnectionPageModel#getInitialName()
* @see DeltaCloudManager#findCloud(String)
*
*/
@@ -272,7 +272,7 @@
setDescription(WizardMessages.getString(DESCRIPTION));
setTitle(WizardMessages.getString(TITLE));
setImageDescriptor(SWTImagesFactory.DESC_DELTA_LARGE);
- this.connectionModel = new CloudConnectionModel();
+ this.connectionModel = new CloudConnectionPageModel();
this.cloudConnection = cloudConnection;
}
@@ -283,12 +283,11 @@
initial.getPassword(), initial.getDriver(), connection);
}
- public CloudConnectionPage(String pageName, String defaultName, String defaultUrl,
- String defaultUsername, String defaultPassword, Driver defaultDriver,
- CloudConnection cloudConnection) throws MalformedURLException {
+ public CloudConnectionPage(String pageName, String defaultName, String defaultUrl,
String defaultUsername,
+ String defaultPassword, Driver defaultDriver, CloudConnection cloudConnection) throws
MalformedURLException {
super(pageName);
- this.connectionModel = new CloudConnectionModel(defaultName, defaultUrl,
defaultUsername, defaultPassword,
- defaultDriver);
+ this.connectionModel =
+ new CloudConnectionPageModel(defaultName, defaultUrl, defaultUsername,
defaultPassword, defaultDriver);
this.cloudConnection = cloudConnection;
setDescription(WizardMessages.getString(DESCRIPTION));
setTitle(WizardMessages.getString(TITLE));
@@ -324,21 +323,22 @@
dbc.bindValue(
WidgetProperties.text(SWT.Modify).observe(urlText),
BeanProperties.value(
- CloudConnectionModel.class,
CloudConnectionModel.PROPERTY_URL).observe(connectionModel),
+ CloudConnectionPageModel.class,
CloudConnectionPageModel.PROPERTY_URL).observe(connectionModel),
new UpdateValueStrategy()
.setAfterGetValidator(new
MandatoryStringValidator(WizardMessages.getString(MUST_ENTER_A_URL))),
null);
- String url = new StringPreferenceValue(IPreferenceKeys.LAST_URL, Activator.PLUGIN_ID)
- .get(urlText.getText());
- urlText.setText(url);
-
// cloud type
Label typeLabel = new Label(container, SWT.NULL);
typeLabel.setText(WizardMessages.getString(CLOUDTYPE_LABEL));
Label computedTypeLabel = new Label(container, SWT.NULL);
Binding urlTypeBinding = bindCloudType(dbc, urlText, computedTypeLabel);
+ // set url from preferences
+ String url =
+ new StringPreferenceValue(IPreferenceKeys.LAST_URL,
Activator.PLUGIN_ID).get(urlText.getText());
+ urlText.setText(url);
+
// username
Label usernameLabel = new Label(container, SWT.NULL);
usernameLabel.setText(WizardMessages.getString(USERNAME_LABEL));
@@ -346,7 +346,7 @@
IObservableValue usernameObservable =
WidgetProperties.text(SWT.Modify).observe(usernameText);
dbc.bindValue(
usernameObservable,
- BeanProperties.value(CloudConnectionModel.class,
CloudConnectionModel.PROPERTY_USERNAME)
+ BeanProperties.value(CloudConnectionPageModel.class,
CloudConnectionPageModel.PROPERTY_USERNAME)
.observe(connectionModel));
// password
@@ -356,8 +356,9 @@
ISWTObservableValue passwordTextObservable =
WidgetProperties.text(SWT.Modify).observe(passwordText);
dbc.bindValue(
passwordTextObservable,
- BeanProperties.value(CloudConnectionModel.class,
CloudConnectionModel.PROPERTY_PASSWORD).observe(
- connectionModel));
+ BeanProperties.value(CloudConnectionPageModel.class,
CloudConnectionPageModel.PROPERTY_PASSWORD)
+ .observe(
+ connectionModel));
// test button
final Button testButton = new Button(container, SWT.NULL);
testButton.setText(WizardMessages.getString(TESTBUTTON_LABEL));
@@ -507,9 +508,8 @@
// bind url to cloud type in model
Binding urlTypeBinding = dbc.bindValue(
- WidgetProperties.text(SWT.Modify).observeDelayed(CLOUDTYPE_CHECK_DELAY,
- urlText),
- BeanProperties.value(CloudConnectionModel.PROPERTY_DRIVER).observe(connectionModel),
+ WidgetProperties.text(SWT.Modify).observeDelayed(CLOUDTYPE_CHECK_DELAY, urlText),
+ BeanProperties.value(CloudConnectionPageModel.PROPERTY_DRIVER).observe(connectionModel),
updateStrategy,
new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER));
/*
@@ -542,7 +542,7 @@
private void bindName(DataBindingContext dbc, final Text nameText) {
Binding nameTextBinding = dbc.bindValue(
WidgetProperties.text(SWT.Modify).observe(nameText),
- BeanProperties.value(CloudConnectionModel.class, CloudConnectionModel.PROPERTY_NAME)
+ BeanProperties.value(CloudConnectionPageModel.class,
CloudConnectionPageModel.PROPERTY_NAME)
.observe(connectionModel),
new UpdateValueStrategy().setBeforeSetValidator(
new CompositeValidator(
@@ -552,7 +552,7 @@
ControlDecorationSupport.create(nameTextBinding, SWT.LEFT | SWT.TOP);
}
- public CloudConnectionModel getModel() {
+ public CloudConnectionPageModel getModel() {
return connectionModel;
}
}
Copied:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPageModel.java
(from rev 27583,
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionModel.java)
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPageModel.java
(rev 0)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPageModel.java 2010-12-27
21:32:12 UTC (rev 27756)
@@ -0,0 +1,101 @@
+/*******************************************************************************
+ * 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.wizards;
+
+import java.net.MalformedURLException;
+
+import org.jboss.tools.deltacloud.core.Driver;
+import org.jboss.tools.internal.deltacloud.core.observable.ObservablePojo;
+
+/**
+ * @author Andre Dietisheim
+ */
+public class CloudConnectionPageModel extends ObservablePojo {
+
+ public static final String PROPERTY_URL = "url"; //$NON-NLS-1$
+ public static final String PROPERTY_NAME = "name"; //$NON-NLS-1$
+ public static final String PROPERTY_PASSWORD = "password"; //$NON-NLS-1$
+ public static final String PROPERTY_USERNAME = "username"; //$NON-NLS-1$
+ public static final String PROPERTY_DRIVER = "driver"; //$NON-NLS-1$
+
+ public static final String UNKNOWN_TYPE_LABEL = "UnknownType.label";
//$NON-NLS-1$
+ public static final String INVALID_URL = "ErrorInvalidURL.text";
//$NON-NLS-1$
+ public static final String NONCLOUD_URL = "ErrorNonCloudURL.text";
//$NON-NLS-1$
+
+ private String name;
+ private String url;
+ private String username;
+
+ private String password;
+ private Driver driver;
+ private String initialName;
+
+ public CloudConnectionPageModel() {
+ this("", "", "", "", Driver.UNKNOWN);
+ }
+
+ public CloudConnectionPageModel(String name, String url, String username, String
password) throws MalformedURLException {
+ this(name, url, username, password, Driver.UNKNOWN);
+ }
+
+ public CloudConnectionPageModel(String name, String url, String username, String
password, Driver driver) {
+ this.name = name;
+ this.initialName = name;
+ this.url = url;
+ this.username = username;
+ this.password = password;
+ this.driver = driver;
+ }
+
+ public String getUsername() {
+ return username;
+ }
+
+ public void setUsername(String username) {
+ firePropertyChange(PROPERTY_USERNAME, this.username, this.username = username);
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public void setPassword(String password) {
+ firePropertyChange(PROPERTY_PASSWORD, this.password, this.password = password);
+ }
+
+ public String getInitialName() {
+ return initialName;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ firePropertyChange(PROPERTY_NAME, this.name, this.name = name);
+ }
+
+ public String getUrl() {
+ return url;
+ }
+
+ public void setUrl(String url) {
+ firePropertyChange(PROPERTY_URL, this.url, this.url = url);
+ }
+
+ public Driver getDriver() {
+ return driver;
+ }
+
+ public void setDriver(Driver driver) {
+ firePropertyChange(PROPERTY_DRIVER, this.driver, this.driver = driver);
+ }
+}
Property changes on:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPageModel.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain