List of usage examples for com.google.gson.stream JsonReader peek
public JsonToken peek() throws IOException
From source file:one.talon.api.JSON.java
License:Apache License
@Override public DateTime read(JsonReader in) throws IOException { switch (in.peek()) { case NULL:/* ww w. j av a2s . c o m*/ in.nextNull(); return null; default: String date = in.nextString(); if (date.equals("0001-01-01T00:00:00Z")) { // explicitly convert to ISO8601 format date in case of empty "golang" string date = "0001-01-01T00:00:00.000+0000"; } return formatter.parseDateTime(date); } }
From source file:one.talon.api.JSON.java
License:Apache License
@Override public LocalDate read(JsonReader in) throws IOException { switch (in.peek()) { case NULL://from ww w . j a v a 2 s. c o m in.nextNull(); return null; default: String date = in.nextString(); if (date.equals("0001-01-01T00:00:00Z")) { // explicitly convert to ISO8601 format date in case of empty "golang" string date = "0001-01-01T00:00:00.000+0000"; } return formatter.parseLocalDate(date); } }
From source file:ooo.oxo.moments.net.TimestampTypeAdapter.java
License:Open Source License
@Override public Date read(JsonReader in) throws IOException { if (in.peek() == JsonToken.NULL) { in.nextNull();/*ww w. j av a2 s . c o m*/ return null; } else { return new Date(Long.parseLong(in.nextString()) * 1000l); } }
From source file:ooo.oxo.mr.net.ColorTypeAdapter.java
License:Open Source License
@Override public Color read(JsonReader in) throws IOException { if (in.peek() == JsonToken.NULL) { in.nextNull();/*from w w w .j av a2 s .c o m*/ return null; } else { try { return Color.parse(in.nextString()); } catch (IllegalArgumentException e) { throw new JsonParseException(e); } } }
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(); InputNode inputNode;/*from w ww. j a v a2 s . co m*/ 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(); OutputNode outputNode;/*from w ww . j a v a 2s .c o m*/ 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 void readWorkflowLinks(JsonReader jsonReader) throws IOException, ParserException { JsonToken peek = jsonReader.peek(); if (peek == JsonToken.NULL) { throw new ParserException( "Error! Workflow should have connecting links, found " + getTokenString(peek)); } else if (peek == JsonToken.BEGIN_ARRAY) { jsonReader.beginArray();/*from ww w . java 2s .c om*/ while (jsonReader.hasNext()) { links.add(readLink(jsonReader)); } jsonReader.endArray(); } else { throw new ParserException("Error! Unsupported value for workflow links, expected " + getTokenString(JsonToken.BEGIN_ARRAY) + " but found" + getTokenString(peek)); } }
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(); PortModel portModel;// w w w.j a v a 2s . co m 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. 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(); if (peek == JsonToken.NULL) { jsonReader.nextNull();//from w w w . j a v a2 s . c o m } else if (peek == JsonToken.BEGIN_OBJECT) { jsonReader.beginObject(); while (jsonReader.hasNext()) { // skip position data. jsonReader.nextName(); jsonReader.skipValue(); } jsonReader.endObject(); } else { jsonReader.skipValue(); } }