Author: adietish
Date: 2011-09-07 09:29:55 -0400 (Wed, 07 Sep 2011)
New Revision: 34569
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/AbstractOpenshiftJsonResponseUnmarshaller.java
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftTest.java
Log:
[JBIDE-9510] implemented unmarshalling of cartridge list (not working with the real
service yet since they send invalid json. My impl assumes they corrected the invalid
json)
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/AbstractOpenshiftJsonResponseUnmarshaller.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/AbstractOpenshiftJsonResponseUnmarshaller.java 2011-09-07
10:51:53 UTC (rev 34568)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.core/src/org/jboss/ide/eclipse/as/openshift/internal/core/response/AbstractOpenshiftJsonResponseUnmarshaller.java 2011-09-07
13:29:55 UTC (rev 34569)
@@ -12,6 +12,7 @@
import org.eclipse.osgi.util.NLS;
import org.jboss.dmr.ModelNode;
+import org.jboss.dmr.ModelType;
import org.jboss.ide.eclipse.as.openshift.core.IOpenshiftJsonConstants;
import org.jboss.ide.eclipse.as.openshift.core.OpenshiftException;
@@ -30,8 +31,8 @@
try {
ModelNode node = ModelNode.fromJSONString(response);
boolean debug = node.get(IOpenshiftJsonConstants.PROPERTY_DEBUG).asBoolean();
- String messages = node.get(IOpenshiftJsonConstants.PROPERTY_MESSAGES).asString();
- String result = node.get(IOpenshiftJsonConstants.PROPERTY_RESULT).asString();
+ String messages = getString(IOpenshiftJsonConstants.PROPERTY_MESSAGES, node);
+ String result = getString(IOpenshiftJsonConstants.PROPERTY_RESULT, node);
int exitCode = node.get(IOpenshiftJsonConstants.PROPERTY_EXIT_CODE).asInt();
OPENSHIFTOBJECT openshiftObject =
createOpenshiftObject(node.get(IOpenshiftJsonConstants.PROPERTY_DATA));
return new OpenshiftResponse<OPENSHIFTOBJECT>(debug, messages, result,
openshiftObject, exitCode);
@@ -48,4 +49,12 @@
return response;
}
+ protected String getString(String property, ModelNode node) {
+ ModelNode propertyNode = node.get(property);
+ if (propertyNode.getType() == ModelType.UNDEFINED) {
+ return null;
+ }
+ return propertyNode.asString();
+ }
+
}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftTest.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftTest.java 2011-09-07
10:51:53 UTC (rev 34568)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.openshift.test/src/org/jboss/ide/eclipse/as/openshift/internal/test/core/OpenshiftTest.java 2011-09-07
13:29:55 UTC (rev 34569)
@@ -106,6 +106,10 @@
List<Cartridge> cartridges = response.getData();
assertEquals(5, cartridges.size());
assertThatContainsCartridge("perl-5.10", cartridges);
+ assertThatContainsCartridge("jbossas-7.0", cartridges);
+ assertThatContainsCartridge("wsgi-3.2", cartridges);
+ assertThatContainsCartridge("rack-1.1", cartridges);
+ assertThatContainsCartridge("php-5.3", cartridges);
assertEquals(null, response.getResult());
assertEquals(0, response.getExitCode());
Show replies by date