List of usage examples for com.google.gson.stream JsonReader endObject
public void endObject() throws IOException
From source file:org.opendaylight.restconf.jersey.providers.JsonToPATCHBodyReader.java
License:Open Source License
/** * Parse data defined in value node and saves it to buffer * @param value Buffer to read value node * @param in JsonReader reader//www. j a v a 2 s . com * @throws IOException */ private void readValueNode(@Nonnull final StringBuffer value, @Nonnull final JsonReader in) throws IOException { in.beginObject(); value.append("{"); value.append("\"" + in.nextName() + "\"" + ":"); if (in.peek() == JsonToken.BEGIN_ARRAY) { in.beginArray(); value.append("["); while (in.hasNext()) { readValueObject(value, in); if (in.peek() != JsonToken.END_ARRAY) { value.append(","); } } in.endArray(); value.append("]"); } else { readValueObject(value, in); } in.endObject(); value.append("}"); }
From source file:org.opendaylight.restconf.jersey.providers.JsonToPATCHBodyReader.java
License:Open Source License
/** * Parse one value object of data and saves it to buffer * @param value Buffer to read value object * @param in JsonReader reader/*www . ja v a 2 s . com*/ * @throws IOException */ private void readValueObject(@Nonnull final StringBuffer value, @Nonnull final JsonReader in) throws IOException { in.beginObject(); value.append("{"); while (in.hasNext()) { value.append("\"" + in.nextName() + "\""); value.append(":"); if (in.peek() == JsonToken.STRING) { value.append("\"" + in.nextString() + "\""); } else { if (in.peek() == JsonToken.BEGIN_ARRAY) { in.beginArray(); value.append("["); while (in.hasNext()) { readValueObject(value, in); if (in.peek() != JsonToken.END_ARRAY) { value.append(","); } } in.endArray(); value.append("]"); } else { readValueObject(value, in); } } if (in.peek() != JsonToken.END_OBJECT) { value.append(","); } } in.endObject(); value.append("}"); }
From source file:org.opendaylight.yangtools.yang.data.codec.gson.JsonParserStream.java
License:Open Source License
private void traverseAnyXmlValue(final JsonReader in, final Document doc, final Element parentElement) throws IOException { switch (in.peek()) { case STRING://from w w w . j a v a 2 s .c om case NUMBER: Text textNode = doc.createTextNode(in.nextString()); parentElement.appendChild(textNode); break; case BOOLEAN: textNode = doc.createTextNode(Boolean.toString(in.nextBoolean())); parentElement.appendChild(textNode); break; case NULL: in.nextNull(); textNode = doc.createTextNode("null"); parentElement.appendChild(textNode); break; case BEGIN_ARRAY: in.beginArray(); while (in.hasNext()) { final Element childElement = doc.createElement(ANYXML_ARRAY_ELEMENT_ID); parentElement.appendChild(childElement); traverseAnyXmlValue(in, doc, childElement); } in.endArray(); break; case BEGIN_OBJECT: in.beginObject(); while (in.hasNext()) { final Element childElement = doc.createElement(in.nextName()); parentElement.appendChild(childElement); traverseAnyXmlValue(in, doc, childElement); } in.endObject(); case END_DOCUMENT: case NAME: case END_OBJECT: case END_ARRAY: break; } }
From source file:org.opendaylight.yangtools.yang.data.codec.gson.JsonParserStream.java
License:Open Source License
public void read(final JsonReader in, AbstractNodeDataWithSchema parent) throws IOException { switch (in.peek()) { case STRING:/*from w w w .j a v a 2 s. c o m*/ case NUMBER: setValue(parent, in.nextString()); break; case BOOLEAN: setValue(parent, Boolean.toString(in.nextBoolean())); break; case NULL: in.nextNull(); setValue(parent, null); break; case BEGIN_ARRAY: in.beginArray(); while (in.hasNext()) { if (parent instanceof LeafNodeDataWithSchema) { read(in, parent); } else { final AbstractNodeDataWithSchema newChild = newArrayEntry(parent); read(in, newChild); } } in.endArray(); return; case BEGIN_OBJECT: final Set<String> namesakes = new HashSet<>(); in.beginObject(); /* * This allows parsing of incorrectly /as showcased/ * in testconf nesting of list items - eg. * lists with one value are sometimes serialized * without wrapping array. * */ if (isArray(parent)) { parent = newArrayEntry(parent); } while (in.hasNext()) { final String jsonElementName = in.nextName(); DataSchemaNode parentSchema = parent.getSchema(); if (parentSchema instanceof YangModeledAnyXmlSchemaNode) { parentSchema = ((YangModeledAnyXmlSchemaNode) parentSchema).getSchemaOfAnyXmlData(); } final NamespaceAndName namespaceAndName = resolveNamespace(jsonElementName, parentSchema); final String localName = namespaceAndName.getName(); addNamespace(namespaceAndName.getUri()); if (namesakes.contains(jsonElementName)) { throw new JsonSyntaxException("Duplicate name " + jsonElementName + " in JSON input."); } namesakes.add(jsonElementName); final Deque<DataSchemaNode> childDataSchemaNodes = ParserStreamUtils .findSchemaNodeByNameAndNamespace(parentSchema, localName, getCurrentNamespace()); if (childDataSchemaNodes.isEmpty()) { throw new IllegalStateException("Schema for node with name " + localName + " and namespace " + getCurrentNamespace() + " doesn't exist."); } final AbstractNodeDataWithSchema newChild = ((CompositeNodeDataWithSchema) parent) .addChild(childDataSchemaNodes); if (newChild instanceof AnyXmlNodeDataWithSchema) { readAnyXmlValue(in, (AnyXmlNodeDataWithSchema) newChild, jsonElementName); } else { read(in, newChild); } removeNamespace(); } in.endObject(); return; case END_DOCUMENT: case NAME: case END_OBJECT: case END_ARRAY: break; } }
From source file:org.openstreetmap.josm.plugins.openstreetcam.service.photo.adapter.PhotoTypeAdapter.java
License:LGPL
@Override public Photo read(final JsonReader reader) throws IOException { Double latitude = null;// w w w .j a va 2 s . co m Double longitude = null; final PhotoBuilder builder = new PhotoBuilder(); reader.beginObject(); while (reader.hasNext()) { switch (reader.nextName()) { case PHOTO_ID: builder.id(ReaderUtil.readLong(reader)); break; case PHOTO_SEQUENCE_ID: builder.sequenceId(ReaderUtil.readLong(reader)); break; case PHOTO_SEQUENCE_IDX: builder.sequenceIndex(ReaderUtil.readInt(reader)); break; case PHOTO_LATITUDE: latitude = ReaderUtil.readDouble(reader); break; case PHOTO_LONGITUDE: longitude = ReaderUtil.readDouble(reader); break; case PHOTO_NAME: builder.name(ReaderUtil.readString(reader)); break; case PHOTO_LTH_NAME: builder.largeThumbnailName(ReaderUtil.readString(reader)); break; case PHOTO_TH_NAME: builder.thumbnailName(ReaderUtil.readString(reader)); break; case PHOTO_ORI_NAME: builder.oriName(ReaderUtil.readString(reader)); break; case PHOTO_TIMESTAMP: builder.timestamp(ReaderUtil.readLong(reader)); break; case PHOTO_HEADING: final String value = ReaderUtil.readString(reader); final Double heading = value != null && !value.isEmpty() ? Double.parseDouble(value) : null; builder.heading(heading); break; case PHOTO_USERNAME: builder.username(ReaderUtil.readString(reader)); break; case WAY_ID: final String wayIdValue = ReaderUtil.readString(reader); final Long wayId = wayIdValue != null && !wayIdValue.isEmpty() ? Long.parseLong(wayIdValue) : null; builder.wayId(wayId); break; case PHOTO_SHOT_DATE: builder.shotDate(ReaderUtil.readString(reader)); break; default: reader.skipValue(); break; } } if (latitude != null && longitude != null) { builder.point(latitude, longitude); } reader.endObject(); return builder.build(); }
From source file:org.openstreetmap.josm.plugins.openstreetcam.service.photo.adapter.SegmentTypeAdapter.java
License:LGPL
@Override public Segment read(final JsonReader reader) throws IOException { final SegmentBuilder builder = new SegmentBuilder(); reader.beginObject();/*from w w w .j a v a2 s.com*/ while (reader.hasNext()) { switch (reader.nextName()) { case SEGMENT_ID: builder.id(ReaderUtil.readString(reader)); break; case SEGMENT_FROM: builder.from(ReaderUtil.readLong(reader)); break; case SEGMENT_TO: builder.to(ReaderUtil.readLong(reader)); break; case WAY_ID: builder.wayId(ReaderUtil.readLong(reader)); break; case SEGMENT_COVERAGE: builder.coverage(ReaderUtil.readInt(reader)); break; case SEGMENT_GEOMETRY: builder.geometry(ReaderUtil.readGeometry(reader)); break; default: reader.skipValue(); break; } } reader.endObject(); return builder.build(); }
From source file:org.openstreetmap.josm.plugins.openstreetcam.service.PhotoTypeAdapter.java
License:Apache License
@Override public Photo read(final JsonReader reader) throws IOException { Long id = null;//from w ww . j a v a 2 s . c om Long sequenceId = null; Integer sequenceIdx = null; Double latitude = null; Double longitude = null; String name = null; String largeThumbnailName = null; String thumbnailName = null; Long timestamp = null; String headingVal = null; String username = null; reader.beginObject(); while (reader.hasNext()) { switch (reader.nextName()) { case ID: id = readLong(reader); break; case SEQUENCE_ID: sequenceId = readLong(reader); break; case SEQUENCE_IDX: sequenceIdx = readInt(reader); break; case LATITUDE: latitude = readDouble(reader); break; case LONGITUDE: longitude = readDouble(reader); break; case NAME: name = readString(reader); break; case LTH_NAME: largeThumbnailName = readString(reader); break; case TH_NAME: thumbnailName = readString(reader); break; case TIMESTAMP: timestamp = readLong(reader); break; case HEADING: headingVal = readString(reader); break; case USERNAME: username = readString(reader); break; default: reader.skipValue(); break; } } reader.endObject(); final Double heading = headingVal != null && !headingVal.isEmpty() ? Double.parseDouble(headingVal) : null; return new Photo(id, sequenceId, sequenceIdx, latitude, longitude, name, largeThumbnailName, thumbnailName, timestamp, heading, username); }
From source file:org.project.openbaton.nubomedia.paas.model.openshift.EnvironmentVariableSerializer.java
License:Apache License
@Override public EnvironmentVariable read(JsonReader in) throws IOException { EnvironmentVariable env = new EnvironmentVariable(); in.beginObject();/*from ww w .j ava 2 s . c om*/ while (in.hasNext()) { if (in.nextName().equals("name")) { env.setName(in.nextString()); } if (in.nextName().equals("value")) { env.setValue(in.nextString()); } } in.endObject(); return env; }
From source file:org.project.openbaton.nubomedia.paas.model.openshift.MetadataTypeAdapter.java
License:Apache License
@Override public Metadata read(JsonReader in) throws IOException { String name = "", selfLink = "", resourceVersion = "", namespace = ""; in.beginObject();/*from ww w .j a v a2 s.co m*/ while (in.hasNext()) { String nameObj = in.nextName(); switch (nameObj) { case "name": name = in.nextString(); break; case "selfLink": selfLink = in.nextString(); break; case "resourceVersion": resourceVersion = in.nextString(); break; case "namespace": namespace = in.nextString(); break; default: in.skipValue(); break; } } in.endObject(); return new Metadata(name, selfLink, resourceVersion, namespace); }
From source file:org.project.openbaton.nubomedia.paas.model.openshift.OutputTypeAdapter.java
License:Apache License
@Override public Output read(JsonReader in) throws IOException { BuildElements be = null;//from w ww . j av a2 s . com SecretID secId = null; in.beginObject(); while (in.hasNext()) { if (in.nextName().equals("to")) { be = readBuildElement(in); } if (in.nextName().equals("pushSecret")) secId = this.readSecID(in); } in.endObject(); return new Output(be, secId); }