List of usage examples for com.google.gson.stream JsonReader beginObject
public void beginObject() throws IOException
From source file:ninja.leaping.configurate.gson.GsonConfigurationLoader.java
License:Apache License
private void parseObject(JsonReader parser, ConfigurationNode node) throws IOException { parser.beginObject(); JsonToken token;// w w w . j a va 2 s.com while ((token = parser.peek()) != null) { switch (token) { case END_OBJECT: case END_DOCUMENT: parser.endObject(); return; case NAME: parseValue(parser, node.getNode(parser.nextName())); break; default: throw new JsonParseException("Received improper object value " + token); } } throw new JsonParseException("Reached end of stream with unclosed object!"); }
From source file:org.apache.airavata.workflow.core.parser.JsonWorkflowParser.java
License:Apache License
private void readWorkflowInfo(JsonReader jsonReader) throws IOException, ParserException { jsonReader.beginObject(); String name;//from w w w . j av a 2s . c o m while (jsonReader.hasNext()) { name = jsonReader.nextName(); if (name.equals(NAME)) { workflowInfo.setName(jsonReader.nextString()); } else if (name.equals(ID)) { workflowInfo.setId(jsonReader.nextString()); } else if (name.equals(DESCRIPTION)) { workflowInfo.setDescription(jsonReader.nextString()); } else if (name.equals(VERSION)) { workflowInfo.setVersion(jsonReader.nextString()); } else if (name.equals(APPLICATIONS)) { readApplications(jsonReader); } else if (name.equals(WORKFLOW_INPUTS)) { readWorkflowInputs(jsonReader); } else if (name.equals(WORKFLOW_OUTPUTS)) { readWorkflowOutputs(jsonReader); } else if (name.equals(LINKS)) { readWorkflowLinks(jsonReader); } else { jsonReader.skipValue(); } } jsonReader.endObject(); //TODO: set count properties of workflow info object }
From source file:org.apache.airavata.workflow.core.parser.JsonWorkflowParser.java
License:Apache License
private void readWorkflowInputs(JsonReader jsonReader) throws ParserException, IOException { JsonToken peek = jsonReader.peek();/*w w w .ja va 2 s. c o m*/ InputNode inputNode; NodeModel nodeModel; ComponentStatus status; String name; if (peek == JsonToken.NULL) { throw new ParserException("Error! workflow inputs can't be null"); } else if (peek == JsonToken.BEGIN_ARRAY) { jsonReader.beginArray(); while (jsonReader.hasNext()) { jsonReader.beginObject(); nodeModel = new NodeModel(); status = new ComponentStatus(); status.setState(ComponentState.CREATED); status.setReason("Created"); nodeModel.setStatus(status); inputNode = new InputNodeImpl(nodeModel); while (jsonReader.hasNext()) { name = jsonReader.nextName(); if (name.equals(NAME)) { nodeModel.setName(jsonReader.nextString()); } else if (name.equals(ID)) { nodeModel.setNodeId(jsonReader.nextString()); } else if (name.equals(DATATYPE)) { inputNode.setDataType(DataType.valueOf(jsonReader.nextString())); } else if (name.equals(DESCRIPTION)) { nodeModel.setDescription(jsonReader.nextString()); } else if (name.equals(POSITION)) { readPosition(jsonReader); } else if (name.equals(NODE_ID)) { jsonReader.skipValue(); // nodeModel.setNodeId(jsonReader.nextString()); } else if (name.equals(DEFAULT_VALUE)) { inputNode.setValue(jsonReader.nextString()); } else { jsonReader.skipValue(); } } jsonReader.endObject(); inputs.add(inputNode); } jsonReader.endArray(); } else { throw new ParserException("Error! Unsupported value for Workflow Inputs, exptected " + getTokenString(JsonToken.BEGIN_OBJECT) + " but found" + getTokenString(peek)); } }
From source file:org.apache.airavata.workflow.core.parser.JsonWorkflowParser.java
License:Apache License
private void readWorkflowOutputs(JsonReader jsonReader) throws IOException, ParserException { JsonToken peek = jsonReader.peek();/*from w w w.j a va2 s . c o m*/ OutputNode outputNode; NodeModel nodeModel; ComponentStatus status; String name; if (peek == JsonToken.NULL) { throw new ParserException("Error! workflow outputs can't be null"); } else if (peek == JsonToken.BEGIN_ARRAY) { jsonReader.beginArray(); while (jsonReader.hasNext()) { jsonReader.beginObject(); nodeModel = new NodeModel(); status = new ComponentStatus(); status.setState(ComponentState.CREATED); status.setReason("Created"); nodeModel.setStatus(status); outputNode = new OutputNodeImpl(nodeModel); while (jsonReader.hasNext()) { name = jsonReader.nextName(); if (name.equals(NAME)) { nodeModel.setName(jsonReader.nextString()); } else if (name.equals(ID)) { nodeModel.setNodeId(jsonReader.nextString()); } else if (name.equals(DATATYPE)) { jsonReader.skipValue(); } else if (name.equals(DESCRIPTION)) { nodeModel.setDescription(jsonReader.nextString()); } else if (name.equals(POSITION)) { readPosition(jsonReader); } else if (name.equals(NODE_ID)) { jsonReader.skipValue(); // nodeModel.setNodeId(jsonReader.nextString()); } else if (name.equals(DEFAULT_VALUE)) { jsonReader.skipValue(); } else { jsonReader.skipValue(); } } jsonReader.endObject(); outputs.add(outputNode); } jsonReader.endArray(); } else { throw new ParserException("Error! Unsupported value for Workflow Outputs, exptected " + getTokenString(JsonToken.BEGIN_OBJECT) + " but found" + getTokenString(peek)); } }
From source file:org.apache.airavata.workflow.core.parser.JsonWorkflowParser.java
License:Apache License
private Link readLink(JsonReader jsonReader) throws IOException { jsonReader.beginObject(); String name = null;/*from w ww.ja v a 2 s . c om*/ Link link = new Link(); while (jsonReader.hasNext()) { name = jsonReader.nextName(); if (name.equals(DESCRIPTION)) { link.setDescription(jsonReader.nextString()); } else if (name.equals(FROM)) { link.setFrom(readLinkHelper(jsonReader)); } else if (name.equals(TO)) { link.setTo(readLinkHelper(jsonReader)); } else if (name.equals(ID)) { link.setId(jsonReader.nextString()); } else { jsonReader.skipValue(); } } jsonReader.endObject(); return link; }
From source file:org.apache.airavata.workflow.core.parser.JsonWorkflowParser.java
License:Apache License
private LinkHelper readLinkHelper(JsonReader jsonReader) throws IOException { jsonReader.beginObject(); String name;/*from w w w .ja v a2 s .c o m*/ LinkHelper helper = new LinkHelper(); while (jsonReader.hasNext()) { name = jsonReader.nextName(); if (name.equals(NODE_ID)) { helper.setNodeId(jsonReader.nextString()); } else if (name.equals(OUTPUT_ID) || name.equals(INPUT_ID)) { helper.setPortId(jsonReader.nextString()); } else { jsonReader.skipValue(); } } jsonReader.endObject(); return helper; }
From source file:org.apache.airavata.workflow.core.parser.JsonWorkflowParser.java
License:Apache License
private ApplicationNode readApplication(JsonReader jsonReader) throws IOException, ParserException { jsonReader.beginObject(); NodeModel nodeModel = new NodeModel(); ComponentStatus status = new ComponentStatus(); status.setState(ComponentState.CREATED); status.setReason("Created"); nodeModel.setStatus(status);//from w w w .j a va 2 s .co m ApplicationNode applicationNode = new ApplicationNodeImpl(nodeModel); String name; while (jsonReader.hasNext()) { name = jsonReader.nextName(); if (name.equals(APPLICATION_ID)) { nodeModel.setApplicationId(jsonReader.nextString()); } else if (name.equals(NAME)) { nodeModel.setName(jsonReader.nextString()); } else if (name.equals(DESCRIPTION)) { nodeModel.setDescription(jsonReader.nextString()); } else if (name.equals(APPTYPE)) { jsonReader.skipValue(); } else if (name.equals(INPUTS)) { applicationNode.addInputPorts(readApplicationInputs(jsonReader)); } else if (name.equals(OUTPUTS)) { applicationNode.addOutPorts(readApplicationOutputs(jsonReader)); } else if (name.equals(POSITION)) { readPosition(jsonReader); } else if (name.equals(NODE_ID)) { nodeModel.setNodeId(jsonReader.nextString()); } else if (name.equals(PARALLEL_EXECUTION)) { jsonReader.skipValue(); } else if (name.equals(PROPERTIES)) { readProperties(jsonReader); } } jsonReader.endObject(); return applicationNode; }
From source file:org.apache.airavata.workflow.core.parser.JsonWorkflowParser.java
License:Apache License
private List<InPort> readApplicationInputs(JsonReader jsonReader) throws IOException, ParserException { List<InPort> inPorts = new ArrayList<>(); JsonToken peek = jsonReader.peek();/*from www. jav a 2 s. com*/ PortModel portModel; InPort inPort; String name; if (peek == JsonToken.NULL) { jsonReader.nextNull(); } else if (peek == JsonToken.BEGIN_ARRAY) { jsonReader.beginArray(); while (jsonReader.hasNext()) { portModel = new PortModel(); inPort = new InputPortIml(portModel); jsonReader.beginObject(); while (jsonReader.hasNext()) { name = jsonReader.nextName(); if (name.equals(NAME)) { portModel.setName(jsonReader.nextString()); } else if (name.equals(ID)) { portModel.setPortId(jsonReader.nextString()); } else if (name.equals(DATATYPE)) { jsonReader.skipValue(); } else if (name.equals(DEFAULT_VALUE)) { inPort.setDefaultValue(jsonReader.nextString()); } else if (name.equals(DESCRIPTION)) { portModel.setDescription(jsonReader.nextString()); } else { jsonReader.skipValue(); } } jsonReader.endObject(); inPorts.add(inPort); } jsonReader.endArray(); } else { throw new ParserException( "Error! reading application inputs, expected " + getTokenString(JsonToken.NULL) + " or " + getTokenString(JsonToken.BEGIN_ARRAY) + " but found " + getTokenString(peek)); } return inPorts; }
From source file:org.apache.airavata.workflow.core.parser.JsonWorkflowParser.java
License:Apache License
private List<OutPort> readApplicationOutputs(JsonReader jsonReader) throws IOException, ParserException { List<OutPort> outPorts = new ArrayList<>(); PortModel portModel;// ww w .j a v a 2 s. co m OutPort outPort; String name; JsonToken peek = jsonReader.peek(); if (peek == JsonToken.NULL) { jsonReader.nextNull(); } else if (peek == JsonToken.BEGIN_ARRAY) { jsonReader.beginArray(); while (jsonReader.hasNext()) { portModel = new PortModel(); outPort = new OutPortImpl(portModel); jsonReader.beginObject(); while (jsonReader.hasNext()) { name = jsonReader.nextName(); if (name.equals(NAME)) { portModel.setName(jsonReader.nextString()); } else if (name.equals(ID)) { portModel.setPortId(jsonReader.nextString()); } else if (name.equals(DATATYPE)) { jsonReader.skipValue(); } else if (name.equals(DEFAULT_VALUE)) { jsonReader.skipValue(); // can output has default values? } else if (name.equals(DESCRIPTION)) { portModel.setDescription(jsonReader.nextString()); } else { jsonReader.skipValue(); } } jsonReader.endObject(); outPorts.add(outPort); } jsonReader.endArray(); } else { throw new ParserException( "Error! reading application outputs, expected " + getTokenString(JsonToken.NULL) + " or " + getTokenString(JsonToken.BEGIN_ARRAY) + " but found " + getTokenString(peek)); } return outPorts; }
From source file:org.apache.airavata.workflow.core.parser.JsonWorkflowParser.java
License:Apache License
private void readPosition(JsonReader jsonReader) throws IOException { JsonToken peek = jsonReader.peek();//from w w w. jav a 2s. c om if (peek == JsonToken.NULL) { jsonReader.nextNull(); } else if (peek == JsonToken.BEGIN_OBJECT) { jsonReader.beginObject(); while (jsonReader.hasNext()) { // skip position data. jsonReader.nextName(); jsonReader.skipValue(); } jsonReader.endObject(); } else { jsonReader.skipValue(); } }