protected static TestState fromJson(final String json) {
try {
GfJsonObject gfJsonObject = new GfJsonObject(json);
Status status = valueOfDescription(gfJsonObject.getString(JSON_STATUS));
List<String> jvmArguments = Arrays
.asList(GfJsonArray.toStringArray(gfJsonObject.getJSONArray(JSON_JVMARGUMENTS)));
return new TestState(status, gfJsonObject.getString(JSON_STATUSMESSAGE),
gfJsonObject.getLong(JSON_TIMESTAMP), gfJsonObject.getString(JSON_LOCATION),
gfJsonObject.getInt(JSON_PID), gfJsonObject.getLong(JSON_UPTIME),
gfJsonObject.getString(JSON_WORKINGDIRECTORY), jvmArguments,
gfJsonObject.getString(JSON_CLASSPATH), gfJsonObject.getString(JSON_GEMFIREVERSION),
gfJsonObject.getString(JSON_JAVAVERSION), gfJsonObject.getString(JSON_LOGFILE),
gfJsonObject.getString(JSON_HOST), gfJsonObject.getString(JSON_PORT),
gfJsonObject.getString(JSON_MEMBERNAME));
} catch (GfJsonException e) {
throw new IllegalArgumentException("Unable to create TestState from JSON: " + json);
}
}