Example usage for com.google.gson.stream JsonReader nextName

List of usage examples for com.google.gson.stream JsonReader nextName

Introduction

In this page you can find the example usage for com.google.gson.stream JsonReader nextName.

Prototype

public String nextName() throws IOException 

Source Link

Document

Returns the next token, a com.google.gson.stream.JsonToken#NAME property name , and consumes it.

Usage

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:/*  www .  j  a  va 2s. co m*/
    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 www  . ja  v  a 2s  .  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;//from www .ja v a2 s .  c o  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();//w w  w.  j ava2 s.c om
    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  av a2  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  a v a 2s. 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 va  2s.c o  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  w w .  jav  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);
}

From source file:org.project.openbaton.nubomedia.paas.model.openshift.OutputTypeAdapter.java

License:Apache License

private SecretID readSecID(JsonReader in) throws IOException {

    SecretID res = new SecretID();

    in.beginObject();/*from   w w  w . j a va 2s  .  c o m*/
    while (in.hasNext()) {
        if (in.nextName().equals("name"))
            res.setName(in.nextString());
    }
    in.endObject();

    return res;
}

From source file:org.project.openbaton.nubomedia.paas.model.openshift.OutputTypeAdapter.java

License:Apache License

private BuildElements readBuildElement(JsonReader in) throws IOException {

    BuildElements be = new BuildElements();
    in.beginObject();/*  w ww. j a v  a 2  s.  co m*/

    while (in.hasNext()) {
        if (in.nextName().equals("kind"))
            be.setKind(in.nextString());
        if (in.nextName().equals("name"))
            be.setName(in.nextString());
    }

    in.endObject();
    return be;
}