List of usage examples for com.google.gson.stream JsonReader nextName
public String nextName() throws IOException
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();/*from w w w. j a v a 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 v a2s . co 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();//from w w w . ja v a 2s . c om String name = null; 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();//from w w w . ja va 2 s .c om String name; 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();//from www .j av a 2 s .co m NodeModel nodeModel = new NodeModel(); ComponentStatus status = new ComponentStatus(); status.setState(ComponentState.CREATED); status.setReason("Created"); nodeModel.setStatus(status); 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();// www .jav a 2s . c o m 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;//from ww w. j ava2 s. c om 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 .ja v a 2 s. c o m 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(); } }
From source file:org.apache.airavata.workflow.core.parser.JsonWorkflowParser.java
License:Apache License
private void readProperties(JsonReader jsonReader) throws IOException { JsonToken peek = jsonReader.peek();/*from w w w.j ava 2s . c o m*/ if (peek == JsonToken.NULL) { jsonReader.nextNull(); } else if (peek == JsonToken.BEGIN_OBJECT) { jsonReader.beginObject(); while (jsonReader.hasNext()) { // TODO: Read and use proprety values String name = jsonReader.nextName(); jsonReader.skipValue(); } jsonReader.endObject(); } else { jsonReader.skipValue(); } }
From source file:org.apache.ambari.view.hive.resources.uploads.parsers.json.JSONIterator.java
License:Apache License
private LinkedHashMap<String, String> readNextObject(JsonReader reader) throws IOException, EndOfDocumentException { LinkedHashMap<String, String> row = new LinkedHashMap<>(); boolean objectStarted = false; boolean shouldBeName = false; String currentName = null;/*from w w w .ja va 2s.c o m*/ while (true) { JsonToken token = reader.peek(); switch (token) { case BEGIN_ARRAY: throw new IllegalArgumentException("Row data cannot have an array."); case END_ARRAY: throw new EndOfDocumentException("End of Json Array document."); case BEGIN_OBJECT: if (objectStarted == true) { throw new IllegalArgumentException("Nested objects not supported."); } if (shouldBeName == true) { throw new IllegalArgumentException("name expected, got begin_object"); } objectStarted = true; shouldBeName = true; reader.beginObject(); break; case END_OBJECT: if (shouldBeName == false) { throw new IllegalArgumentException("value expected, got end_object"); } reader.endObject(); return row; case NAME: if (shouldBeName == false) { throw new IllegalArgumentException("name not expected at this point."); } shouldBeName = false; currentName = reader.nextName(); break; case NUMBER: case STRING: if (shouldBeName == true) { throw new IllegalArgumentException("value not expected at this point."); } String n = reader.nextString(); row.put(currentName, n); shouldBeName = true; break; case BOOLEAN: if (shouldBeName == true) { throw new IllegalArgumentException("value not expected at this point."); } String b = String.valueOf(reader.nextBoolean()); row.put(currentName, b); shouldBeName = true; break; case NULL: if (shouldBeName == true) { throw new IllegalArgumentException("value not expected at this point."); } reader.nextNull(); row.put(currentName, ""); shouldBeName = true; break; case END_DOCUMENT: return row; default: throw new IllegalArgumentException( "Illegal token detected inside json: token : " + token.toString()); } } }