String rootTokenId = JSONWalk.on(jso).next("id").asString();
//String name = JSONWalk.on(jso).next("name").asString();
String nodeName = JSONWalk.on(jso).next("currentNodeName").asString();
// TDOD: Fix token name
TokenReference rt = new TokenReference(rootTokenId, "", nodeName);
boolean canBeSignaled = JSONWalk.on(jso).next("canBeSignaled").asBool();
rt.setCanBeSignaled(canBeSignaled);
JSONArray signals = JSONWalk.on(jso).next("availableSignals").asArray();
for (int i = 0; i < signals.size(); i++)
{
JSONValue jsonValue = signals.get(i);
if (jsonValue.toString().equals("null"))
{
ConsoleLog.debug("FIXME JBPM-1828: Null value on availableSignals:" + signals.toString());
continue; // TODO: JBPM-1828
}
JSONString item = jsonValue.isString();
rt.getAvailableSignals().add(item.stringValue());
}
JSONArray childArr = JSONWalk.on(jso).next("children").asArray();
for (int i = 0; i < childArr.size(); i++)
{
JSONObject item = childArr.get(i).isObject();
rt.getChildren().add(parseTokenReference(item));
}
return rt;
}