Example usage for com.fasterxml.jackson.core JsonToken END_OBJECT

List of usage examples for com.fasterxml.jackson.core JsonToken END_OBJECT

Introduction

In this page you can find the example usage for com.fasterxml.jackson.core JsonToken END_OBJECT.

Prototype

JsonToken END_OBJECT

To view the source code for com.fasterxml.jackson.core JsonToken END_OBJECT.

Click Source Link

Document

END_OBJECT is returned when encountering '}' which signals ending of an Object value

Usage

From source file:com.msopentech.odatajclient.engine.data.metadata.edm.v4.TypeDefinitionDeserializer.java

@Override
protected TypeDefinition doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
        throws IOException, JsonProcessingException {

    final TypeDefinition typeDefinition = new TypeDefinition();

    for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
        final JsonToken token = jp.getCurrentToken();
        if (token == JsonToken.FIELD_NAME) {
            if ("Name".equals(jp.getCurrentName())) {
                typeDefinition.setName(jp.nextTextValue());
            } else if ("UnderlyingType".equals(jp.getCurrentName())) {
                typeDefinition.setUnderlyingType(jp.nextTextValue());
            } else if ("MaxLength".equals(jp.getCurrentName())) {
                typeDefinition.setMaxLength(jp.nextTextValue());
            } else if ("Unicode".equals(jp.getCurrentName())) {
                typeDefinition.setUnicode(BooleanUtils.toBoolean(jp.nextTextValue()));
            } else if ("Precision".equals(jp.getCurrentName())) {
                typeDefinition.setPrecision(BigInteger.valueOf(jp.nextLongValue(0L)));
            } else if ("Scale".equals(jp.getCurrentName())) {
                typeDefinition.setScale(BigInteger.valueOf(jp.nextLongValue(0L)));
            } else if ("SRID".equals(jp.getCurrentName())) {
                typeDefinition.setSrid(jp.nextTextValue());
            } else if ("Annotation".equals(jp.getCurrentName())) {
                jp.nextToken();/*from   ww w  .j av a 2  s . com*/
                typeDefinition.getAnnotations().add(jp.getCodec().readValue(jp, Annotation.class));
            }
        }
    }

    return typeDefinition;
}

From source file:com.basho.riak.client.raw.http.NamedJSFunctionDeserializer.java

@Override
public NamedJSFunction deserialize(JsonParser jp, DeserializationContext ctxt)
        throws IOException, JsonProcessingException {

    JsonToken token = jp.getCurrentToken();

    if (JsonToken.START_OBJECT.equals(token)) {

        String name = null;/* ww w  . jav a  2  s. co  m*/

        while (!JsonToken.END_OBJECT.equals(token)) {
            String field = jp.getCurrentName();

            if (Constants.FL_SCHEMA_FUN_NAME.equals(field)) {
                jp.nextToken();
                name = jp.getText();
            }
            token = jp.nextToken();
        }
        if (name != null) {
            return new NamedJSFunction(name);
        } else {
            return null;
        }
    }
    throw ctxt.mappingException(NamedJSFunction.class);
}

From source file:eu.trentorise.opendata.semtext.jackson.MetadataDeserializer.java

@Override
public Map<String, Object> deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {

    ImmutableMap.Builder<String, Object> retb = ImmutableMap.builder();

    while (jp.nextToken() != JsonToken.END_OBJECT) {

        String namespace = jp.getCurrentName();
        // current token is "name",
        // move to next, which is "name"'s value
        jp.nextToken();//from  ww w . jav a  2 s .com

        ImmutableSet<String> namespaces = SemTextModule.getMetadataNamespaces(hasMetadataClass);
        if (namespaces.contains(namespace)) {
            TypeReference typeRef = SemTextModule.getMetadataTypeReference(hasMetadataClass, namespace);

            Object metadata;

            try {
                metadata = jp.readValueAs(typeRef);
            } catch (Exception ex) {
                throw new SemTextMetadataException("Jackson error while deserializing metadata - ",
                        hasMetadataClass, namespace, typeRef, ex);
            }

            if (metadata == null) {
                throw new SemTextMetadataException("Found null metadata while deserializing!", hasMetadataClass,
                        namespace, typeRef);
            }

            retb.put(namespace, metadata);
        } else {
            throw new SemTextMetadataException(
                    "Found metadata under not registered namespace while deserializing!", hasMetadataClass,
                    namespace, null);
        }
    }

    return retb.build();
}

From source file:org.apache.ode.jacob.soup.jackson.ChannelRefDeserializer.java

@Override
public ChannelRef deserialize(JsonParser jp, DeserializationContext ctxt)
        throws IOException, JsonProcessingException {

    Object target = null;/*from   w  w w.  ja  v  a  2 s .  com*/

    while (jp.nextToken() != JsonToken.END_OBJECT) {
        String fieldname = jp.getCurrentName();
        if (jp.getCurrentToken() == JsonToken.FIELD_NAME) {
            // if we're not already on the field, advance by one.
            jp.nextToken();
        }

        if ("target".equals(fieldname)) {
            target = jp.readValueAs(Object.class);
        }
    }

    if (target == null) {
        throw ctxt.mappingException(ChannelRef.class);
    }

    return new ChannelRef(target);
}

From source file:com.github.heuermh.ensemblrestclient.JacksonSequenceConverter.java

static Sequence parseSequence(final JsonFactory jsonFactory, final InputStream inputStream) throws IOException {
    JsonParser parser = null;//from w  w  w  .j  a  v  a  2 s  .co m
    try {
        parser = jsonFactory.createParser(inputStream);
        parser.nextToken();

        String id = null;
        String seq = null;
        String molecule = null;

        while (parser.nextToken() != JsonToken.END_OBJECT) {
            String field = parser.getCurrentName();
            parser.nextToken();
            if ("id".equals(field)) {
                id = parser.getText();
            } else if ("seq".equals(field)) {
                seq = parser.getText();
            } else if ("molecule".equals(field)) {
                molecule = parser.getText();
            }
        }
        return new Sequence(id, seq, molecule);
    } finally {
        try {
            inputStream.close();
        } catch (Exception e) {
            // ignored
        }
        try {
            parser.close();
        } catch (Exception e) {
            // ignored
        }
    }
}

From source file:com.basho.riak.client.raw.http.NamedErlangFunctionDeserializer.java

@Override
public NamedErlangFunction deserialize(JsonParser jp, DeserializationContext ctxt)
        throws IOException, JsonProcessingException {

    JsonToken token = jp.getCurrentToken();

    if (JsonToken.START_OBJECT.equals(token)) {

        String mod = null;/*from w ww . j a v  a2s.co  m*/
        String fun = null;

        while (!JsonToken.END_OBJECT.equals(token)) {
            String field = jp.getCurrentName();

            if (Constants.FL_SCHEMA_FUN_MOD.equals(field)) {
                jp.nextToken();
                mod = jp.getText();
            } else if (Constants.FL_SCHEMA_FUN_FUN.equals(field)) {
                jp.nextToken();
                fun = jp.getText();
            }
            token = jp.nextToken();
        }
        if (mod != null && fun != null) {
            return new NamedErlangFunction(mod, fun);
        } else {
            return null;
        }
    }
    throw ctxt.mappingException(NamedErlangFunction.class);
}

From source file:com.msopentech.odatajclient.engine.data.metadata.edm.EnumTypeDeserializer.java

@Override
protected AbstractEnumType doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
        throws IOException, JsonProcessingException {

    final AbstractEnumType enumType = ODataVersion.V3 == client.getWorkingVersion()
            ? new com.msopentech.odatajclient.engine.data.metadata.edm.v3.EnumType()
            : new com.msopentech.odatajclient.engine.data.metadata.edm.v4.EnumType();

    for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
        final JsonToken token = jp.getCurrentToken();
        if (token == JsonToken.FIELD_NAME) {
            if ("Name".equals(jp.getCurrentName())) {
                enumType.setName(jp.nextTextValue());
            } else if ("UnderlyingType".equals(jp.getCurrentName())) {
                enumType.setUnderlyingType(jp.nextTextValue());
            } else if ("IsFlags".equals(jp.getCurrentName())) {
                enumType.setFlags(BooleanUtils.toBoolean(jp.nextTextValue()));
            } else if ("Member".equals(jp.getCurrentName())) {
                jp.nextToken();//  ww  w. j  a  v  a  2  s.c  o  m
                if (enumType instanceof com.msopentech.odatajclient.engine.data.metadata.edm.v3.EnumType) {
                    ((com.msopentech.odatajclient.engine.data.metadata.edm.v3.EnumType) enumType).getMembers()
                            .add(jp.getCodec().readValue(jp,
                                    com.msopentech.odatajclient.engine.data.metadata.edm.v3.Member.class));
                } else {
                    ((com.msopentech.odatajclient.engine.data.metadata.edm.v4.EnumType) enumType).getMembers()
                            .add(jp.getCodec().readValue(jp,
                                    com.msopentech.odatajclient.engine.data.metadata.edm.v4.Member.class));
                }
            } else if ("Annotation".equals(jp.getCurrentName())) {
                jp.nextToken();
                ((com.msopentech.odatajclient.engine.data.metadata.edm.v4.EnumType) enumType)
                        .setAnnotation(jp.getCodec().readValue(jp, Annotation.class));
            }
        }
    }

    return enumType;
}

From source file:com.amazonaws.hal.client.HalJsonCurieUnmarshaller.java

@Override
public HalLink unmarshall(JsonUnmarshallerContext context) throws Exception {
    HalLink halLink = new HalLink();
    JsonToken token = context.getCurrentToken();

    // Ignore curies for now.
    while (token != null && token != JsonToken.END_OBJECT) {
        token = context.nextToken();//from ww w  .  j a  v a2 s .c o  m
    }

    return halLink;
}

From source file:com.amazonaws.hal.client.HalJsonLinkUnmarshaller.java

@Override
public HalLink unmarshall(JsonUnmarshallerContext context) throws Exception {
    HalLink halLink = new HalLink();
    JsonToken token = context.getCurrentToken();

    while (token != null && token != JsonToken.END_OBJECT) {
        if (token == JsonToken.FIELD_NAME) {
            if (context.testExpression("href")) {
                context.nextToken();//from  w  w w. jav  a  2  s  . c  o  m
                halLink.setHref(context.readText());
            } else if (context.testExpression("name")) {
                context.nextToken();
                halLink.setName(context.readText());
            } else if (context.testExpression("title")) {
                context.nextToken();
                halLink.setTitle(context.readText());
            } else if (context.testExpression("templated")) {
                context.nextToken();
                halLink.setTemplated(Boolean.valueOf(context.readText()));
            } else if (context.testExpression("deprecation")) {
                context.nextToken();
                halLink.setDeprecation(context.readText());
            } else {
                // Ignore this.  Likely one of hreflang, profile, type
                context.nextToken();
            }
        }

        token = context.nextToken();
    }

    return halLink;
}

From source file:com.redhat.red.build.koji.model.json.util.MavenGAVDeserializer.java

@Override
public SimpleProjectVersionRef deserialize(JsonParser jp, DeserializationContext ctxt)
        throws IOException, JsonProcessingException {
    String g = null;//from  w  w w. ja v  a  2  s.c om
    String a = null;
    String v = null;

    JsonToken token = null;
    while ((token = jp.nextToken()) != JsonToken.END_OBJECT) {
        if (token == JsonToken.VALUE_STRING) {
            String field = jp.getCurrentName();
            switch (field) {
            case ("group_id"): {
                g = jp.getText();
                break;
            }
            case ("artifact_id"): {
                a = jp.getText();
                break;
            }
            case ("version"): {
                v = jp.getText();
                break;
            }
            default: {
                Logger logger = LoggerFactory.getLogger(getClass());
                logger.debug("Ignoring unknown field: {}", field);
            }
            }
        }
    }

    if (isEmpty(g) || isEmpty(a) || isEmpty(v)) {
        throw new KojiJsonException("Invalid GAV: " + g + ":" + a + ":" + v);
    }

    return new SimpleProjectVersionRef(g, a, v);
}