[jbosstools-commits] JBoss Tools SVN: r24281 - 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 18 20:02:44 EDT 2010
Author: jjohnstn
Date: 2010-08-18 20:02:44 -0400 (Wed, 18 Aug 2010)
New Revision: 24281
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-18 Jeff Johnston <jjohnstn at redhat.com>
* src/org/jboss/tools/deltacloud/core/client/DeltaCloudClient.java (checkForErrors): Make
the code smarter and look for status node. There are some internal errors that don't need
to be stopped for.
(buildInstance): Throw DeltaCloudClientException instead of returning null if an
unexpected type of Exception occurs.
* src/org/jboss/tools/deltacloud/core/client/Instance.java (setState): Set to BOGUS
if the state is not expected.
* src/org/jboss/tools/deltacloud/core/DeltaCloud.java (performInstanceAction): Throw
a DeltaCloudException if an low-level exception occurs.
(refreshInstance): Ignore a transition to a BOGUS state.
* src/org/jboss/tools/deltacloud/core/DeltaCloudInstance.java: Add new TERMINATED and
BOGUS state strings.
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/ChangeLog
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/ChangeLog 2010-08-18 23:59:05 UTC (rev 24280)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/ChangeLog 2010-08-19 00:02:44 UTC (rev 24281)
@@ -1,3 +1,18 @@
+2010-08-18 Jeff Johnston <jjohnstn at redhat.com>
+
+ * src/org/jboss/tools/deltacloud/core/client/DeltaCloudClient.java (checkForErrors): Make
+ the code smarter and look for status node. There are some internal errors that don't need
+ to be stopped for.
+ (buildInstance): Throw DeltaCloudClientException instead of returning null if an
+ unexpected type of Exception occurs.
+ * src/org/jboss/tools/deltacloud/core/client/Instance.java (setState): Set to BOGUS
+ if the state is not expected.
+ * src/org/jboss/tools/deltacloud/core/DeltaCloud.java (performInstanceAction): Throw
+ a DeltaCloudException if an low-level exception occurs.
+ (refreshInstance): Ignore a transition to a BOGUS state.
+ * src/org/jboss/tools/deltacloud/core/DeltaCloudInstance.java: Add new TERMINATED and
+ BOGUS state strings.
+
2010-08-17 Jeff Johnston <jjohnstn at redhat.com>
* src/org/jboss/tools/deltacloud/core/DeltaCloudInstance.java (getOwnerId): 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-18 23:59:05 UTC (rev 24280)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloud.java 2010-08-19 00:02:44 UTC (rev 24281)
@@ -147,7 +147,8 @@
for (int i = 0; i < instances.size(); ++i) {
DeltaCloudInstance inst = instances.get(i);
if (inst.getId().equals(instanceId)) {
- if (!inst.getState().equals(instance.getState())) {
+ // FIXME: remove BOGUS state when server fixes state problems
+ if (!(instance.getState().equals(DeltaCloudInstance.BOGUS)) && !(inst.getState().equals(instance.getState()))) {
instances.set(i, retVal);
DeltaCloudInstance[] instanceArray = new DeltaCloudInstance[instances.size()];
instanceArray = instances.toArray(instanceArray);
@@ -157,16 +158,16 @@
}
}
} catch (DeltaCloudClientException e) {
- // do nothing and return null
+ e.printStackTrace();
}
return retVal;
}
- public boolean performInstanceAction(String instanceId, String action) {
+ public boolean performInstanceAction(String instanceId, String action) throws DeltaCloudException {
try {
return client.performInstanceAction(instanceId, action);
} catch (DeltaCloudClientException e) {
- return false;
+ throw new DeltaCloudException(e);
}
}
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-18 23:59:05 UTC (rev 24280)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudInstance.java 2010-08-19 00:02:44 UTC (rev 24281)
@@ -10,6 +10,8 @@
public final static String PENDING = Instance.State.PENDING.toString();
public final static String RUNNING = Instance.State.RUNNING.toString();
public final static String STOPPED = Instance.State.STOPPED.toString();
+ public final static String TERMINATED = Instance.State.TERMINATED.toString();
+ public final static String BOGUS = Instance.State.BOGUS.toString();
public final static String START = Instance.Action.START.toString();
public final static String STOP = Instance.Action.STOP.toString();
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-18 23:59:05 UTC (rev 24280)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/DeltaCloudClient.java 2010-08-19 00:02:44 UTC (rev 24281)
@@ -254,14 +254,17 @@
private void checkForErrors(Document d) throws DeltaCloudClientException
{
NodeList n = d.getElementsByTagName("error");
- for (int i = 0; i < n.getLength();)
+ for (int i = 0; i < n.getLength(); ++i)
{
Node node = n.item(i);
+ Node statusNode = node.getAttributes().getNamedItem("status");
+ if (statusNode != null) {
String status = node.getAttributes().getNamedItem("status").getNodeValue();
if (status.equals("403"))
throw new DeltaCloudAuthException("Authorization error");
else
throw new DeltaCloudClientException("Connection error");
+ }
}
}
@@ -297,7 +300,8 @@
}
catch(Exception e)
{
- return null;
+ DeltaCloudClientException newException = new DeltaCloudClientException(e.getLocalizedMessage());
+ throw newException;
}
}
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-18 23:59:05 UTC (rev 24280)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/client/Instance.java 2010-08-19 00:02:44 UTC (rev 24281)
@@ -9,7 +9,7 @@
{
private static final long serialVersionUID = 1L;
- public static enum State { RUNNING, STOPPED, PENDING };
+ public static enum State { RUNNING, STOPPED, PENDING, TERMINATED, BOGUS };
public static enum Action { START, STOP, REBOOT, DESTROY };
@@ -92,7 +92,11 @@
protected void setState(String state)
{
- this.state = State.valueOf(state);
+ try {
+ this.state = State.valueOf(state);
+ } catch (Exception e) {
+ this.state = State.BOGUS;
+ }
}
@SuppressWarnings("unused")
More information about the jbosstools-commits
mailing list