[jbosstools-commits] JBoss Tools SVN: r24071 - in trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core: src/org/jboss/tools/deltacloud/core and 1 other directories.
jbosstools-commits at lists.jboss.org
jbosstools-commits at lists.jboss.org
Wed Aug 11 18:10:38 EDT 2010
Author: jjohnstn
Date: 2010-08-11 18:10:38 -0400 (Wed, 11 Aug 2010)
New Revision: 24071
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/DeltaCloudInstance.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/Instance.java
Log:
2010-08-11 Jeff Johnston <jjohnstn at redhat.com>
* src/org/jboss/tools/deltacloud/core/client/DeltaCloudClient.java (performInstanceAction): New method.
* src/org/jboss/tools/deltacloud/core/client/Instance.java (getActionNames): Ditto.
* src/org/jboss/tools/deltacloud/core/DeltaCloud.java (getCurrInstances): Ditto.
(performInstanceAction): Ditto.
(refreshInstance): Add notification.
* src/org/jboss/tools/deltacloud/core/DeltaCloudInstance.java (getActions): New method.
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/ChangeLog
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/ChangeLog 2010-08-11 21:41:52 UTC (rev 24070)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/ChangeLog 2010-08-11 22:10:38 UTC (rev 24071)
@@ -1,5 +1,14 @@
2010-08-11 Jeff Johnston <jjohnstn at redhat.com>
+ * src/org/jboss/tools/deltacloud/core/client/DeltaCloudClient.java (performInstanceAction): New method.
+ * src/org/jboss/tools/deltacloud/core/client/Instance.java (getActionNames): Ditto.
+ * src/org/jboss/tools/deltacloud/core/DeltaCloud.java (getCurrInstances): Ditto.
+ (performInstanceAction): Ditto.
+ (refreshInstance): Add notification.
+ * src/org/jboss/tools/deltacloud/core/DeltaCloudInstance.java (getActions): New method.
+
+2010-08-11 Jeff Johnston <jjohnstn at redhat.com>
+
* src/org/jboss/tools/deltacloud/core/DeltaCloud.java (getInstances): Make
instances a private field instead of local to the method.
(refreshInstance): New method.
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-08-11 21:41:52 UTC (rev 24070)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloud.java 2010-08-11 22:10:38 UTC (rev 24071)
@@ -90,17 +90,42 @@
return instanceArray;
}
+ public DeltaCloudInstance[] getCurrInstances() {
+ DeltaCloudInstance[] instanceArray = new DeltaCloudInstance[instances.size()];
+ instanceArray = instances.toArray(instanceArray);
+ return instanceArray;
+ }
+
public DeltaCloudInstance refreshInstance(String instanceId) {
DeltaCloudInstance retVal = null;
try {
Instance instance = client.listInstances(instanceId);
retVal = new DeltaCloudInstance(instance);
+ for (int i = 0; i < instances.size(); ++i) {
+ DeltaCloudInstance inst = instances.get(i);
+ if (inst.getId().equals(instanceId)) {
+ if (!inst.getState().equals(instance.getState())) {
+ instances.set(i, retVal);
+ DeltaCloudInstance[] instanceArray = new DeltaCloudInstance[instances.size()];
+ instanceArray = instances.toArray(instanceArray);
+ notifyInstanceListListeners(instanceArray);
+ return retVal;
+ }
+ }
+ }
} catch (DeltaCloudClientException e) {
// do nothing and return null
}
return retVal;
}
+ public boolean performInstanceAction(String instanceId, String action) {
+ try {
+ return client.performInstanceAction(instanceId, action);
+ } catch (DeltaCloudClientException e) {
+ return false;
+ }
+ }
public DeltaCloudHardwareProfile[] getProfiles() {
ArrayList<DeltaCloudHardwareProfile> profiles = new ArrayList<DeltaCloudHardwareProfile>();
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudInstance.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudInstance.java 2010-08-11 21:41:52 UTC (rev 24070)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudInstance.java 2010-08-11 22:10:38 UTC (rev 24071)
@@ -11,6 +11,11 @@
public final static String RUNNING = Instance.State.RUNNING.toString();
public final static String STOPPED = Instance.State.STOPPED.toString();
+ public final static String START = Instance.Action.START.toString();
+ public final static String STOP = Instance.Action.STOP.toString();
+ public final static String REBOOT = Instance.Action.REBOOT.toString();
+ public final static String DESTROY = Instance.Action.DESTROY.toString();
+
private Instance instance;
public DeltaCloudInstance(Instance instance) {
@@ -29,6 +34,10 @@
return instance.getState().toString();
}
+ public List<String> getActions() {
+ return instance.getActionNames();
+ }
+
public String getProfileId() {
return instance.getProfileId();
}
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-08-11 21:41:52 UTC (rev 24070)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClient.java 2010-08-11 22:10:38 UTC (rev 24071)
@@ -464,6 +464,18 @@
return JAXB.unmarshal(new StringReader(nodeToString(node)), clazz);
}
}
+
+ public boolean performInstanceAction(String instanceId, String action) throws DeltaCloudClientException
+ {
+ Instance instance = listInstances(instanceId);
+ if(instance.getActionNames().contains(action))
+ {
+ String request = DCNS.INSTANCES + "/" + instanceId + "/" + action.toLowerCase();
+ sendRequest(request, RequestType.POST);
+ return true;
+ }
+ return false;
+ }
private String nodeToString(Node node) throws DeltaCloudClientException
{
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Instance.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Instance.java 2010-08-11 21:41:52 UTC (rev 24070)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Instance.java 2010-08-11 22:10:38 UTC (rev 24071)
@@ -1,5 +1,6 @@
package org.jboss.tools.deltacloud.core.client;
+import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlElement;
@@ -153,6 +154,16 @@
return actions;
}
+ public List<String> getActionNames()
+ {
+ ArrayList<String>names = new ArrayList<String>();
+ for (Action action : actions)
+ {
+ names.add(action.name());
+ }
+ return names;
+ }
+
public List<String> getPublicAddresses()
{
return publicAddresses.getAddress();
More information about the jbosstools-commits
mailing list