Author: rob.stryker(a)jboss.com
Date: 2011-01-25 19:03:09 -0500 (Tue, 25 Jan 2011)
New Revision: 28605
Added:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/job/LoadCloudImagesJob.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/job/LoadCloudInstancesJob.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/job/RefreshCloudJob.java
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/Activator.java
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/client/DeltaCloudClientImpl.java
Log:
JBIDE-8224 - initial commit for CNF based CloudView
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/Activator.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/Activator.java 2011-01-25
21:47:28 UTC (rev 28604)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/Activator.java 2011-01-26
00:03:09 UTC (rev 28605)
@@ -11,11 +11,14 @@
package org.jboss.tools.deltacloud.core;
import java.lang.reflect.InvocationTargetException;
+import java.util.ArrayList;
+import java.util.List;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Plugin;
import org.eclipse.core.runtime.Status;
+import org.jboss.tools.common.log.StatusFactory;
import org.osgi.framework.BundleContext;
/**
@@ -81,5 +84,14 @@
status = new Status(IStatus.ERROR, PLUGIN_ID, IStatus.OK, e.getMessage(), e);
log(status);
}
-
+ public static IStatus createMultiStatus(DeltaCloudMultiException throwable) {
+ List<IStatus> states = new
ArrayList<IStatus>(throwable.getThrowables().size());
+ for (Throwable childThrowable : throwable.getThrowables()) {
+ IStatus status = StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID,
childThrowable.getMessage(),
+ childThrowable);
+ states.add(status);
+ }
+ return StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID,
throwable.getMessage(), throwable,
+ states.toArray(new IStatus[states.size()]));
+ }
}
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 2011-01-25
21:47:28 UTC (rev 28604)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloud.java 2011-01-26
00:03:09 UTC (rev 28605)
@@ -362,6 +362,14 @@
}
}
+ public boolean imagesLoaded() {
+ return images == null ? false : true;
+ }
+
+ public boolean instancesLoaded() {
+ return instanceRepo == null ? false : true;
+ }
+
private void clearInstances() {
// TODO: remove notification with all instanceRepo, replace by
// notifying the changed instance
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 2011-01-25
21:47:28 UTC (rev 28604)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClientImpl.java 2011-01-26
00:03:09 UTC (rev 28605)
@@ -11,6 +11,7 @@
package org.jboss.tools.deltacloud.core.client;
import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
@@ -60,6 +61,7 @@
import org.jboss.tools.deltacloud.core.client.unmarshal.KeysUnmarshaller;
import org.jboss.tools.deltacloud.core.client.unmarshal.RealmUnmarshaller;
import org.jboss.tools.deltacloud.core.client.unmarshal.RealmsUnmarshaller;
+import org.jboss.tools.deltacloud.core.client.utils.StringUtils;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
Added:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/job/LoadCloudImagesJob.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/job/LoadCloudImagesJob.java
(rev 0)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/job/LoadCloudImagesJob.java 2011-01-26
00:03:09 UTC (rev 28605)
@@ -0,0 +1,29 @@
+package org.jboss.tools.deltacloud.core.job;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.jboss.tools.deltacloud.core.DeltaCloud;
+
+public class LoadCloudImagesJob extends AbstractCloudElementJob {
+
+ private DeltaCloud cloud;
+ private Runnable post = null;
+ public LoadCloudImagesJob(DeltaCloud cloud) {
+ super("Loading Cloud Images for cloud " + cloud.getName(),
+ cloud, CLOUDELEMENT.INSTANCES);
+ this.cloud = cloud;
+ }
+ public LoadCloudImagesJob(DeltaCloud cloud, Runnable post) {
+ this(cloud);
+ this.post = post;
+ }
+
+ @Override
+ protected IStatus doRun(IProgressMonitor monitor) throws Exception {
+ cloud.loadImages();
+ if( post != null )
+ post.run();
+ return Status.OK_STATUS;
+ }
+}
Added:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/job/LoadCloudInstancesJob.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/job/LoadCloudInstancesJob.java
(rev 0)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/job/LoadCloudInstancesJob.java 2011-01-26
00:03:09 UTC (rev 28605)
@@ -0,0 +1,29 @@
+package org.jboss.tools.deltacloud.core.job;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.jboss.tools.deltacloud.core.DeltaCloud;
+
+public class LoadCloudInstancesJob extends AbstractCloudElementJob {
+
+ private DeltaCloud cloud;
+ private Runnable post = null;
+ public LoadCloudInstancesJob(DeltaCloud cloud) {
+ super("Loading Cloud Instances for cloud " + cloud.getName(),
+ cloud, CLOUDELEMENT.INSTANCES);
+ this.cloud = cloud;
+ }
+ public LoadCloudInstancesJob(DeltaCloud cloud, Runnable post) {
+ this(cloud);
+ this.post = post;
+ }
+
+ @Override
+ protected IStatus doRun(IProgressMonitor monitor) throws Exception {
+ cloud.loadInstances();
+ if( post != null )
+ post.run();
+ return Status.OK_STATUS;
+ }
+}
Added:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/job/RefreshCloudJob.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/job/RefreshCloudJob.java
(rev 0)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/job/RefreshCloudJob.java 2011-01-26
00:03:09 UTC (rev 28605)
@@ -0,0 +1,25 @@
+package org.jboss.tools.deltacloud.core.job;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.jboss.tools.deltacloud.core.Activator;
+import org.jboss.tools.deltacloud.core.DeltaCloud;
+import org.jboss.tools.deltacloud.core.DeltaCloudMultiException;
+
+public class RefreshCloudJob extends AbstractCloudJob {
+
+ public RefreshCloudJob(DeltaCloud cloud) {
+ super("Refreshing images and instances on " + cloud.getName(), cloud);
+ }
+
+ protected IStatus doRun(IProgressMonitor monitor) throws Exception {
+ try {
+ getCloud().loadChildren();
+ } catch (DeltaCloudMultiException e) {
+ return Activator.createMultiStatus(e);
+ }
+ return Status.OK_STATUS;
+ }
+
+}