Author: adietish
Date: 2010-11-17 10:22:25 -0500 (Wed, 17 Nov 2010)
New Revision: 26672
Added:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudMultiException.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/EditCloudConnectionWizard.java
Removed:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudPersistedConnectionsException.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/EditCloudConnection.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/DeltaCloudManager.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClient.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClientImpl.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/Deltacloud Tools.launch
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/ErrorUtils.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/EditConnectionHandler.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVImagesCategoryElement.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVRootElement.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/ImageFilter.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/InstanceFilter.java
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/NewInstancePage.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePage2.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstanceWizard2.java
trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/core/DeltaCloudMockIntegrationTest.java
Log:
[JBIDE-7597] made sure cloud gets instantiated and loaded even if errors occur. Had to
change the whole exception throwing sequence (and method signatures) through all the
layers. Made sure no exception is thrown when DeltaCloud is instantiated
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/ChangeLog
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/ChangeLog 2010-11-17 15:07:21
UTC (rev 26671)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/ChangeLog 2010-11-17 15:22:25
UTC (rev 26672)
@@ -1,3 +1,32 @@
+2010-11-17 André Dietisheim <adietish(a)redhat.com>
+
+ * src/org/jboss/tools/deltacloud/core/client/DeltaCloudClient.java
+ (createInstance):
+ (createKey):
+ (deleteKey):
+ [JBIDE-7597] added missing methods to interface
+ * src/org/jboss/tools/deltacloud/core/DeltaCloudManager.java
+ (loadCloud):
+ (loadClouds):
+ [JBIDE-7597] continue loading clouds even if a single cloud fails
+ * src/org/jboss/tools/deltacloud/core/DeltaCloud.java
+ (loadImages):
+ (loadInstances):
+ [JBIDE-7597] added proper error messages to exceptions thrown
+ (editCloud):
+ (updateInstanceFilter):
+ (updateImageFilter):
+ [JBIDE-7597] removed saving (ring dependency DeltaCloud <--> DeltaCloudManager) in
DeltaCloud.
+ Ideal solution would be dirty notification to DeltaCloud -> DeltaCloudManager
+ (getClient):
+ [JBIDE-7597] delayed client creation after instantiation so that DeltaCloud may be
created without throwing exceptions.
+ (loadChildren):
+ [JBIDE-7597] made sure loading instances and images throw exceptions individually.
Collecting them in a multi exception
+ (getProfiles):
+ [JBIDE-7597] removed exception swalloing, made sure exceptions get thrown
+ (testConnection):
+ [JBIDE-7597] made sure no DeltaCloudClientException gets outside of DeltaCloud
+
2010-11-16 André Dietisheim <adietish(a)redhat.com>
* src/org/jboss/tools/deltacloud/core/DeltaCloudManager.java (DeltaCloudManager):
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-11-17
15:07:21 UTC (rev 26671)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloud.java 2010-11-17
15:22:25 UTC (rev 26672)
@@ -11,6 +11,7 @@
package org.jboss.tools.deltacloud.core;
import java.net.MalformedURLException;
+import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
@@ -32,6 +33,7 @@
import org.jboss.tools.deltacloud.core.client.HardwareProfile;
import org.jboss.tools.deltacloud.core.client.Image;
import org.jboss.tools.deltacloud.core.client.Instance;
+import org.jboss.tools.deltacloud.core.client.InternalDeltaCloudClient;
import org.jboss.tools.deltacloud.core.client.Realm;
public class DeltaCloud {
@@ -41,6 +43,7 @@
private String name;
private String username;
+ private String password;
private String url;
private String type;
private String lastKeyname = "";
@@ -62,54 +65,86 @@
public boolean matchesState(DeltaCloudInstance instance, String instanceState);
}
- public DeltaCloud(String name, String url, String username, String passwd) throws
MalformedURLException {
- this(name, url, username, passwd, null, false, IImageFilter.ALL_STRING,
IInstanceFilter.ALL_STRING);
+ public DeltaCloud(String name, String url, String username, String passwd) {
+ this(name, url, username, passwd, null);
}
- public DeltaCloud(String name, String url, String username, String passwd,
- String type, boolean persistent) throws MalformedURLException {
- this(name, url, username, passwd, type, persistent, IImageFilter.ALL_STRING,
IInstanceFilter.ALL_STRING);
+ public DeltaCloud(String name, String url, String username, String password, String
type) {
+ this(name, url, username, password, type, IImageFilter.ALL_STRING,
IInstanceFilter.ALL_STRING);
}
+ public DeltaCloud(String name, String url, String username, String type, String
imageFilterRules,
+ String instanceFilterRules) {
+ this(name, url, username, null, type, imageFilterRules, instanceFilterRules);
+ }
+
public DeltaCloud(String name, String url, String username, String passwd,
- String type, boolean persistent,
- String imageFilterRules, String instanceFilterRules) throws MalformedURLException {
- this.client = new DeltaCloudClientImpl(url, username, passwd); //$NON-NLS-1$
+ String type, String imageFilterRules, String instanceFilterRules) {
this.url = url;
this.name = name;
this.username = username;
this.type = type;
imageFilter = createImageFilter(imageFilterRules);
instanceFilter = createInstanceFilter(instanceFilterRules);
- if (persistent) {
- storePassword(url, username, passwd);
- }
}
- public void editCloud(String name, String url, String username, String passwd, String
type)
- throws MalformedURLException, DeltaCloudException {
- this.client = new DeltaCloudClientImpl(url, username, passwd); //$NON-NLS-1$
+ public void editCloud(String name, String url, String username, String password, String
type)
+ throws DeltaCloudException {
this.url = url;
this.name = name;
this.username = username;
+ this.password = password;
this.type = type;
- storePassword(url, username, passwd);
- save();
+ storePassword(url, username, password);
+ // save();
loadChildren();
}
- private void storePassword(String url, String username, String passwd) {
- ISecurePreferences root = SecurePreferencesFactory.getDefault();
- String key = DeltaCloud.getPreferencesKey(url, username);
- ISecurePreferences node = root.node(key);
+ private InternalDeltaCloudClient getClient() throws DeltaCloudException {
try {
- node.put("password", passwd, true /* encrypt */);
+ if (client == null) {
+ this.client = new DeltaCloudClientImpl(url, username, getPassword(url, username));
+ }
+ return client;
+ } catch (MalformedURLException e) {
+ throw new DeltaCloudException(MessageFormat.format("Could not access cloud at
{0}", url), e);
} catch (StorageException e) {
- // TODO: implement proper rethrowing/loggin
- e.printStackTrace();
+ throw new DeltaCloudException(MessageFormat.format(
+ "Could not get password for user {0} on cloud at {1} in the preferences",
username, url), e);
}
}
+ private String getPassword(String url, String username) throws StorageException {
+ if (password != null) {
+ return password;
+ } else {
+ this.password = getPasswordFromPreferences(url, username);
+ return this.password;
+ }
+ }
+
+ private String getPasswordFromPreferences(String url, String username) throws
StorageException {
+ String key = DeltaCloud.getPreferencesKey(url, username); // $NON-NLS-1$
+ ISecurePreferences root = SecurePreferencesFactory.getDefault();
+ ISecurePreferences node = root.node(key);
+ String password = node.get("password", null); //$NON-NLS-1$
+ return password;
+ }
+
+ private void storePassword(String url, String username, String passwd) throws
DeltaCloudException {
+ if (passwd != null) {
+ ISecurePreferences root = SecurePreferencesFactory.getDefault();
+ String key = DeltaCloud.getPreferencesKey(url, username);
+ ISecurePreferences node = root.node(key);
+ try {
+ node.put("password", passwd, true /* encrypt */); //$NON-NLS-1$
+ } catch (StorageException e) {
+ // TODO: internationalize string
+ throw new DeltaCloudException("Could not store password", e);
+ }
+ }
+ }
+
public static String getPreferencesKey(String url, String username) {
String key = "/org/jboss/tools/deltacloud/core/"; //$NON-NLS-1$
key += url + "/" + username; //$NON-NLS-1$
@@ -156,7 +191,7 @@
String rules = getInstanceFilter().toString();
instanceFilter = createInstanceFilter(ruleString);
if (!rules.equals(ruleString)) {
- save();
+ // save();
// TODO: remove notification with all instances, replace by
// notifying the changed instance
notifyInstanceListListeners(instances.toArray(instances.toArray(new
DeltaCloudInstance[instances.size()])));
@@ -186,7 +221,7 @@
String rules = getImageFilter().toString();
this.imageFilter = createImageFilter(ruleString);
if (!rules.equals(ruleString)) {
- save();
+ // save();
notifyImageListListeners(getCurrImages());
}
}
@@ -207,14 +242,28 @@
}
public void loadChildren() throws DeltaCloudException {
- loadImages();
- loadInstances();
+ DeltaCloudMultiException multiException = new
DeltaCloudMultiException(MessageFormat.format(
+ "Could not load children from cloud {0}", getName()));
+ try {
+ loadImages();
+ } catch (DeltaCloudException e) {
+ multiException.addError(e);
+ }
+ try {
+ loadInstances();
+ } catch (DeltaCloudException e) {
+ multiException.addError(e);
+ }
+
+ if (!multiException.isEmpty()) {
+ throw multiException;
+ }
}
- public void save() {
- // Currently we have to save all clouds instead of just this one
- DeltaCloudManager.getDefault().saveClouds();
- }
+ // public void save() {
+ // // Currently we have to save all clouds instead of just this one
+ // DeltaCloudManager.getDefault().saveClouds();
+ // }
public void addInstanceListListener(IInstanceListListener listener) {
instanceListeners.add(listener);
@@ -279,7 +328,8 @@
}
}
- public DeltaCloudInstance waitWhilePending(String instanceId, IProgressMonitor pm)
throws InterruptedException, DeltaCloudException {
+ public DeltaCloudInstance waitWhilePending(String instanceId, IProgressMonitor pm)
throws InterruptedException,
+ DeltaCloudException {
IInstanceStateMatcher differsFromPending = new IInstanceStateMatcher() {
@Override
@@ -328,7 +378,7 @@
* Furthermore listeners get informed.
*
* @return the instances
- * @throws DeltaCloudException
+ * @throws DeltaCloudException
*
* @see #notifyInstanceListListeners(DeltaCloudInstance[])
*/
@@ -336,7 +386,7 @@
synchronized (instanceLock) {
instances = new ArrayList<DeltaCloudInstance>();
try {
- List<Instance> list = client.listInstances();
+ List<Instance> list = getClient().listInstances();
for (Iterator<Instance> i = list.iterator(); i.hasNext();) {
DeltaCloudInstance instance = new DeltaCloudInstance(this, i.next());
instances.add(instance);
@@ -347,7 +397,8 @@
notifyInstanceListListeners(instancesArray);
return instancesArray;
} catch (DeltaCloudClientException e) {
- throw new DeltaCloudException(e);
+ throw new DeltaCloudException(MessageFormat.format("Could not load instances of
cloud {0}: {1}",
+ getName(), e.getMessage()), e);
}
}
}
@@ -381,7 +432,7 @@
public void createKey(String keyname, String keystoreLocation) throws
DeltaCloudException {
try {
- client.createKey(keyname, keystoreLocation);
+ getClient().createKey(keyname, keystoreLocation);
} catch (DeltaCloudClientException e) {
throw new DeltaCloudException(e);
}
@@ -389,7 +440,7 @@
public void deleteKey(String keyname) throws DeltaCloudException {
try {
- client.deleteKey(keyname);
+ getClient().deleteKey(keyname);
} catch (DeltaCloudClientException e) {
throw new DeltaCloudException(e);
}
@@ -418,7 +469,7 @@
public DeltaCloudInstance refreshInstance(String instanceId) throws DeltaCloudException
{
DeltaCloudInstance retVal = null;
try {
- Instance instance = client.listInstances(instanceId);
+ Instance instance = getClient().listInstances(instanceId);
retVal = new DeltaCloudInstance(this, instance);
for (int i = 0; i < instances.size(); ++i) {
DeltaCloudInstance inst = instances.get(i);
@@ -472,16 +523,16 @@
return null;
}
- public DeltaCloudHardwareProfile[] getProfiles() {
+ public DeltaCloudHardwareProfile[] getProfiles() throws DeltaCloudException {
ArrayList<DeltaCloudHardwareProfile> profiles = new
ArrayList<DeltaCloudHardwareProfile>();
try {
- List<HardwareProfile> list = client.listProfiles();
+ List<HardwareProfile> list = getClient().listProfiles();
for (Iterator<HardwareProfile> i = list.iterator(); i.hasNext();) {
DeltaCloudHardwareProfile profile = new DeltaCloudHardwareProfile(i.next());
profiles.add(profile);
}
} catch (DeltaCloudClientException e) {
- Activator.log(e);
+ throw new DeltaCloudException(MessageFormat.format("Could not list profiles on
cloud {0}", name), e);
}
DeltaCloudHardwareProfile[] profileArray = new
DeltaCloudHardwareProfile[profiles.size()];
profileArray = profiles.toArray(profileArray);
@@ -490,7 +541,7 @@
public DeltaCloudImage loadImage(String imageId) throws DeltaCloudException {
try {
- Image image = client.listImages(imageId);
+ Image image = getClient().listImages(imageId);
DeltaCloudImage deltaCloudImage = addImage(image);
return deltaCloudImage;
} catch (DeltaCloudClientException e) {
@@ -511,13 +562,14 @@
synchronized (imageLock) {
try {
images = new ArrayList<DeltaCloudImage>();
- List<Image> list = client.listImages();
+ List<Image> list = getClient().listImages();
for (Iterator<Image> i = list.iterator(); i.hasNext();) {
addImage(i.next());
}
return notifyImageListListeners();
} catch (DeltaCloudClientException e) {
- throw new DeltaCloudException(e);
+ throw new DeltaCloudException(MessageFormat.format("Could not load images of
cloud {0}: {1}",
+ getName(), e.getMessage()), e);
}
}
}
@@ -540,7 +592,7 @@
public DeltaCloudImage getImage(String imageId) {
DeltaCloudImage retVal = null;
try {
- Image image = client.listImages(imageId);
+ Image image = getClient().listImages(imageId);
retVal = new DeltaCloudImage(image, this);
} catch (Exception e) {
e.printStackTrace();
@@ -549,30 +601,32 @@
return retVal;
}
- public boolean testConnection() throws DeltaCloudClientException {
+ public boolean testConnection() throws DeltaCloudException {
String instanceId = "nonexistingInstance"; //$NON-NLS-1$
try {
- client.listInstances(instanceId);
+ getClient().listInstances(instanceId);
return true;
} catch (DeltaCloudNotFoundClientException e) {
return true;
} catch (DeltaCloudAuthException e) {
return false;
+ } catch (DeltaCloudClientException e) {
+ return false;
}
}
- public DeltaCloudRealm[] getRealms() {
+ public DeltaCloudRealm[] getRealms() throws DeltaCloudException {
ArrayList<DeltaCloudRealm> realms = new ArrayList<DeltaCloudRealm>();
try {
- List<Realm> list = client.listRealms();
+ List<Realm> list = getClient().listRealms();
for (Iterator<Realm> i = list.iterator(); i.hasNext();) {
DeltaCloudRealm realm = new DeltaCloudRealm(i.next());
realms.add(realm);
}
+ return realms.toArray(new DeltaCloudRealm[realms.size()]);
} catch (DeltaCloudClientException e) {
- Activator.log(e);
+ throw new DeltaCloudException(MessageFormat.format("Could not get realms for
cloud {0}", name), e);
}
- return realms.toArray(new DeltaCloudRealm[realms.size()]);
}
public DeltaCloudInstance createInstance(String name, String imageId, String realmId,
String profileId,
@@ -580,9 +634,9 @@
try {
Instance instance = null;
if (keyname != null) {
- instance = client.createInstance(imageId, profileId, realmId, name, keyname, memory,
storage);
+ instance = getClient().createInstance(imageId, profileId, realmId, name, keyname,
memory, storage);
} else {
- instance = client.createInstance(imageId, profileId, realmId, name, memory,
storage);
+ instance = getClient().createInstance(imageId, profileId, realmId, name, memory,
storage);
}
if (instance != null) {
DeltaCloudInstance newInstance = new DeltaCloudInstance(this, instance);
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudManager.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudManager.java 2010-11-17
15:07:21 UTC (rev 26671)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudManager.java 2010-11-17
15:22:25 UTC (rev 26672)
@@ -15,7 +15,7 @@
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
-import java.net.MalformedURLException;
+import java.text.MessageFormat;
import java.util.ArrayList;
import javax.xml.parsers.DocumentBuilder;
@@ -25,7 +25,6 @@
import org.eclipse.core.runtime.ListenerList;
import org.eclipse.equinox.security.storage.ISecurePreferences;
import org.eclipse.equinox.security.storage.SecurePreferencesFactory;
-import org.eclipse.equinox.security.storage.StorageException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
@@ -34,8 +33,8 @@
public class DeltaCloudManager {
- private static final DeltaCloudManager INSTANCE = new DeltaCloudManager();
-
+ private static final DeltaCloudManager INSTANCE = new DeltaCloudManager();
+
public final static String CLOUDFILE_NAME = "clouds.xml"; //$NON-NLS-1$
private ArrayList<DeltaCloud> clouds = new ArrayList<DeltaCloud>();
private ListenerList cloudManagerListeners;
@@ -43,8 +42,8 @@
private DeltaCloudManager() {
}
- public void loadClouds() throws DeltaCloudPersistedConnectionsException {
- DeltaCloudPersistedConnectionsException connectionException = new
DeltaCloudPersistedConnectionsException();
+ public void loadClouds() throws DeltaCloudException {
+ DeltaCloudMultiException connectionException = new
DeltaCloudMultiException("Errors occurred while loading clouds from the
preferences");
IPath stateLocation = Activator.getDefault().getStateLocation();
File cloudFile = stateLocation.append(CLOUDFILE_NAME).toFile();
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
@@ -58,47 +57,46 @@
for (int x = 0; x < cloudNodes.getLength(); ++x) {
Node n = cloudNodes.item(x);
try {
- String name = getCloudName(n);
- loadCloud(name, n);
- } catch (StorageException e) {
+ loadCloud(n);
+ } catch (DeltaCloudException e) {
connectionException.addError(e);
- }
+ }
}
}
} catch (Exception e) {
connectionException.addError(e);
}
+
if (!connectionException.isEmpty()) {
throw connectionException;
}
}
- private void loadCloud(String name, Node n) throws StorageException,
MalformedURLException, DeltaCloudException {
+ private DeltaCloud loadCloud(Node n) throws DeltaCloudException {
NamedNodeMap attrs = n.getAttributes();
+ String name = attrs.getNamedItem("name").getNodeValue(); // $NON-NLS-1$
String url = attrs.getNamedItem("url").getNodeValue(); // $NON-NLS-1$
String username = attrs.getNamedItem("username").getNodeValue(); //
$NON-NLS-1$
String type = attrs.getNamedItem("type").getNodeValue(); // $NON-NLS-1$
String imageFilterRules =
getImageFilterRules(attrs.getNamedItem("imagefilter")); // $NON-NLS-1$
- String key = DeltaCloud.getPreferencesKey(url, username); // $NON-NLS-1$
String instanceFilterRules =
getInstanceFilterRules(attrs.getNamedItem("instancefilter")); // $NON-NLS-1$
String lastKeyName = getLastKeyName(attrs.getNamedItem("lastkeyname")); //
$NON-NLS-1$
String lastImageId = getLastKeyName(attrs.getNamedItem("lastimage")); //
$NON-NLS-1$
- ISecurePreferences root = SecurePreferencesFactory.getDefault();
- ISecurePreferences node = root.node(key);
- String password = node.get("password", null); //$NON-NLS-1$
- DeltaCloud cloud = new DeltaCloud(
- name, url, username, password, type, false, imageFilterRules, instanceFilterRules);
+ DeltaCloud cloud = new DeltaCloud(name, url, username, type, imageFilterRules,
instanceFilterRules);
+ clouds.add(cloud);
cloud.setLastImageId(lastImageId);
cloud.setLastKeyname(lastKeyName);
- cloud.loadChildren();
- clouds.add(cloud);
+ try {
+ cloud.loadChildren();
+ } catch (DeltaCloudException e) {
+ throw e;
+ } catch (Exception e) {
+ // TODO: internationalize strings
+ throw new DeltaCloudException(MessageFormat.format("Could not load cloud {0} from
preferences", name), e);
+ }
+ return cloud;
}
- private String getCloudName(Node n) {
- String name = n.getAttributes().getNamedItem("name").getNodeValue(); //
$NON-NLS-1$
- return name;
- }
-
private String getLastKeyName(Node lastKeyNameNode) {
String lastKeyName = "";
if (lastKeyNameNode != null) {
Added:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudMultiException.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudMultiException.java
(rev 0)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudMultiException.java 2010-11-17
15:22:25 UTC (rev 26672)
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * 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.deltacloud.core;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * An exception that captures several exceptions that may have occured while
+ * delaing with the deltacloud server
+ */
+public class DeltaCloudMultiException extends DeltaCloudException {
+
+ private static final long serialVersionUID = 1L;
+
+ private ArrayList<Throwable> throwables;
+
+ public DeltaCloudMultiException(String message) {
+ super(message);
+ this.throwables = new ArrayList<Throwable>();
+ }
+
+ public void addError(Throwable throwable) {
+ throwables.add(throwable);
+ }
+
+ public List<Throwable> getThrowables() {
+ return throwables;
+ }
+
+ public boolean isEmpty() {
+ return throwables.size() == 0;
+ }
+}
Property changes on:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudMultiException.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Deleted:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudPersistedConnectionsException.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudPersistedConnectionsException.java 2010-11-17
15:07:21 UTC (rev 26671)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudPersistedConnectionsException.java 2010-11-17
15:22:25 UTC (rev 26672)
@@ -1,42 +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.deltacloud.core;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * An exception that holds all errors that occured when loading persisted
- * connections to deltacloud servers.
- */
-public class DeltaCloudPersistedConnectionsException extends Exception {
-
- private static final long serialVersionUID = 1L;
-
- private ArrayList<Throwable> throwables;
-
- public DeltaCloudPersistedConnectionsException() {
- super();
- this.throwables = new ArrayList<Throwable>();
- }
-
- public void addError(Throwable throwable) {
- throwables.add(throwable);
- }
-
- public List<Throwable> getErrors() {
- return throwables;
- }
-
- public boolean isEmpty() {
- return throwables.size() == 0;
- }
-}
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClient.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClient.java 2010-11-17
15:07:21 UTC (rev 26671)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClient.java 2010-11-17
15:22:25 UTC (rev 26672)
@@ -113,4 +113,14 @@
*/
public Instance createInstance(String imageId, String flavor, String realm, String
name)
throws DeltaCloudClientException;
+
+ public Instance createInstance(String imageId, String profileId, String realmId, String
name, String memory,
+ String storage) throws DeltaCloudClientException;
+
+ public Instance createInstance(String imageId, String profileId, String realmId, String
name, String keyname,
+ String memory, String storage) throws DeltaCloudClientException;
+
+ public void createKey(String keyname, String keystoreLocation) throws
DeltaCloudClientException;
+
+ public void deleteKey(String keyname) throws DeltaCloudClientException;
}
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClientImpl.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClientImpl.java 2010-11-17
15:07:21 UTC (rev 26671)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClientImpl.java 2010-11-17
15:22:25 UTC (rev 26672)
@@ -110,10 +110,9 @@
} catch (DeltaCloudClientException e) {
throw e;
} catch (IOException e) {
- logger.error("Error processing request to: " + deltaCloudRequest.getUrl(),
e);
- throw new DeltaCloudClientException("Error processing request to: " +
deltaCloudRequest.getUrl(), e);
+ throw new DeltaCloudClientException(e);
} catch (Exception e) {
- throw new DeltaCloudClientException(e.getMessage());
+ throw new DeltaCloudClientException(e);
} finally {
httpClient.getConnectionManager().shutdown();
}
@@ -586,7 +585,7 @@
} catch (DeltaCloudClientException e) {
throw e;
} catch (Exception e) {
- throw new DeltaCloudClientException("Could not list object of type " +
clazz, e);
+ throw new DeltaCloudClientException(MessageFormat.format("Could not list object
of type {0}", clazz), e);
}
}
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog 2010-11-17 15:07:21
UTC (rev 26671)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog 2010-11-17 15:22:25
UTC (rev 26672)
@@ -1,3 +1,29 @@
+2010-11-17 André Dietisheim <adietish(a)redhat.com>
+
+ * src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstanceWizard2.java
(performFinish):
+ [JBIDE-7597] added saving of cloud instances
+ * src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePage2.java:
+ [JBIDE-7597] code cleanup, extracted individual methods
+ (getProfiles):
+ [JBIDE-7597] added error handling when getting realms
+ * src/org/jboss/tools/internal/deltacloud/ui/wizards/NewCloudConnectionWizard.java
(performTest):
+ [JBIDE-7597] switched to ErrorUtils
+ (performFinish):
+ [JBIDE-7597] added saving of the cloud instances (removed from cloud)
+ * src/org/jboss/tools/internal/deltacloud/ui/wizards/InstanceFilter.java
(performFinish):
+ [JBIDE-7597] switched to ErrorUtils
+ * src/org/jboss/tools/internal/deltacloud/ui/wizards/ImageFilter.java (performFinish):
+ [JBIDE-7597] switched to ErrorUtils
+ * src/org/jboss/tools/internal/deltacloud/ui/wizards/EditCloudConnectionWizard.java
(addPages):
+ [JBIDE-7597] switched to ErrorUtils, corrected catched exceptions (no
MalformedURLException any more)
+ * src/org/jboss/tools/deltacloud/ui/views/CVImagesCategoryElement.java (getChildren):
+ [JBIDE-7597] switched to ErrorUtils
+ * src/org/jboss/tools/deltacloud/ui/commands/EditConnectionHandler.java (execute):
+ [JBIDE-7597] renamed EditConnection to EditConnectionWizard since it is a wizard
+ * src/org/jboss/tools/deltacloud/ui/ErrorUtils.java (createMultiStatus):
+ [JBIDE-7597] added multi status capabilities
+ (createStatus):
+
2010-11-16 André Dietisheim <adietish(a)redhat.com>
* src/org/jboss/tools/deltacloud/ui/views/CVRootElement.java (CVRootElement):
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/Deltacloud Tools.launch
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/Deltacloud
Tools.launch 2010-11-17 15:07:21 UTC (rev 26671)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/Deltacloud
Tools.launch 2010-11-17 15:22:25 UTC (rev 26672)
@@ -23,8 +23,8 @@
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS"
value="-Dosgi.requiredJavaVersion=1.5 -XX:MaxPermSize=256m -Xms40m
-Xmx1024m"/>
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
-<stringAttribute key="selected_target_plugins"
value="org.eclipse.wst.common.environment@default:default,org.eclipse.update.core@default:default,org.eclipse.wst.css.core@default:default,org.eclipse.jdt@default:default,org.eclipse.cdt.core.linux.x86_64@default:false,org.eclipse.ui.cheatsheets@default:default,org.eclipse.equinox.app@default:default,org.eclipse.swt@default:default,org.eclipse.jst.j2ee.navigator.ui@default:default,org.eclipse.wst.xml.ui@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.rse.services.ssh@default:default,org.eclipse.ui.console@default:default,org.eclipse.jface.text@default:default,org.eclipse.ui@default:default,org.eclipse.jst.common.annotations.core@default:default,org.eclipse.rse.files.ui@default:default,org.eclipse.core.net@default:default,org.eclipse.rse.services@default:default,org.eclipse.equinox.p2.updatesite@default:default,org.apache.commons.httpclient*3.1.0.v201005080502@default:default,org.eclipse.wst.common.pro!
ject.facet.core@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.apache.commons.el@default:default,org.jboss.ide.eclipse.as.rse.core@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.help.ui@default:default,org.eclipse.jem.util@default:default,org.eclipse.swtbot.ant.optional.junit3@default:false,org.eclipse.cdt.ui@default:default,org.eclipse.jst.j2ee.ejb@default:default,org.mortbay.jetty.server@default:default,org.eclipse.jdt.compiler.apt@default:false,org.eclipse.rse.ui@default:default,org.eclipse.wst.common.frameworks.ui@default:default,org.eclipse.jdt.junit.core@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.wst.server.core@default:default,org.apache.commons.net@default:default,org.eclipse.jdt.core@default:default,org.eclipse.jst.server.ui@default:default,org.eclipse.ui.intro@default:default,org.eclipse.wst.sse.core@default:default,org.eclipse.wst.web@default:default,org.eclipse.equ!
inox.http.servlet@default:default,org.eclipse.osgi.util@defaul!
t:defaul
t,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.ecf.identity@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.sat4j.core@default:default,org.mortbay.jetty.util@default:default,javax.xml@default:default,org.eclipse.equinox.p2.ui@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.jem.beaninfo@default:default,javax.servlet.jsp@default:default,org.eclipse.jdt.debug@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.jst.j2ee.core@default:default,org.eclipse.core.net.linux.x86_64@default:false,org.eclipse.cdt.core@default:default,org.eclipse.core.filesystem.linux.x86_64@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.swtbot.ant.optional.junit4@default:false,org.eclipse.jem@default:default,org.eclipse.core.databinding@default:default,org.eclipse.jem.proxy@default:default,org.eclipse.core.variables@default:default,org.eclipse.core!
.commands@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.equinox.p2.repository.tools@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.rse.subsystems.files.core@default:default,org.eclipse.osgi@-1:true,org.eclipse.jst.server.core@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.wst.jsdt.manipulation@default:default,org.eclipse.emf.ecore.xmi@default:default,org.jboss.ide.eclipse.archives.ui@default:default,org.eclipse.core.runtime@default:true,org.jboss.ide.eclipse.archives.core@default:default,org.eclipse.wst.common.frameworks@default:default,org.apache.commons.codec*1.3.0.v20100518-1140@default:default,org.eclipse.update.configurator@3:true,org.eclipse.rse.services.files.ftp@default:default,org.eclipse.jst.j2ee@default:default,org.eclipse.equinox.common@2:true,org.jboss.ide.eclipse.as.rse.ui@default:default,org.eclipse.equinox.p2.core@default:defaul!
t,org.eclipse.jem.workbench@default:default,org.eclipse.jst.j2!
ee.jca.u
i@default:default,org.eclipse.equinox.p2.operations@default:default,org.eclipse.ui.ide@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.wst.common.modulecore.ui@default:default,org.apache.xml.resolver@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.search@default:default,org.eclipse.compare.core@default:default,com.jcraft.jsch@default:default,org.hamcrest.core@default:default,org.eclipse.jem.beaninfo.vm.common@default:default,org.eclipse.debug.ui@default:default,org.eclipse.jst.j2ee.ui@default:default,org.apache.ant@default:default,org.eclipse.jdt.compiler.tool@default:false,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.jdt.launching@default:default,org.eclipse.jst.jee@default:default,org.eclipse.rse.services.local@default:default,org.eclipse.jst.common.project.facet.ui@default:default,org.eclipse.osgi.services@default:default,org.eclipse.wst.common.project.facet.ui@default:default,javax.servlet@!
default:default,org.apache.jasper@default:default,org.eclipse.core.resources@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.apache.xerces@default:default,org.eclipse.core.databinding.property@default:default,org.apache.commons.logging*1.0.4.v201005080501@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.wst.validation@default:default,org.eclipse.wst.jsdt.core@default:default,org.jboss.ide.eclipse.as.ui@default:default,org.eclipse.ui.views.log@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.cdt.core.linux@default:false,org.eclipse.jst.j2ee.jca@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.rse.core@default:default,org.eclipse.jst.common.frameworks@default:default,org.eclipse.help.base@default:default,org.eclipse.help@default:default,org.eclipse.wst.common.core@default:default,org.eclipse.wst.common.ui@default:default,org.eclipse.wst.common.emf@default:default,org.eclipse.wst.ser!
ver.discovery@default:default,org.eclipse.jdt.core.manipulatio!
n@defaul
t:default,org.eclipse.jst.common.annotations.controller@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.jem.beaninfo.vm@default:default,org.eclipse.team.core@default:default,org.eclipse.jdt.ui@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.ecf@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.text@default:default,org.eclipse.wst.jsdt.ui@default:default,org.eclipse.wst.common.uriresolver@default:default,org.eclipse.team.ui@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.jst.common.ui@default:default,org.apache.lucene@default:default,org.eclipse.jst.jee.ui@default:default,org.eclipse.jdt.junit.runtime@default:default,org.junit4@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.wst.common.emfworkbench.integration@default:default,org.eclipse.core.expressions@default:default,org.!
eclipse.equinox.security@default:default,org.jboss.ide.eclipse.as.core@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jst.j2ee.ejb.annotation.model@default:default,org.eclipse.wst.html.ui@default:default,org.jboss.ide.eclipse.as.wtp.core@default:default,org.eclipse.jst.servlet.ui@default:default,org.eclipse.wst.html.core@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.core.runtime.compatibility@default:default,org.jboss.tools.jmx.ui@default:default,org.eclipse.swt.gtk.linux.x86_64@default:false,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.wst.web.ui@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.sdk@default:default,org.eclipse.core.jobs@default:default,org.eclipse.emf.codegen@default:default,org.apache.xml.serializer@default:default,org.eclipse.pde.core@default:!
default,org.jboss.tools.xulrunner.initializer@default:false,or!
g.sat4j.
pb@default:default,org.eclipse.jdt.debug.ui@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.jboss.ide.eclipse.archives.webtools@default:default,org.eclipse.jdt.junit@default:default,com.instantiations.designer.jdt.fragment@default:false,org.eclipse.equinox.p2.director.app@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.emf.common@default:default,org.eclipse.wst.common.modulecore@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,com.ibm.icu@default:default,org.eclipse.wst.internet.monitor.core@default:default,org.eclipse.wst.xml.core@default:default,org.eclipse.pde.build@default:default,org.apache.lucene.analysis@default:default,org.jboss.ide.eclipse.as.wtp.ui@default:default,org.eclipse.equinox.security.ui@default:default,org.eclipse.wst.server.ui@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.jst.j2ee.web@default:default,org.eclipse.ant.core@default:default,org.eclipse.emf.edi!
t@default:default,org.eclipse.equinox.concurrent@default:default,org.junit*4.8.1.v4_8_1_v20100427-1100@default:default,org.eclipse.wst.sse.ui@default:default,org.eclipse.ui.browser@default:default,org.eclipse.compare@default:default,org.eclipse.debug.core@default:default,org.eclipse.jst.common.project.facet.core@default:default,org.eclipse.rse.subsystems.shells.core@default:default,org.eclipse.wst.css.ui@default:default,org.eclipse.ui.views@default:default,org.eclipse.core.filesystem@default:default,org.eclipse.wst.server.ui.doc.user@default:default,org.eclipse.ui.editors@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.jface@default:default,org.eclipse.ui.forms@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.equinox.http.jetty@default:default,org.jboss.tools.jmx.core@default:default,org.eclipse.core.runtime.compatibility.registry@default:false"/>
-<stringAttribute key="selected_workspace_plugins"
value="org.jboss.tools.common@default:default,org.jboss.tools.deltacloud.ui@default:default,org.jboss.tools.usage@default:default,org.jboss.tools.deltacloud.core@default:default"/>
+<stringAttribute key="selected_target_plugins"
value="org.eclipse.tm.terminal@default:default,org.eclipse.core.expressions@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.core.resources@default:default,org.eclipse.rse@default:default,org.junit4@default:default,org.eclipse.jdt.core@default:default,org.eclipse.jdt.ui@default:default,org.eclipse.ui@default:default,javax.xml.rpc@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.rse.subsystems.files.core@default:default,org.eclipse.rse.connectorservice.telnet@default:default,org.eclipse.compare@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.jdt@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.jdt.debug@default:default,org.eclipse.cdt.core@default:default,org.eclipse.emf.edit@default:default,org.apache.commons.el@default:default,org.apache.xml.resolver@defaul!
t:default,org.jboss.tools.xulrunner.initializer@default:false,org.jboss.tools.jmx.ui@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,javax.wsdl*1.6.2.v201005080631@default:default,org.eclipse.dstore.extra@default:default,org.eclipse.swt.gtk.linux.x86_64@default:false,org.eclipse.wst.common.emfworkbench.integration@default:default,org.eclipse.rse.services.local@default:default,org.eclipse.ui.editors@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.wst.validation@default:default,org.eclipse.jdt.junit.core@default:default,org.eclipse.osgi.services@default:default,org.eclipse.rse.connectorservice.ssh@default:default,org.eclipse.core.filesystem.linux.x86_64@default:false,org.eclipse.jdt.debug.ui@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.jface.databinding@default:default,org.apache.xerces@default:default,org.eclipse.wst.xml.core@default:default,org.eclipse.equinox.p2.artifact.reposit!
ory@default:default,org.apache.commons.httpclient*3.1.0.v20100!
5080502@
default:default,org.eclipse.core.commands@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.ui.workbench@default:default,org.mortbay.jetty.util@default:default,org.jboss.ide.eclipse.archives.ui@default:default,org.eclipse.rse.doc.user@default:default,javax.activation@default:default,org.apache.axis@default:default,org.eclipse.jdt.junit.runtime@default:default,org.eclipse.rse.dstore.security@default:default,org.eclipse.rse.services.ssh@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.rse.subsystems.shells.telnet@default:default,org.eclipse.core.databinding.property@default:default,org.hamcrest.core@default:default,org.eclipse.equinox.common@2:true,org.eclipse.help.base@default:default,org.eclipse.equinox.frameworkadmin@default:default,com.jcraft.jsch@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.update.configurator@3:true,org.eclip!
se.core.filesystem@default:default,org.eclipse.update.core@default:default,org.jboss.ide.eclipse.archives.core@default:default,org.eclipse.rse.subsystems.processes.core@default:default,org.eclipse.rse.subsystems.shells.core@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.rse.efs@default:default,org.apache.commons.codec*1.3.0.v20100518-1140@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.app@default:default,com.instantiations.designer.jdt.fragment@default:false,org.eclipse.dstore.core@default:default,org.eclipse.rse.efs.ui@default:default,javax.mail@default:default,org.eclipse.swtbot.ant.optional.junit4@default:false,org.eclipse.equinox.preferences@default:default,org.eclipse.rse.connectorservice.local@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.ant.core@default:default,org.eclipse.ecf@default:default,org.eclipse.rse.subsystems.files.dstore@default:default,org.eclips!
e.rse.subsystems.terminals.ssh@default:default,org.eclipse.cor!
e.variab
les@default:default,org.eclipse.text@default:default,org.eclipse.emf.codegen@default:default,org.eclipse.rse.subsystems.files.ftp@default:default,org.eclipse.equinox.p2.director.app@default:default,org.eclipse.rse.processes.ui@default:default,org.sat4j.pb@default:default,javax.servlet.jsp@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.apache.jasper@default:default,org.apache.lucene@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.rse.subsystems.terminals.core@default:default,org.jboss.tools.jmx.core@default:default,org.eclipse.equinox.p2.updatesite@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.security@default:default,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.ui.intro@default:default,org.eclipse.ui.views.log@default:default,org.eclipse.equinox.p2.operations@default:default,org.eclipse.pde.core@default:default,org.eclipse.jdt.compiler.apt@default!
:false,org.eclipse.equinox.p2.repository@default:default,org.eclipse.compare.core@default:default,org.eclipse.ui.views@default:default,org.mortbay.jetty.server@default:default,org.eclipse.osgi@-1:true,org.eclipse.jface.text@default:default,org.eclipse.rse.services.telnet@default:default,org.eclipse.equinox.security.ui@default:default,org.eclipse.rse.files.ui@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.search@default:default,org.eclipse.core.databinding@default:default,org.eclipse.jdt.core.manipulation@default:default,org.eclipse.rse.subsystems.processes.dstore@default:default,org.eclipse.rse.services@default:default,org.eclipse.rse.subsystems.processes.local@default:default,org.eclipse.cdt.ui@default:default,org.eclipse.core.net@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.core.runtime@default:true,org.eclipse.wst.common.uriresolver@default:default,com.ibm.icu@default:default,org.eclipse.jsch.core@default:default,jav!
ax.xml.soap@default:default,org.eclipse.core.net.linux.x86_64@!
default:
false,org.eclipse.equinox.p2.repository.tools@default:default,org.eclipse.ui.cheatsheets@default:default,javax.xml@default:default,org.eclipse.ui.forms@default:default,org.uddi4j@default:default,org.eclipse.cdt.core.linux@default:false,org.eclipse.rse.connectorservice.dstore@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,javax.servlet@default:default,org.eclipse.jface@default:default,org.eclipse.debug.ui@default:default,org.eclipse.rse.shells.ui@default:default,org.eclipse.equinox.concurrent@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.ui.ide@default:default,org.eclipse.rse.services.files.ftp@default:default,org.apache.commons.discovery@default:default,org.eclipse.osgi.util@default:default,org.eclipse.rse.subsystems.shells.dstore@default:default,org.eclipse.rse.subsystems.files.ssh@default:default,org.eclipse.jdt.launching@default:default,org.eclipse.jdt.junit@defau!
lt:default,org.eclipse.wst.sse.core@default:default,org.eclipse.rse.subsystems.files.local@default:default,org.junit*4.8.1.v4_8_1_v20100427-1100@default:default,org.eclipse.rse.subsystems.shells.local@default:default,org.eclipse.rse.terminals.ui@default:default,org.apache.ant@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.team.core@default:default,org.eclipse.wst.common.project.facet.core@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.wst.common.core@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.jdt.compiler.tool@default:false,org.eclipse.rse.core@default:default,org.eclipse.core.jobs@default:default,org.eclipse.wst.common.environment@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.wst.common.emf@default:default,org.eclipse.equinox.http.servlet@default:default,org.apache.xml.serializer@default:default,org.eclipse.wst.common.frameworks@default:default,org.eclipse.debug.cor!
e@default:default,org.eclipse.team.ui@default:default,org.ecli!
pse.ltk.
ui.refactoring@default:default,org.eclipse.rse.importexport@default:default,org.eclipse.rse.services.dstore@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.swtbot.ant.optional.junit3@default:false,org.eclipse.rse.ui@default:default,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.help.ui@default:default,org.sat4j.core@default:default,org.eclipse.equinox.p2.core@default:default,org.apache.commons.net@default:default,org.eclipse.equinox.p2.ui@default:default,org.eclipse.ui.console@default:default,org.eclipse.swt@default:default,org.eclipse.rse.useractions@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.cdt.core.linux.x86_64@default:false,org.eclipse.ui.navigator@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.emf.common@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.rse.subsystems.processes.shell.linux@default:default,org.eclipse.ecf.provi!
der.filetransfer@default:default,org.eclipse.xsd@default:default,org.eclipse.ecf.identity@default:default,org.apache.commons.logging*1.0.4.v201005080501@default:default,org.eclipse.jem.util@default:default,org.eclipse.sdk@default:default,org.eclipse.pde.build@default:default,org.eclipse.ui.browser@default:default,org.apache.lucene.analysis@default:default,org.eclipse.rse.subsystems.shells.ssh@default:default,org.eclipse.help@default:default"/>
+<stringAttribute key="selected_workspace_plugins"
value="org.jboss.tools.usage@default:default,org.jboss.tools.common@default:default,org.jboss.tools.deltacloud.core@default:default,org.jboss.tools.deltacloud.ui@default:default"/>
<booleanAttribute key="show_selected_only" value="false"/>
<stringAttribute key="templateConfig"
value="${target_home}/configuration/config.ini"/>
<booleanAttribute key="tracing" value="false"/>
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/ErrorUtils.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/ErrorUtils.java 2010-11-17
15:07:21 UTC (rev 26671)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/ErrorUtils.java 2010-11-17
15:22:25 UTC (rev 26672)
@@ -10,44 +10,47 @@
******************************************************************************/
package org.jboss.tools.deltacloud.ui;
+import java.util.ArrayList;
import java.util.Collection;
+import java.util.List;
import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
import org.eclipse.jface.dialogs.ErrorDialog;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.jboss.tools.common.log.StatusFactory;
+import org.jboss.tools.deltacloud.core.DeltaCloudMultiException;
public class ErrorUtils {
public static IStatus openErrorDialog(final String title, final String message,
Throwable e, final Shell shell) {
- final IStatus status = StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID,
e.getMessage(), e);
- Display.getDefault().syncExec(new Runnable() {
- public void run() {
- ErrorDialog.openError(shell, title, message, status);
- }
- });
+ IStatus status = createStatus(e);
+ openErrorDialog(title, status, shell);
return status;
}
- public static IStatus openErrorDialog(final String title, final String message,
Collection<Throwable> throwables, final Shell shell) {
- final IStatus status = createMultiStatus(message, throwables);
+ private static IStatus createStatus(Throwable e) {
+ if (e instanceof DeltaCloudMultiException) {
+ return createMultiStatus(e.getMessage(), e, ((DeltaCloudMultiException)
e).getThrowables());
+ } else {
+ return StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(),
e);
+ }
+ }
+
+ private static IStatus openErrorDialog(final String title, final IStatus status, final
Shell shell) {
Display.getDefault().syncExec(new Runnable() {
public void run() {
- ErrorDialog.openError(shell, title, message, status);
+ ErrorDialog.openError(shell, title, status.getMessage(), status);
}
});
return status;
}
- // TODO: move to appropriate util class
- private static IStatus createMultiStatus(String message, Collection<Throwable>
throwables) {
- MultiStatus multiStatus = new MultiStatus(Activator.PLUGIN_ID, 0, message, null);
- for(Throwable e : throwables) {
- IStatus childStatus = StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID,
e.getMessage(), e);
- multiStatus.add(childStatus );
+ private static IStatus createMultiStatus(String message, Throwable throwable,
Collection<Throwable> throwables) {
+ List<IStatus> states = new ArrayList<IStatus>(throwables.size());
+ for(Throwable childThrowable : throwables) {
+ IStatus status = StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID,
childThrowable.getMessage(), childThrowable);
+ states.add(status);
}
- return multiStatus;
+ return StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID, message,
throwable, states.toArray(new IStatus[states.size()]));
}
-
}
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/EditConnectionHandler.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/EditConnectionHandler.java 2010-11-17
15:07:21 UTC (rev 26671)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/EditConnectionHandler.java 2010-11-17
15:22:25 UTC (rev 26672)
@@ -24,7 +24,7 @@
import org.jboss.tools.deltacloud.ui.views.CVCloudElement;
import org.jboss.tools.deltacloud.ui.views.CloudViewElement;
import org.jboss.tools.internal.deltacloud.ui.utils.UIUtils;
-import org.jboss.tools.internal.deltacloud.ui.wizards.EditCloudConnection;
+import org.jboss.tools.internal.deltacloud.ui.wizards.EditCloudConnectionWizard;
/**
* @author Andre Dietisheim
@@ -42,7 +42,7 @@
if (element != null) {
CVCloudElement cloudElement = (CVCloudElement) element;
DeltaCloud cloud = (DeltaCloud) cloudElement.getElement();
- IWizard wizard = new EditCloudConnection(cloud);
+ IWizard wizard = new EditCloudConnectionWizard(cloud);
WizardDialog dialog = new WizardDialog(UIUtils.getActiveWorkbenchWindow().getShell(),
wizard);
dialog.create();
dialog.open();
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVImagesCategoryElement.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVImagesCategoryElement.java 2010-11-17
15:07:21 UTC (rev 26671)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVImagesCategoryElement.java 2010-11-17
15:22:25 UTC (rev 26672)
@@ -22,6 +22,7 @@
import org.jboss.tools.deltacloud.core.IImageFilter;
import org.jboss.tools.deltacloud.core.IImageListListener;
import org.jboss.tools.deltacloud.ui.Activator;
+import org.jboss.tools.deltacloud.ui.ErrorUtils;
public class CVImagesCategoryElement extends CVCategoryElement implements
IImageListListener {
@@ -79,15 +80,10 @@
initialized = true;
cloud.addImageListListener(this);
} catch (Exception e) {
- IStatus status = StatusFactory.getInstance(
- IStatus.ERROR,
- Activator.PLUGIN_ID,
- e.getMessage(),
- e);
- // TODO: internationalize strings
- ErrorDialog.openError(Display.getDefault().getActiveShell(),
+ ErrorUtils.openErrorDialog(
"Error",
- "Colud not get images from cloud " + cloud.getName(), status);
+ "Colud not get images from cloud " + cloud.getName(),
+ e, Display.getDefault().getActiveShell());
}
}
return super.getChildren();
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVRootElement.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVRootElement.java 2010-11-17
15:07:21 UTC (rev 26671)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVRootElement.java 2010-11-17
15:22:25 UTC (rev 26672)
@@ -14,8 +14,8 @@
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.views.properties.IPropertySource;
import org.jboss.tools.deltacloud.core.DeltaCloud;
+import org.jboss.tools.deltacloud.core.DeltaCloudException;
import org.jboss.tools.deltacloud.core.DeltaCloudManager;
-import org.jboss.tools.deltacloud.core.DeltaCloudPersistedConnectionsException;
import org.jboss.tools.deltacloud.core.ICloudManagerListener;
import org.jboss.tools.deltacloud.ui.ErrorUtils;
@@ -33,11 +33,12 @@
private void loadClouds() {
try {
DeltaCloudManager.getDefault().loadClouds();
- } catch (DeltaCloudPersistedConnectionsException e) {
+ } catch (DeltaCloudException e) {
+ // TODO: internationalize strings
ErrorUtils.openErrorDialog(
"Error",
- "Could not load all clouds",
- e.getErrors(), Display.getDefault().getActiveShell());
+ "Errors occurred while loading all clouds",
+ e, Display.getDefault().getActiveShell());
}
}
Deleted:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/EditCloudConnection.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/EditCloudConnection.java 2010-11-17
15:07:21 UTC (rev 26671)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/EditCloudConnection.java 2010-11-17
15:22:25 UTC (rev 26672)
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Red Hat Inc..
- * 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:
- * Red Hat Incorporated - initial API and implementation
- *******************************************************************************/
-package org.jboss.tools.internal.deltacloud.ui.wizards;
-
-import java.net.MalformedURLException;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.security.storage.ISecurePreferences;
-import org.eclipse.equinox.security.storage.SecurePreferencesFactory;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.jboss.tools.common.log.StatusFactory;
-import org.jboss.tools.deltacloud.core.DeltaCloud;
-import org.jboss.tools.deltacloud.core.DeltaCloudManager;
-import org.jboss.tools.deltacloud.core.client.DeltaCloudClientException;
-import org.jboss.tools.deltacloud.ui.Activator;
-
-public class EditCloudConnection extends Wizard implements INewWizard, CloudConnection {
-
- private static final String MAINPAGE_NAME = "EditCloudConnection.name";
//$NON-NLS-1$
- private CloudConnectionPage mainPage;
- private DeltaCloud cloud;
-
- public EditCloudConnection(DeltaCloud cloud) {
- super();
- this.cloud = cloud;
- }
-
- @Override
- public void init(IWorkbench workbench, IStructuredSelection selection) {
- }
-
- @Override
- public void addPages() {
- String password = getPassword();
- try {
- mainPage = new CloudConnectionPage(WizardMessages.getString(MAINPAGE_NAME),
- cloud.getName(), cloud.getURL(), cloud.getUsername(), password,
- cloud.getType(), this);
- addPage(mainPage);
- } catch (MalformedURLException e) {
- IStatus status = StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID,
e.getMessage(), e);
- ErrorDialog.openError(getShell(),
WizardMessages.getString("EditCloudConnectionError.title"),
- WizardMessages.getString("EditCloudConnectionError.message"), status);
- }
- }
-
- private String getPassword() {
- String password = "";
- String key = DeltaCloud.getPreferencesKey(cloud.getURL(), cloud.getUsername());
- ISecurePreferences root = SecurePreferencesFactory.getDefault();
- ISecurePreferences node = root.node(key);
- try {
- password = node.get("password", null); //$NON-NLS-1$
- } catch (Exception e) {
- Activator.log(e);
- }
- return password;
- }
-
- @Override
- public boolean canFinish() {
- return mainPage.isPageComplete();
- }
-
- public boolean performTest() {
- String name = mainPage.getName();
- String url = mainPage.getModel().getUrl();
- String username = mainPage.getModel().getUsername();
- String password = mainPage.getModel().getPassword();
- try {
- DeltaCloud newCloud = new DeltaCloud(name, url, username, password);
- return newCloud.testConnection();
- } catch (MalformedURLException e) {
- Activator.log(e);
- return false;
- } catch (DeltaCloudClientException e) {
- IStatus status = StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID,
e.getMessage(), e);
- Activator.log(status);
- ErrorDialog.openError(
- getShell(),
- WizardMessages.getString("CloudConnectionAuthError.title"),
- WizardMessages.getFormattedString("CloudConnectionAuthError.message",
url),
- status);
- return true;
- }
- }
-
- @Override
- public boolean performFinish() {
- String name = mainPage.getModel().getName();
- String url = mainPage.getModel().getUrl();
- String username = mainPage.getModel().getUsername();
- String password = mainPage.getModel().getPassword();
- String type = mainPage.getModel().getType().toString();
- try {
- String oldName = cloud.getName();
- cloud.editCloud(name, url, username, password, type);
- if (!name.equals(oldName))
- DeltaCloudManager.getDefault().notifyCloudRename();
- } catch (Exception e) {
- }
- return true;
- }
-
- @Override
- public boolean needsProgressMonitor() {
- return true;
- }
-
-}
Copied:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/EditCloudConnectionWizard.java
(from rev 26561,
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/EditCloudConnection.java)
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/EditCloudConnectionWizard.java
(rev 0)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/EditCloudConnectionWizard.java 2010-11-17
15:22:25 UTC (rev 26672)
@@ -0,0 +1,119 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat Inc..
+ * 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:
+ * Red Hat Incorporated - initial API and implementation
+ *******************************************************************************/
+package org.jboss.tools.internal.deltacloud.ui.wizards;
+
+import java.net.MalformedURLException;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.equinox.security.storage.ISecurePreferences;
+import org.eclipse.equinox.security.storage.SecurePreferencesFactory;
+import org.eclipse.jface.dialogs.ErrorDialog;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+import org.jboss.tools.common.log.StatusFactory;
+import org.jboss.tools.deltacloud.core.DeltaCloud;
+import org.jboss.tools.deltacloud.core.DeltaCloudException;
+import org.jboss.tools.deltacloud.core.DeltaCloudManager;
+import org.jboss.tools.deltacloud.ui.Activator;
+import org.jboss.tools.deltacloud.ui.ErrorUtils;
+
+public class EditCloudConnectionWizard extends Wizard implements INewWizard,
CloudConnection {
+
+ private static final String MAINPAGE_NAME = "EditCloudConnection.name";
//$NON-NLS-1$
+ private CloudConnectionPage mainPage;
+ private DeltaCloud cloud;
+
+ public EditCloudConnectionWizard(DeltaCloud cloud) {
+ super();
+ this.cloud = cloud;
+ }
+
+ @Override
+ public void init(IWorkbench workbench, IStructuredSelection selection) {
+ }
+
+ @Override
+ public void addPages() {
+ String password = getPassword();
+ try {
+ mainPage = new CloudConnectionPage(WizardMessages.getString(MAINPAGE_NAME),
+ cloud.getName(), cloud.getURL(), cloud.getUsername(), password,
+ cloud.getType(), this);
+ addPage(mainPage);
+ } catch (MalformedURLException e) {
+ ErrorUtils.openErrorDialog(WizardMessages.getString("EditCloudConnectionError.title"),
+ WizardMessages.getString("EditCloudConnectionError.message"), e,
getShell());
+ }
+ }
+
+ private String getPassword() {
+ String password = "";
+ String key = DeltaCloud.getPreferencesKey(cloud.getURL(), cloud.getUsername());
+ ISecurePreferences root = SecurePreferencesFactory.getDefault();
+ ISecurePreferences node = root.node(key);
+ try {
+ password = node.get("password", null); //$NON-NLS-1$
+ } catch (Exception e) {
+ Activator.log(e);
+ }
+ return password;
+ }
+
+ @Override
+ public boolean canFinish() {
+ return mainPage.isPageComplete();
+ }
+
+ public boolean performTest() {
+ String name = mainPage.getName();
+ String url = mainPage.getModel().getUrl();
+ String username = mainPage.getModel().getUsername();
+ String password = mainPage.getModel().getPassword();
+ try {
+ DeltaCloud newCloud = new DeltaCloud(name, url, username, password);
+ return newCloud.testConnection();
+ } catch (DeltaCloudException e) {
+ IStatus status = StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID,
e.getMessage(), e);
+ Activator.log(status);
+ ErrorDialog.openError(
+ getShell(),
+ WizardMessages.getString("CloudConnectionAuthError.title"),
+ WizardMessages.getFormattedString("CloudConnectionAuthError.message",
url),
+ status);
+ return false;
+ }
+ }
+
+ @Override
+ public boolean performFinish() {
+ String name = mainPage.getModel().getName();
+ String url = mainPage.getModel().getUrl();
+ String username = mainPage.getModel().getUsername();
+ String password = mainPage.getModel().getPassword();
+ String type = mainPage.getModel().getType().toString();
+ try {
+ String oldName = cloud.getName();
+ cloud.editCloud(name, url, username, password, type);
+ DeltaCloudManager.getDefault().saveClouds();
+ if (!name.equals(oldName))
+ DeltaCloudManager.getDefault().notifyCloudRename();
+ } catch (Exception e) {
+ }
+ return true;
+ }
+
+ @Override
+ public boolean needsProgressMonitor() {
+ return true;
+ }
+}
Property changes on:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/EditCloudConnectionWizard.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/ImageFilter.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/ImageFilter.java 2010-11-17
15:07:21 UTC (rev 26671)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/ImageFilter.java 2010-11-17
15:22:25 UTC (rev 26672)
@@ -1,57 +1,51 @@
package org.jboss.tools.internal.deltacloud.ui.wizards;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.ErrorDialog;
import org.eclipse.jface.wizard.Wizard;
-import org.jboss.tools.common.log.StatusFactory;
import org.jboss.tools.deltacloud.core.DeltaCloud;
-import org.jboss.tools.deltacloud.ui.Activator;
+import org.jboss.tools.deltacloud.core.DeltaCloudManager;
+import org.jboss.tools.deltacloud.ui.ErrorUtils;
public class ImageFilter extends Wizard {
private DeltaCloud cloud;
private ImageFilterPage mainPage;
-
+
public ImageFilter(DeltaCloud cloud) {
this.cloud = cloud;
}
-
+
@Override
public void addPages() {
// TODO Auto-generated method stub
mainPage = new ImageFilterPage(cloud);
addPage(mainPage);
}
-
+
@Override
public boolean canFinish() {
return mainPage.isPageComplete();
}
-
+
@Override
public boolean performFinish() {
String nameRule = mainPage.getNameRule();
String idRule = mainPage.getIdRule();
String archRule = mainPage.getArchRule();
String descRule = mainPage.getDescRule();
-
+
try {
cloud.updateImageFilter(nameRule + ";" + //$NON-NLS-1$
idRule + ";" + //$NON-NLS-1$
archRule + ";" + //$NON-NLS-1$
descRule);
+ DeltaCloudManager.getDefault().saveClouds();
} catch (Exception e) {
- IStatus status = StatusFactory.getInstance(
- IStatus.ERROR,
- Activator.PLUGIN_ID,
- e.getMessage(),
- e);
// TODO: internationalize strings
- ErrorDialog.openError(getShell(),
+ ErrorUtils.openErrorDialog(
"Error",
- "Cloud not get update filters on cloud " + cloud.getName(), status);
+ "Cloud not get update filters on cloud " + cloud.getName(), e,
getShell());
}
-
+
return true;
}
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/InstanceFilter.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/InstanceFilter.java 2010-11-17
15:07:21 UTC (rev 26671)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/InstanceFilter.java 2010-11-17
15:22:25 UTC (rev 26672)
@@ -1,12 +1,10 @@
package org.jboss.tools.internal.deltacloud.ui.wizards;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.ErrorDialog;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.swt.widgets.Display;
-import org.jboss.tools.common.log.StatusFactory;
import org.jboss.tools.deltacloud.core.DeltaCloud;
-import org.jboss.tools.deltacloud.ui.Activator;
+import org.jboss.tools.deltacloud.core.DeltaCloudManager;
+import org.jboss.tools.deltacloud.ui.ErrorUtils;
public class InstanceFilter extends Wizard {
@@ -47,12 +45,12 @@
keyNameRule + ";" + //$NON-NLS-1$
realmRule + ";" + //$NON-NLS-1$
profileRule);
+ DeltaCloudManager.getDefault().saveClouds();
} catch (Exception e) {
- IStatus status = StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID,
e.getMessage(), e);
// TODO: internationalize strings
- ErrorDialog.openError(Display.getDefault().getActiveShell(),
+ ErrorUtils.openErrorDialog(
"Error",
- "Could not update filters", status);
+ "Could not update filters", e, Display.getDefault().getActiveShell());
}
return true;
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 2010-11-17
15:07:21 UTC (rev 26671)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewCloudConnectionWizard.java 2010-11-17
15:22:25 UTC (rev 26672)
@@ -10,19 +10,16 @@
*******************************************************************************/
package org.jboss.tools.internal.deltacloud.ui.wizards;
-import java.net.MalformedURLException;
+import java.text.MessageFormat;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.ErrorDialog;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.ui.INewWizard;
import org.eclipse.ui.IWorkbench;
-import org.jboss.tools.common.log.StatusFactory;
import org.jboss.tools.deltacloud.core.DeltaCloud;
+import org.jboss.tools.deltacloud.core.DeltaCloudException;
import org.jboss.tools.deltacloud.core.DeltaCloudManager;
-import org.jboss.tools.deltacloud.core.client.DeltaCloudClientException;
-import org.jboss.tools.deltacloud.ui.Activator;
+import org.jboss.tools.deltacloud.ui.ErrorUtils;
public class NewCloudConnectionWizard extends Wizard implements INewWizard,
CloudConnection {
@@ -56,17 +53,10 @@
try {
DeltaCloud newCloud = new DeltaCloud(name, url, username, password);
return newCloud.testConnection();
- } catch (MalformedURLException e) {
- Activator.log(e);
- return false;
- } catch (DeltaCloudClientException e) {
- IStatus status = StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID,
e.getMessage(), e);
- Activator.log(status);
- ErrorDialog.openError(
- getShell(),
- WizardMessages.getString("CloudConnectionAuthError.title"),
- WizardMessages.getFormattedString("CloudConnectionAuthError.message",
url),
- status);
+ } catch (DeltaCloudException e) {
+ ErrorUtils
+ .openErrorDialog(WizardMessages.getString("CloudConnectionAuthError.title"),
+ WizardMessages.getFormattedString("CloudConnectionAuthError.message",
url), e, getShell());
return true;
}
}
@@ -79,10 +69,13 @@
String password = mainPage.getModel().getPassword();
String type = mainPage.getModel().getType().toString();
try {
- DeltaCloud newCloud = new DeltaCloud(name, url, username, password, type, true);
+ DeltaCloud newCloud = new DeltaCloud(name, url, username, password, type);
DeltaCloudManager.getDefault().addCloud(newCloud);
- } catch (MalformedURLException e) {
- Activator.log(e);
+ DeltaCloudManager.getDefault().saveClouds();
+ } catch (Exception e) {
+ // TODO internationalize strings
+ ErrorUtils
+ .openErrorDialog("Error", MessageFormat.format("Could not create
cloud {0}", name), e, getShell());
}
return true;
}
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePage.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePage.java 2010-11-17
15:07:21 UTC (rev 26671)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePage.java 2010-11-17
15:22:25 UTC (rev 26672)
@@ -10,7 +10,10 @@
*******************************************************************************/
package org.jboss.tools.internal.deltacloud.ui.wizards;
+import java.text.MessageFormat;
import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
import org.eclipse.core.runtime.preferences.InstanceScope;
import org.eclipse.jface.dialogs.IDialogConstants;
@@ -35,10 +38,12 @@
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.jboss.tools.deltacloud.core.DeltaCloud;
+import org.jboss.tools.deltacloud.core.DeltaCloudException;
import org.jboss.tools.deltacloud.core.DeltaCloudHardwareProfile;
import org.jboss.tools.deltacloud.core.DeltaCloudImage;
import org.jboss.tools.deltacloud.core.DeltaCloudRealm;
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.SWTImagesFactory;
import org.osgi.service.prefs.Preferences;
@@ -70,11 +75,11 @@
private Text keyText;
private Combo hardware;
private Button keyManage;
- private Control realm;
+ private Control realmCombo;
private String[] profileIds;
private ProfileComposite currPage;
private ProfileComposite[] profilePages;
- private ArrayList<String> realmIds;
+ private List<DeltaCloudRealm> realms;
private ModifyListener textListener = new ModifyListener() {
@@ -127,9 +132,9 @@
}
public String getRealmId() {
- if (realm instanceof Combo) {
- int index = ((Combo) realm).getSelectionIndex();
- return realmIds.get(index);
+ if (realmCombo instanceof Combo) {
+ int index = ((Combo) realmCombo).getSelectionIndex();
+ return realms.get(index).getId();
} else {
return null;
}
@@ -191,11 +196,17 @@
private void getPossibleProfiles() {
profiles = new ArrayList<DeltaCloudHardwareProfile>();
- DeltaCloudHardwareProfile[] allProfiles = cloud.getProfiles();
- for (DeltaCloudHardwareProfile p : allProfiles) {
- if (p.getArchitecture() == null ||
image.getArchitecture().equals(p.getArchitecture())) {
- profiles.add(p);
+ try {
+ DeltaCloudHardwareProfile[] allProfiles = cloud.getProfiles();
+ for (DeltaCloudHardwareProfile p : allProfiles) {
+ if (p.getArchitecture() == null ||
image.getArchitecture().equals(p.getArchitecture())) {
+ profiles.add(p);
+ }
}
+ } catch (DeltaCloudException e) {
+ // TODO internationalize strings
+ ErrorUtils.openErrorDialog("Error",
+ MessageFormat.format("Could not get profiles from cloud {0}",
cloud.getName()), e, getShell());
}
}
@@ -243,17 +254,8 @@
nameText = new Text(container, SWT.BORDER | SWT.SINGLE);
nameText.addModifyListener(textListener);
- DeltaCloudRealm[] realms = cloud.getRealms();
- realmIds = new ArrayList<String>();
- ArrayList<String> realmNames = new ArrayList<String>();
- for (int i = 0; i < realms.length; ++i) {
- DeltaCloudRealm r = realms[i];
- if (r.getState() == null || r.getState().equals(DeltaCloudRealm.AVAILABLE)) {
- realmNames.add(r.getId() + " [" + r.getName() + "]");
//$NON-NLS-1$ //$NON-NLS-2$
- realmIds.add(r.getId());
- }
- }
- createRealmsControl(container, realmNames);
+ realms = getRealms();
+ createRealmsControl(container, getRealmNames(realms));
Label hardwareLabel = new Label(container, SWT.NULL);
hardwareLabel.setText(WizardMessages.getString(HARDWARE_LABEL));
@@ -325,9 +327,9 @@
f.top = new FormAttachment(arch, 8);
f.left = new FormAttachment(hardwareLabel, 5);
f.right = new FormAttachment(100, 0);
- realm.setLayoutData(f);
+ realmCombo.setLayoutData(f);
- Control control = realm;
+ Control control = realmCombo;
if (cloud.getType().equals(DeltaCloud.EC2_TYPE)) {
Label keyLabel = new Label(container, SWT.NULL);
@@ -346,7 +348,7 @@
int centering2 = (p3.y - p2.y + 1) / 2;
f = new FormData();
- f.top = new FormAttachment(realm, 8 + centering + centering2);
+ f.top = new FormAttachment(realmCombo, 8 + centering + centering2);
f.left = new FormAttachment(0, 0);
keyLabel.setLayoutData(f);
@@ -354,12 +356,12 @@
int widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
Point minSize = keyManage.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
f.width = Math.max(widthHint, minSize.x);
- f.top = new FormAttachment(realm, 8);
- f.right = new FormAttachment(realm, 0, SWT.RIGHT);
+ f.top = new FormAttachment(realmCombo, 8);
+ f.right = new FormAttachment(realmCombo, 0, SWT.RIGHT);
keyManage.setLayoutData(f);
f = new FormData();
- f.top = new FormAttachment(realm, 8 + centering2);
+ f.top = new FormAttachment(realmCombo, 8 + centering2);
f.left = new FormAttachment(hardwareLabel, 5);
f.right = new FormAttachment(keyManage, -10);
keyText.setLayoutData(f);
@@ -388,6 +390,31 @@
setControl(container);
}
+ private List<String> getRealmNames(List<DeltaCloudRealm> realms) {
+ List<String> realmNames = new ArrayList<String>();
+ for (DeltaCloudRealm realm : realms) {
+ realmNames.add(
+ new StringBuilder()
+ .append(realm.getId())
+ .append(" [") //$NON-NLS-1$
+ .append(realm.getName())
+ .append("]") //$NON-NLS-1$
+ .toString());
+ }
+ return realmNames;
+ }
+
+ private List<DeltaCloudRealm> getRealms() {
+ List<DeltaCloudRealm> realms = new ArrayList<DeltaCloudRealm>();
+ try {
+ realms = Arrays.asList(cloud.getRealms());
+ } catch (DeltaCloudException e) {
+ ErrorUtils.openErrorDialog("Error",
+ MessageFormat.format("Could not get realms from cloud {0}",
cloud.getName()), e, getShell());
+ }
+ return realms;
+ }
+
/**
* Creates the control that shall display the available realms. It creates
* either a combo, if there are realms available, or a label if none are
@@ -398,17 +425,16 @@
* @param realmNames
* the realm names
*/
- private void createRealmsControl(final Composite parent, ArrayList<String>
realmNames) {
- if (realmIds.size() > 0) {
+ private void createRealmsControl(final Composite parent, List<String> realmNames)
{
+ if (realmNames.size() > 0) {
Combo combo = new Combo(parent, SWT.BORDER | SWT.READ_ONLY);
combo.setItems(realmNames.toArray(new String[realmNames.size()]));
combo.setText(realmNames.get(0));
- realm = combo;
+ realmCombo = combo;
} else {
Label label = new Label(parent, SWT.NULL);
label.setText(WizardMessages.getString(NONE_RESPONSE));
- realm = label;
+ realmCombo = label;
}
}
-
}
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePage2.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePage2.java 2010-11-17
15:07:21 UTC (rev 26671)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePage2.java 2010-11-17
15:22:25 UTC (rev 26672)
@@ -10,8 +10,11 @@
*******************************************************************************/
package org.jboss.tools.internal.deltacloud.ui.wizards;
+import java.text.MessageFormat;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import org.eclipse.core.databinding.Binding;
@@ -47,9 +50,11 @@
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.jboss.tools.deltacloud.core.DeltaCloud;
+import org.jboss.tools.deltacloud.core.DeltaCloudException;
import org.jboss.tools.deltacloud.core.DeltaCloudHardwareProfile;
import org.jboss.tools.deltacloud.core.DeltaCloudImage;
import org.jboss.tools.deltacloud.core.DeltaCloudRealm;
+import org.jboss.tools.deltacloud.ui.ErrorUtils;
import org.jboss.tools.deltacloud.ui.SWTImagesFactory;
import
org.jboss.tools.internal.deltacloud.ui.common.databinding.validator.MandatoryStringValidator;
@@ -63,7 +68,7 @@
private final static String NAME = "NewInstance.name"; //$NON-NLS-1$
private final static String DESCRIPTION = "NewInstance.desc"; //$NON-NLS-1$
private final static String TITLE = "NewInstance.title"; //$NON-NLS-1$
-
+
private static final String NAME_LABEL = "Name.label"; //$NON-NLS-1$
private static final String IMAGE_LABEL = "Image.label"; //$NON-NLS-1$
private static final String ARCH_LABEL = "Arch.label"; //$NON-NLS-1$
@@ -89,12 +94,13 @@
private Combo hardware;
private Button keyManage;
private Button findImage;
- private Control realm;
+ private Control realmCombo;
private ProfileComposite currPage;
private Map<String, ProfileComposite> profilePages;
private ArrayList<String> realmIds;
private DeltaCloudHardwareProfile[] allProfiles;
-
+ private List<DeltaCloudRealm> realms;
+
private ModifyListener comboListener = new ModifyListener() {
@Override
@@ -105,12 +111,12 @@
currPage.setVisible(true);
}
};
-
+
private SelectionListener manageListener = new SelectionAdapter() {
public void widgetSelected(SelectionEvent event) {
Shell shell = getShell();
- ManageKeysWizard wizard = new ManageKeysWizard(cloud, ".pem");
//$NON-NLS-1$
+ ManageKeysWizard wizard = new ManageKeysWizard(cloud, ".pem");
//$NON-NLS-1$
WizardDialog dialog = new CustomWizardDialog(shell, wizard,
IDialogConstants.OK_LABEL);
dialog.create();
@@ -119,7 +125,7 @@
if (keyname != null)
keyText.setText(keyname);
}
-
+
};
private SelectionListener findListener = new SelectionAdapter() {
@@ -135,21 +141,20 @@
if (imageId != null)
imageText.setText(imageId);
}
-
+
};
-
+
public NewInstancePage2(DeltaCloud cloud) {
super(WizardMessages.getString(NAME));
this.cloud = cloud;
profilePages = new HashMap<String, ProfileComposite>();
- allProfiles = cloud.getProfiles();
+ allProfiles = getProfiles();
String defaultKeyname = cloud.getLastKeyname();
model = new NewInstanceModel("", //$NON-NLS-1$
"", //$NON-NLS-1$
"", //$NON-NLS-1$
"", //$NON-NLS-1$
- defaultKeyname,
- ""); //$NON-NLS-1$
+ defaultKeyname, ""); //$NON-NLS-1$
setDescription(WizardMessages.getString(DESCRIPTION));
setTitle(WizardMessages.getString(TITLE));
setImageDescriptor(SWTImagesFactory.DESC_DELTA_LARGE);
@@ -161,42 +166,42 @@
}
public String getRealmId() {
- if (realm instanceof Combo) {
- int index = ((Combo)realm).getSelectionIndex();
+ if (realmCombo instanceof Combo) {
+ int index = ((Combo) realmCombo).getSelectionIndex();
return realmIds.get(index);
} else {
return null;
}
}
-
+
public String getCpuProperty() {
return currPage.getCPU();
}
-
+
public String getStorageProperty() {
return currPage.getStorage();
}
-
+
public String getMemoryProperty() {
return currPage.getMemory();
}
-
+
public String getInstanceName() {
return nameText.getText();
}
-
+
public String getKeyName() {
return keyText.getText();
}
-
+
public String getImageId() {
return imageText.getText();
}
-
+
public void setImage(DeltaCloudImage image) {
this.image = image;
}
-
+
public void clearProfiles() {
hardware.removeModifyListener(comboListener);
hardware.removeAll();
@@ -206,7 +211,22 @@
hardware.setEnabled(false);
hardware.addModifyListener(comboListener);
}
-
+
+ private DeltaCloudHardwareProfile[] getProfiles() {
+ List<DeltaCloudHardwareProfile> profiles = new
ArrayList<DeltaCloudHardwareProfile>();
+ try {
+ DeltaCloudHardwareProfile[] allProfiles = cloud.getProfiles();
+ for (DeltaCloudHardwareProfile p : allProfiles) {
+ profiles.add(p);
+ }
+ } catch (DeltaCloudException e) {
+ // TODO internationalize strings
+ ErrorUtils.openErrorDialog("Error",
+ MessageFormat.format("Could not get profiles from cloud {0}",
cloud.getName()), e, getShell());
+ }
+ return profiles.toArray(new DeltaCloudHardwareProfile[profiles.size()]);
+ }
+
public void filterProfiles() {
ArrayList<DeltaCloudHardwareProfile> profiles = new
ArrayList<DeltaCloudHardwareProfile>();
for (DeltaCloudHardwareProfile p : allProfiles) {
@@ -229,37 +249,38 @@
hardware.addModifyListener(comboListener);
}
}
-
+
@Override
public void createControl(Composite parent) {
DataBindingContext dbc = new DataBindingContext();
WizardPageSupport.create(this, dbc);
-
+
final Composite container = new Composite(parent, SWT.NULL);
FormLayout layout = new FormLayout();
layout.marginHeight = 5;
layout.marginWidth = 5;
- container.setLayout(layout);
-
+ container.setLayout(layout);
+
Label dummyLabel = new Label(container, SWT.NULL);
Label imageLabel = new Label(container, SWT.NULL);
imageLabel.setText(WizardMessages.getString(IMAGE_LABEL));
-
+
Label archLabel = new Label(container, SWT.NULL);
archLabel.setText(WizardMessages.getString(ARCH_LABEL));
-
-
+
Label nameLabel = new Label(container, SWT.NULL);
nameLabel.setText(WizardMessages.getString(NAME_LABEL));
-
+
Label realmLabel = new Label(container, SWT.NULL);
realmLabel.setText(WizardMessages.getString(REALM_LABEL));
-
nameText = new Text(container, SWT.BORDER | SWT.SINGLE);
bindText(dbc, nameText, NewInstanceModel.PROPERTY_NAME, MUST_ENTER_A_NAME);
-
+
+ realms = getRealms();
+ createRealmsControl(container, getRealmNames(realms));
+
imageText = new Text(container, SWT.BORDER | SWT.SINGLE);
dbc.bindValue(
WidgetProperties.text(SWT.Modify).observeDelayed(IMAGE_CHECK_DELAY, imageText),
@@ -268,7 +289,7 @@
new UpdateValueStrategy().setAfterGetValidator(new MandatoryStringValidator(
WizardMessages.getString(MUST_ENTER_IMAGE_ID))),
null);
-
+
findImage = new Button(container, SWT.NULL);
findImage.setText(WizardMessages.getString(FIND_BUTTON_LABEL));
findImage.addSelectionListener(findListener);
@@ -276,36 +297,15 @@
arch = new Label(container, SWT.NULL);
bindArchLabel(dbc, imageText, arch, this);
- DeltaCloudRealm[] realms = cloud.getRealms();
- realmIds = new ArrayList<String>();
- ArrayList<String> realmNames = new ArrayList<String>();
- for (int i = 0; i < realms.length; ++i) {
- DeltaCloudRealm r = realms[i];
- if (r.getState() == null || r.getState().equals(DeltaCloudRealm.AVAILABLE)) {
- realmNames.add(r.getId() + " [" + r.getName() + "]");
//$NON-NLS-1$ //$NON-NLS-2$
- realmIds.add(r.getId());
- }
- }
- if (realmIds.size() > 0) {
- Combo combo = new Combo(container, SWT.BORDER | SWT.READ_ONLY);
- combo.setItems(realmNames.toArray(new String[realmNames.size()]));
- combo.setText(realmNames.get(0));
- realm = combo;
- } else {
- Label label = new Label(container, SWT.NULL);
- label.setText(WizardMessages.getString(NONE_RESPONSE));
- realm = label;
- }
- IObservableValue realmObservable = WidgetProperties.text().observe(realm);
+ IObservableValue realmObservable = WidgetProperties.text().observe(realmCombo);
dbc.bindValue(
realmObservable,
BeanProperties.value(NewInstanceModel.class,
NewInstanceModel.PROPERTY_REALM).observe(
model));
-
Label hardwareLabel = new Label(container, SWT.NULL);
hardwareLabel.setText(WizardMessages.getString(HARDWARE_LABEL));
-
+
hardware = new Combo(container, SWT.READ_ONLY);
Group groupContainer = new Group(container, SWT.BORDER);
groupContainer.setText(WizardMessages.getString(PROPERTIES_LABEL));
@@ -319,7 +319,7 @@
hardwareObservable,
BeanProperties.value(NewInstanceModel.class,
NewInstanceModel.PROPERTY_PROFILE).observe(
model));
-
+
for (DeltaCloudHardwareProfile p : allProfiles) {
ProfileComposite pc = new ProfileComposite(p, groupContainer);
profilePages.put(p.getId(), pc);
@@ -331,29 +331,29 @@
keyManage.addSelectionListener(manageListener);
if (cloud.getType().equals(DeltaCloud.MOCK_TYPE))
keyManage.setEnabled(false);
-
+
Point p1 = nameLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT);
Point p2 = nameText.computeSize(SWT.DEFAULT, SWT.DEFAULT);
Point p3 = findImage.computeSize(SWT.DEFAULT, SWT.DEFAULT);
int centering = (p2.y - p1.y + 1) / 2;
int centering2 = (p3.y - p2.y + 1) / 2;
-
+
FormData f = new FormData();
f.left = new FormAttachment(0, 0);
f.right = new FormAttachment(100, 0);
dummyLabel.setLayoutData(f);
-
+
f = new FormData();
f.top = new FormAttachment(dummyLabel, 8 + centering);
f.left = new FormAttachment(0, 0);
nameLabel.setLayoutData(f);
-
+
f = new FormData();
f.top = new FormAttachment(dummyLabel, 8);
f.left = new FormAttachment(hardwareLabel, 5);
f.right = new FormAttachment(100, 0);
nameText.setLayoutData(f);
-
+
f = new FormData();
f.top = new FormAttachment(nameText, 8 + centering + centering2);
f.left = new FormAttachment(0, 0);
@@ -368,7 +368,7 @@
f = new FormData();
f.width = buttonWidth;
f.top = new FormAttachment(nameText, 8);
- f.right = new FormAttachment(realm, 0, SWT.RIGHT);
+ f.right = new FormAttachment(realmCombo, 0, SWT.RIGHT);
findImage.setLayoutData(f);
f = new FormData();
@@ -376,69 +376,67 @@
f.left = new FormAttachment(hardwareLabel, 5);
f.right = new FormAttachment(findImage, -10);
imageText.setLayoutData(f);
-
+
f = new FormData();
f.top = new FormAttachment(imageLabel, 8 + centering);
f.left = new FormAttachment(0, 0);
archLabel.setLayoutData(f);
-
+
f = new FormData();
f.top = new FormAttachment(imageLabel, 8 + centering);
f.left = new FormAttachment(hardwareLabel, 5);
f.right = new FormAttachment(100, 0);
arch.setLayoutData(f);
-
+
f = new FormData();
f.top = new FormAttachment(arch, 8 + centering);
f.left = new FormAttachment(0, 0);
realmLabel.setLayoutData(f);
-
+
f = new FormData();
f.top = new FormAttachment(arch, 8);
f.left = new FormAttachment(hardwareLabel, 5);
f.right = new FormAttachment(100, 0);
- realm.setLayoutData(f);
+ realmCombo.setLayoutData(f);
+ Control control = realmCombo;
- Control control = realm;
-
Label keyLabel = new Label(container, SWT.NULL);
keyLabel.setText(WizardMessages.getString(KEY_LABEL));
keyText = new Text(container, SWT.BORDER | SWT.SINGLE);
bindText(dbc, keyText, NewInstanceModel.PROPERTY_KEYNAME, MUST_ENTER_A_KEYNAME);
-
f = new FormData();
- f.top = new FormAttachment(realm, 8 + centering + centering2);
+ f.top = new FormAttachment(realmCombo, 8 + centering + centering2);
f.left = new FormAttachment(0, 0);
keyLabel.setLayoutData(f);
f = new FormData();
f.width = buttonWidth;
- f.top = new FormAttachment(realm, 8);
- f.right = new FormAttachment(realm, 0, SWT.RIGHT);
+ f.top = new FormAttachment(realmCombo, 8);
+ f.right = new FormAttachment(realmCombo, 0, SWT.RIGHT);
keyManage.setLayoutData(f);
f = new FormData();
- f.top = new FormAttachment(realm, 8 + centering2);
+ f.top = new FormAttachment(realmCombo, 8 + centering2);
f.left = new FormAttachment(hardwareLabel, 5);
f.right = new FormAttachment(keyManage, -10);
keyText.setLayoutData(f);
control = keyText;
-
+
f = new FormData();
f.top = new FormAttachment(control, 8 + centering);
f.left = new FormAttachment(0, 0);
hardwareLabel.setLayoutData(f);
-
+
f = new FormData();
f.top = new FormAttachment(control, 8);
f.left = new FormAttachment(hardwareLabel, 5);
f.right = new FormAttachment(100, 0);
hardware.setLayoutData(f);
-
+
f = new FormData();
f.top = new FormAttachment(hardware, 10);
f.left = new FormAttachment(0, 0);
@@ -451,7 +449,7 @@
// in their values such as the architecture and hardware profiles.
String defaultImage = cloud.getLastImageId();
model.setImageId(defaultImage);
-
+
setControl(container);
}
@@ -468,7 +466,7 @@
private NewInstanceModel.ImageContainer container;
private NewInstancePage2 page;
- public ArchAdapter(Label archLabel,
+ public ArchAdapter(Label archLabel,
NewInstanceModel.ImageContainer container,
NewInstancePage2 page) {
this.archLabel = archLabel;
@@ -489,11 +487,11 @@
}
}
}
-
+
/**
- * Binds the architecture label to the given image id text widget. Attaches a
- * listener to the image id text widget Adds a validity decorator to the image text
- * widget.
+ * Binds the architecture label to the given image id text widget. Attaches
+ * a listener to the image id text widget Adds a validity decorator to the
+ * image text widget.
*
* @param dbc
* the databinding context to use
@@ -520,7 +518,7 @@
ControlDecorationSupport.create(binding, SWT.LEFT | SWT.TOP);
return binding;
}
-
+
/**
* Bind the given text widget to the cloud connection model. Attaches
* validator to the binding that enforce a non-empty input.
@@ -535,11 +533,57 @@
WidgetProperties.text(SWT.Modify).observe(text),
BeanProperties.value(NewInstanceModel.class, property)
.observe(model),
- new UpdateValueStrategy().setBeforeSetValidator(new
MandatoryStringValidator(WizardMessages.getString(errMsgId))),
+ new UpdateValueStrategy().setBeforeSetValidator(new
MandatoryStringValidator(WizardMessages
+ .getString(errMsgId))),
null);
ControlDecorationSupport.create(nameTextBinding, SWT.LEFT | SWT.TOP);
}
+ private List<String> getRealmNames(List<DeltaCloudRealm> realms) {
+ List<String> realmNames = new ArrayList<String>();
+ for (DeltaCloudRealm realm : realms) {
+ realmNames.add(
+ new StringBuilder()
+ .append(realm.getId())
+ .append(" [") //$NON-NLS-1$
+ .append(realm.getName())
+ .append("]") //$NON-NLS-1$
+ .toString());
+ }
+ return realmNames;
+ }
+ private List<DeltaCloudRealm> getRealms() {
+ List<DeltaCloudRealm> realms = new ArrayList<DeltaCloudRealm>();
+ try {
+ realms = Arrays.asList(cloud.getRealms());
+ } catch (DeltaCloudException e) {
+ ErrorUtils.openErrorDialog("Error",
+ MessageFormat.format("Could not get realms from cloud {0}",
cloud.getName()), e, getShell());
+ }
+ return realms;
+ }
+ /**
+ * Creates the control that shall display the available realms. It creates
+ * either a combo, if there are realms available, or a label if none are
+ * available.
+ *
+ * @param parent
+ * the container
+ * @param realmNames
+ * the realm names
+ */
+ private void createRealmsControl(final Composite parent, List<String> realmNames)
{
+ if (realmNames.size() > 0) {
+ Combo combo = new Combo(parent, SWT.BORDER | SWT.READ_ONLY);
+ combo.setItems(realmNames.toArray(new String[realmNames.size()]));
+ combo.setText(realmNames.get(0));
+ realmCombo = combo;
+ } else {
+ Label label = new Label(parent, SWT.NULL);
+ label.setText(WizardMessages.getString(NONE_RESPONSE));
+ realmCombo = label;
+ }
+ }
}
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstanceWizard2.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstanceWizard2.java 2010-11-17
15:07:21 UTC (rev 26671)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstanceWizard2.java 2010-11-17
15:22:25 UTC (rev 26672)
@@ -26,6 +26,7 @@
import org.jboss.tools.deltacloud.core.DeltaCloud;
import org.jboss.tools.deltacloud.core.DeltaCloudException;
import org.jboss.tools.deltacloud.core.DeltaCloudInstance;
+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;
@@ -54,7 +55,6 @@
@Override
public void addPages() {
- // TODO Auto-generated method stub
mainPage = new NewInstancePage2(cloud);
addPage(mainPage);
}
@@ -129,8 +129,8 @@
// Save persistent settings for this particular cloud
cloud.setLastImageId(imageId);
cloud.setLastKeyname(keyname);
- cloud.save();
-
+ DeltaCloudManager.getDefault().saveClouds();
+
Preferences prefs = new InstanceScope().getNode(Activator.PLUGIN_ID);
try {
Modified:
trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/core/DeltaCloudMockIntegrationTest.java
===================================================================
---
trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/core/DeltaCloudMockIntegrationTest.java 2010-11-17
15:07:21 UTC (rev 26671)
+++
trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/core/DeltaCloudMockIntegrationTest.java 2010-11-17
15:22:25 UTC (rev 26672)
@@ -16,6 +16,7 @@
import java.net.MalformedURLException;
import org.jboss.tools.deltacloud.core.DeltaCloud;
+import org.jboss.tools.deltacloud.core.DeltaCloudException;
import org.jboss.tools.deltacloud.core.client.DeltaCloudClientException;
import org.jboss.tools.internal.deltacloud.test.context.MockIntegrationTestContext;
import org.jboss.tools.internal.deltacloud.test.fakes.ServerFake;
@@ -47,7 +48,7 @@
}
@Test
- public void testConnectionReportsFalseOnAuthFailure() throws MalformedURLException,
DeltaCloudClientException {
+ public void testConnectionReportsFalseOnAuthFailure() throws MalformedURLException,
DeltaCloudClientException, DeltaCloudException {
ServerFake serverFake = setupServerFake("HTTP/1.1 403 Forbidden\n\n\n");
try {
DeltaCloud deltaCloud = new DeltaCloud(
@@ -62,7 +63,7 @@
}
@Test(expected = DeltaCloudClientException.class)
- public void testConnectionThrowsOnGeneralFailure() throws MalformedURLException,
DeltaCloudClientException {
+ public void testConnectionThrowsOnGeneralFailure() throws MalformedURLException,
DeltaCloudClientException, DeltaCloudException {
ServerFake serverFake = setupServerFake("HTTP/1.1 501 Some Error\ndummy dummy
dummy\n\n");
try {
DeltaCloud deltaCloud = new DeltaCloud("aName",
"http://localhost:" + ServerFake.DEFAULT_PORT, "badUser",