Example usage for com.fasterxml.jackson.core JsonParser getCurrentToken

List of usage examples for com.fasterxml.jackson.core JsonParser getCurrentToken

Introduction

In this page you can find the example usage for com.fasterxml.jackson.core JsonParser getCurrentToken.

Prototype

public abstract JsonToken getCurrentToken();

Source Link

Document

Accessor to find which token parser currently points to, if any; null will be returned if none.

Usage

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

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

    final FunctionImport funcImp = new FunctionImport();

    for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
        final JsonToken token = jp.getCurrentToken();
        if (token == JsonToken.FIELD_NAME) {
            if ("Name".equals(jp.getCurrentName())) {
                funcImp.setName(jp.nextTextValue());
            } else if ("ReturnType".equals(jp.getCurrentName())) {
                funcImp.setReturnType(jp.nextTextValue());
            } else if ("EntitySet".equals(jp.getCurrentName())) {
                funcImp.setEntitySet(jp.nextTextValue());
            } else if ("EntitySetPath".equals(jp.getCurrentName())) {
                funcImp.setEntitySetPath(jp.nextTextValue());
            } else if ("IsComposable".equals(jp.getCurrentName())) {
                funcImp.setComposable(BooleanUtils.toBoolean(jp.nextTextValue()));
            } else if ("IsSideEffecting".equals(jp.getCurrentName())) {
                funcImp.setSideEffecting(BooleanUtils.toBoolean(jp.nextTextValue()));
            } else if ("IsBindable".equals(jp.getCurrentName())) {
                funcImp.setBindable(BooleanUtils.toBoolean(jp.nextTextValue()));
            } else if ("IsAlwaysBindable".equals(jp.getCurrentName())) {
                funcImp.setAlwaysBindable(BooleanUtils.toBoolean(jp.nextTextValue()));
            } else if ("HttpMethod".equals(jp.getCurrentName())) {
                funcImp.setHttpMethod(jp.nextTextValue());
            } else if ("Parameter".equals(jp.getCurrentName())) {
                jp.nextToken();/*from w ww .  j a  va 2 s.  co  m*/
                funcImp.getParameters().add(jp.getCodec().readValue(jp, Parameter.class));
            }
        }
    }

    return funcImp;
}

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 . jav a  2  s.  c om*/
                typeDefinition.getAnnotations().add(jp.getCodec().readValue(jp, Annotation.class));
            }
        }
    }

    return typeDefinition;
}

From source file:org.springframework.social.linkedin.api.impl.json.ConnectionAuthorizationDeserializer.java

public ConnectionAuthorization deserialize(JsonParser jp, DeserializationContext ctxt)
        throws IOException, JsonProcessingException {
    ObjectMapper mapper = new ObjectMapper();
    mapper.registerModule(new LinkedInModule());
    if (jp.hasCurrentToken() && jp.getCurrentToken().equals(JsonToken.START_OBJECT)) {
        JsonNode dataNode = jp.readValueAs(JsonNode.class).get("headers").get("values").get(0);
        if (dataNode != null) {
            return mapper.reader(new TypeReference<ConnectionAuthorization>() {
            }).readValue(dataNode);//from  w w  w  .j  ava2  s .c  o  m
        }
    }
    throw ctxt.mappingException("Expected JSON object");
}

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

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

    final NavigationProperty property = new NavigationProperty();

    for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
        final JsonToken token = jp.getCurrentToken();
        if (token == JsonToken.FIELD_NAME) {
            if ("Name".equals(jp.getCurrentName())) {
                property.setName(jp.nextTextValue());
            } else if ("Type".equals(jp.getCurrentName())) {
                property.setType(jp.nextTextValue());
            } else if ("Nullable".equals(jp.getCurrentName())) {
                property.setNullable(BooleanUtils.toBoolean(jp.nextTextValue()));
            } else if ("Partner".equals(jp.getCurrentName())) {
                property.setPartner(jp.nextTextValue());
            } else if ("ContainsTarget".equals(jp.getCurrentName())) {
                property.setContainsTarget(BooleanUtils.toBoolean(jp.nextTextValue()));
            } else if ("ReferentialConstraint".equals(jp.getCurrentName())) {
                jp.nextToken();/*from  w  ww . j  a v a2s .  c om*/
                property.getReferentialConstraints()
                        .add(jp.getCodec().readValue(jp, ReferentialConstraint.class));
            } else if ("OnDelete".equals(jp.getCurrentName())) {
                jp.nextToken();
                property.setOnDelete(jp.getCodec().readValue(jp, OnDelete.class));
            } else if ("Annotation".equals(jp.getCurrentName())) {
                jp.nextToken();
                property.setAnnotation(jp.getCodec().readValue(jp, Annotation.class));
            }
        }
    }

    return property;
}

From source file:com.reprezen.swagedit.model.NodeDeserializer.java

@Override
public AbstractNode deserialize(JsonParser p, DeserializationContext context)
        throws IOException, JsonProcessingException {

    JsonLocation startLocation = p.getTokenLocation();
    if (p.getCurrentToken() == JsonToken.FIELD_NAME) {
        p.nextToken();//from  ww  w  . j a  v a  2  s. c  o  m
    }

    switch (p.getCurrentToken()) {
    case START_OBJECT:
        return deserializeObjectNode(p, context, startLocation);
    case START_ARRAY:
        return deserializeArrayNode(p, context, startLocation);
    default:
        return deserializeValueNode(p, context, startLocation);
    }
}

From source file:de.upb.wdqa.wdvd.datamodel.oldjson.jackson.deserializers.OldLabelsDescriptionsDeserializer.java

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

    LinkedHashMap<String, String> result = null;

    // Is the alias broken, i.e., it starts with '['
    if (jp.getCurrentToken().equals(JsonToken.START_ARRAY)) {
        result = new LinkedHashMap<String, String>();
        jp.nextToken();//from www .  j  a  v  a2  s  .  com
        if (!jp.getCurrentToken().equals(JsonToken.END_ARRAY)) {
            logger.warn("Token " + JsonToken.END_ARRAY + " expected");
        }
    } else {
        ObjectCodec mapper = jp.getCodec();
        result = mapper.readValue(jp, new TypeReference<LinkedHashMap<String, String>>() {
        });
    }

    return result;
}

From source file:de.upb.wdqa.wdvd.datamodel.oldjson.jackson.deserializers.OldSitelinksDeserializer.java

@Override
public LinkedHashMap<String, OldJacksonSiteLink> deserialize(JsonParser jp, DeserializationContext ctxt)
        throws IOException, JsonProcessingException {

    LinkedHashMap<String, OldJacksonSiteLink> result = null;

    // Is the alias broken, i.e., it starts with '['
    if (jp.getCurrentToken().equals(JsonToken.START_ARRAY)) {
        result = new LinkedHashMap<String, OldJacksonSiteLink>();
        jp.nextToken();/*from  w w w . j  a  va 2s.  com*/
        if (!jp.getCurrentToken().equals(JsonToken.END_ARRAY)) {
            logger.warn("Token " + JsonToken.END_ARRAY + " expected");
        }
    } else {
        ObjectCodec mapper = jp.getCodec();
        result = mapper.readValue(jp, new TypeReference<LinkedHashMap<String, OldJacksonSiteLink>>() {
        });
    }

    return result;
}

From source file:org.springframework.security.oauth2.common.exceptions.OAuth2ExceptionJackson2Deserializer.java

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

    JsonToken t = jp.getCurrentToken();
    if (t == JsonToken.START_OBJECT) {
        t = jp.nextToken();/*from  w  w w. ja  v  a2  s.c o m*/
    }
    Map<String, Object> errorParams = new HashMap<String, Object>();
    for (; t == JsonToken.FIELD_NAME; t = jp.nextToken()) {
        // Must point to field name
        String fieldName = jp.getCurrentName();
        // And then the value...
        t = jp.nextToken();
        // Note: must handle null explicitly here; value deserializers won't
        Object value;
        if (t == JsonToken.VALUE_NULL) {
            value = null;
        }
        // Some servers might send back complex content
        else if (t == JsonToken.START_ARRAY) {
            value = jp.readValueAs(List.class);
        } else if (t == JsonToken.START_OBJECT) {
            value = jp.readValueAs(Map.class);
        } else {
            value = jp.getText();
        }
        errorParams.put(fieldName, value);
    }

    Object errorCode = errorParams.get("error");
    String errorMessage = errorParams.containsKey("error_description")
            ? errorParams.get("error_description").toString()
            : null;
    if (errorMessage == null) {
        errorMessage = errorCode == null ? "OAuth Error" : errorCode.toString();
    }

    OAuth2Exception ex;
    if ("invalid_client".equals(errorCode)) {
        ex = new InvalidClientException(errorMessage);
    } else if ("unauthorized_client".equals(errorCode)) {
        ex = new UnauthorizedUserException(errorMessage);
    } else if ("invalid_grant".equals(errorCode)) {
        if (errorMessage.toLowerCase().contains("redirect") && errorMessage.toLowerCase().contains("match")) {
            ex = new RedirectMismatchException(errorMessage);
        } else {
            ex = new InvalidGrantException(errorMessage);
        }
    } else if ("invalid_scope".equals(errorCode)) {
        ex = new InvalidScopeException(errorMessage);
    } else if ("invalid_token".equals(errorCode)) {
        ex = new InvalidTokenException(errorMessage);
    } else if ("invalid_request".equals(errorCode)) {
        ex = new InvalidRequestException(errorMessage);
    } else if ("redirect_uri_mismatch".equals(errorCode)) {
        ex = new RedirectMismatchException(errorMessage);
    } else if ("unsupported_grant_type".equals(errorCode)) {
        ex = new UnsupportedGrantTypeException(errorMessage);
    } else if ("unsupported_response_type".equals(errorCode)) {
        ex = new UnsupportedResponseTypeException(errorMessage);
    } else if ("insufficient_scope".equals(errorCode)) {
        ex = new InsufficientScopeException(errorMessage,
                OAuth2Utils.parseParameterList((String) errorParams.get("scope")));
    } else if ("access_denied".equals(errorCode)) {
        ex = new UserDeniedAuthorizationException(errorMessage);
    } else {
        ex = new OAuth2Exception(errorMessage);
    }

    Set<Map.Entry<String, Object>> entries = errorParams.entrySet();
    for (Map.Entry<String, Object> entry : entries) {
        String key = entry.getKey();
        if (!"error".equals(key) && !"error_description".equals(key)) {
            Object value = entry.getValue();
            ex.addAdditionalInformation(key, value == null ? null : value.toString());
        }
    }

    return ex;

}

From source file:com.google.openrtb.json.OpenRtbJsonExtComplexReader.java

@SuppressWarnings("unchecked")
private void readSingle(EB msg, JsonParser par, XB ext) throws IOException {
    if (isJsonObject) {
        startObject(par);/*from w  w w. ja v  a2s  . co  m*/
    }
    boolean extRead = false;
    JsonToken tokLast = par.getCurrentToken();
    JsonLocation locLast = par.getCurrentLocation();
    while (endObject(par)) {
        read(ext, par);
        if (par.getCurrentToken() != tokLast || !par.getCurrentLocation().equals(locLast)) {
            extRead = true;
            par.nextToken();
            tokLast = par.getCurrentToken();
            locLast = par.getCurrentLocation();
        } else {
            break;
        }
    }
    if (extRead) {
        msg.setExtension(key, ext.build());
    }
    if (isJsonObject) {
        par.nextToken();
    }
}