List of usage examples for com.google.gson.stream JsonReader endObject
public void endObject() throws IOException
From source file:net.oneandone.stool.configuration.adapter.ExtensionsAdapter.java
License:Apache License
@Override public Extensions read(JsonReader in) throws IOException { Extensions extensions;//from w w w .ja va 2 s. c o m String str; String name; Extension extension; Class<? extends Extension> clazz; extensions = new Extensions(); in.beginObject(); while (in.peek() == JsonToken.NAME) { str = in.nextName(); name = str.substring(1); clazz = factory.type(name); if (clazz == null) { throw new IOException("extension not found: " + name); } extension = gson.fromJson(in, clazz); extensions.add(name, str.startsWith("+"), extension); } in.endObject(); return extensions; }
From source file:net.visualillusionsent.newu.StationTracker.java
License:Open Source License
private void loadStations() { try {/* www. jav a2s . c om*/ File stationsJSON = new File(NewU.cfgDir, "stations.json"); if (!stationsJSON.exists()) { stationsJSON.createNewFile(); return; } JsonReader reader = new JsonReader(new FileReader(stationsJSON)); reader.beginObject(); // Begin main object while (reader.hasNext()) { String name = reader.nextName(); if (name.equals("Station")) { NewUStation temp = null; reader.beginObject(); // Begin Station String foundName = null; while (reader.hasNext()) { name = reader.nextName(); if (name.equals("Name")) { foundName = reader.nextString(); continue; } else if (name.equals("Location")) { reader.beginObject(); // Begin Location temp = new NewUStation(foundName, reader); // Pass reader into NewUStation object for parsing reader.endObject(); // End Location } else if (name.equals("Discoverers")) { reader.beginArray(); // Begin Discoverers while (reader.hasNext()) { if (temp != null) { temp.addDiscoverer(reader.nextString()); } } reader.endArray(); // End Discoverers } else { reader.skipValue(); // UNKNOWN THING } } if (temp != null) { stations.put(temp.getName(), temp); } reader.endObject(); //End Station } } reader.endObject(); // End main object reader.close(); } catch (IOException e) { logger.log(Level.SEVERE, "Failed to load stations..."); } }
From source file:ninja.leaping.configurate.gson.GsonConfigurationLoader.java
License:Apache License
private void parseObject(JsonReader parser, ConfigurationNode node) throws IOException { parser.beginObject();//from w w w. j ava 2s . co m JsonToken token; 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();/*from w ww. java 2 s . c o m*/ String name; 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. j av a 2s.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();/* w w w . j a v a2 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();// w w w .j a v a 2 s .com 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 ww w . j a va 2s. c o m 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 w w w.java 2 s . com*/ 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();//from ww w . j a va 2 s .c om 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; }