[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