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

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

Introduction

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

Prototype

JsonToken FIELD_NAME

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

Click Source Link

Document

FIELD_NAME is returned when a String token is encountered as a field name (same lexical value, different function)

Usage

From source file:com.sdl.odata.unmarshaller.json.JsonLinkUnmarshaller.java

@Override
protected String getToEntityId(ODataRequestContext requestContext) throws ODataUnmarshallingException {
    // The body is expected to contain a single entity reference
    // See OData JSON specification chapter 13

    String bodyText;//from   w  ww . j  av a  2 s  .co  m
    try {
        bodyText = requestContext.getRequest().getBodyText(StandardCharsets.UTF_8.name());
    } catch (UnsupportedEncodingException e) {
        throw new ODataSystemException("UTF-8 is not supported", e);
    }

    String idValue = null;
    try {
        JsonParser parser = new JsonFactory().createParser(bodyText);
        while (idValue == null && !parser.isClosed()) {
            JsonToken token = parser.nextToken();
            if (token == null) {
                break;
            }

            if (token.equals(JsonToken.FIELD_NAME) && parser.getCurrentName().equals(JsonConstants.ID)) {
                token = parser.nextToken();
                if (token.equals(JsonToken.VALUE_STRING)) {
                    idValue = parser.getText();
                }
            }
        }
    } catch (IOException e) {
        throw new ODataUnmarshallingException("Error while parsing JSON data", e);
    }

    if (isNullOrEmpty(idValue)) {
        throw new ODataUnmarshallingException("The JSON object in the body has no '@odata.id' value,"
                + " or the value is empty. The JSON object in the body must have an '@odata.id' value"
                + " that refers to the entity to link to.");
    }

    return idValue;
}

From source file:org.helm.notation2.wsadapter.MonomerWSSaver.java

/**
 * Adds or updates a single monomer to the monomer store using the URL configured in {@code MonomerStoreConfiguration}
 * .//from   w  w  w  . j  av a  2  s.  c  o m
 * 
 * @param monomer to save
 */
public String saveMonomerToStore(Monomer monomer) {
    String res = "";
    CloseableHttpResponse response = null;

    try {
        response = WSAdapterUtils.putResource(monomer.toJSON(),
                MonomerStoreConfiguration.getInstance().getWebserviceNucleotidesPutFullURL());
        LOG.debug(response.getStatusLine().toString());

        JsonFactory jsonf = new JsonFactory();
        InputStream instream = response.getEntity().getContent();

        JsonParser jsonParser = jsonf.createParser(instream);

        while (!jsonParser.isClosed()) {
            JsonToken jsonToken = jsonParser.nextToken();
            if (JsonToken.FIELD_NAME.equals(jsonToken)) {
                String fieldName = jsonParser.getCurrentName();
                LOG.debug("Field name: " + fieldName);
                jsonParser.nextToken();
                if (fieldName.equals("monomerShortName")) {
                    res = jsonParser.getValueAsString();
                    break;
                }
            }
        }

        EntityUtils.consume(response.getEntity());

    } catch (Exception e) {
        LOG.error("Saving monomer failed!", e);
        return "";
    } finally {
        try {
            if (response != null) {
                response.close();
            }
        } catch (IOException e) {
            LOG.debug("Closing resources failed.", e);
            return res;
        }
    }

    return res;
}

From source file:org.onosproject.north.aaa.api.parser.impl.ScopeParser.java

public Scope jsonToScope(JsonParser jp) throws IOException, ParseException {
    Scope.Builder builder = Scope.builder();

    while (true) {
        JsonToken token = jp.nextToken();
        if (JsonToken.END_OBJECT.equals(token)) {
            // bail out
            break;
        }/* w w  w .  j  a  va2s  .c  om*/

        if (JsonToken.FIELD_NAME.equals(token) && "scopeId".equals(jp.getCurrentName())) {
            jp.nextToken();
            builder.buildScopeId(jp.getText());
        } else if (JsonToken.FIELD_NAME.equals(token) && "scopeDesc".equals(jp.getCurrentName())) {
            jp.nextToken();
            builder.buildScopeDesc(jp.getText());
        } else if (JsonToken.FIELD_NAME.equals(token) && "accesses".equals(jp.getCurrentName())) {
            token = jp.nextToken();
            if (!JsonToken.START_ARRAY.equals(token)) {
                // bail out
                throw new ParseException("expected ARRAY after accesses");
            }
            Set<String> accesses = new HashSet<>();

            while (true) {
                token = jp.nextToken();
                if (JsonToken.END_ARRAY.equals(token)) {
                    // bail out
                    break;
                }
                accesses.add(jp.getText());
            }
            builder.buildRestAccess(accesses);
        }
    }
    return builder.buildAll();
}

From source file:io.wcm.caravan.io.jsontransform.source.JacksonStreamSource.java

private JsonElement parseJsonElement(final JsonToken token) throws IOException {
    String key = parser.getCurrentName();
    if (JsonToken.START_OBJECT.equals(token)) {
        return JsonElement.DEFAULT_START_OBJECT;
    } else if (JsonToken.END_OBJECT.equals(token)) {
        return JsonElement.DEFAULT_END_OBJECT;
    } else if (JsonToken.START_ARRAY.equals(token)) {
        return JsonElement.DEFAULT_START_ARRAY;
    } else if (JsonToken.END_ARRAY.equals(token)) {
        return JsonElement.DEFAULT_END_ARRAY;
    } else if (JsonToken.FIELD_NAME.equals(token)) {
        return handleFieldName(key);
    }/*from   w w  w .  j  a v  a  2 s  . c o m*/
    return JsonElement.value(key, parseValue(token));
}

From source file:org.onosproject.north.aaa.api.parser.impl.ApplicationParser.java

public Application jsonToApplication(JsonParser jp) throws ParseException, IOException {
    Application.Builder builder = Application.builder();

    while (true) {
        JsonToken token = jp.nextToken();
        if (JsonToken.END_OBJECT.equals(token)) {
            // bail out
            break;
        }/*from www  .  j a va 2s.com*/

        if (JsonToken.FIELD_NAME.equals(token) && "appId".equals(jp.getCurrentName())) {
            jp.nextToken();
            builder.buildAppId(jp.getText());
        } else if (JsonToken.FIELD_NAME.equals(token) && "appDesc".equals(jp.getCurrentName())) {
            jp.nextToken();
            builder.buildAppDesc(jp.getText());
        } else if (JsonToken.FIELD_NAME.equals(token) && "appRoles".equals(jp.getCurrentName())) {
            jp.nextToken();
            String roles = jp.getText();

            if ("admin".equals(roles) || "normal".equals(roles) || "security".equals(roles)) {
                builder.buildAppRoles(roles);
            } else {
                // bail out
                throw new ParseException("appRoles must be set to \"admin\", \"normal\" or \"security\"");
            }

        } else if (JsonToken.FIELD_NAME.equals(token) && "devId".equals(jp.getCurrentName())) {
            jp.nextToken();
            builder.buildDevId(jp.getText());
        } else if (JsonToken.FIELD_NAME.equals(token) && "clientId".equals(jp.getCurrentName())) {
            jp.nextToken();
            builder.buildClientId(jp.getText());
        }
    }
    return builder.buildAll();
}

From source file:org.labkey.freezerpro.export.FreezerProCommandResonse.java

/**
 * Position the parser to the start of the data array object
 * @param parser//from   w  ww .  j  a  va  2  s  .  c  o m
 * @param dataNodeName
 * @return
 * @throws IOException
 */
protected boolean ensureDataNode(JsonParser parser, String dataNodeName) throws IOException {
    JsonToken token = parser.nextToken();
    //JsonUtil.expectObjectStart(parser);
    while (token != JsonToken.END_OBJECT) {
        token = parser.nextToken();
        if (token == JsonToken.FIELD_NAME) {
            String fieldName = parser.getCurrentName();
            if (dataNodeName.equals(fieldName)) {
                parser.nextToken();
                return true;
            } else if (TOTAL_FIELD_NAME.equalsIgnoreCase(fieldName)) {
                JsonToken totalToken = parser.nextToken();
                if (totalToken == JsonToken.VALUE_NUMBER_INT) {
                    _totalRecords = parser.readValueAs(Integer.class);
                }
            }
        }
    }
    return false;
}

From source file:org.onosproject.north.aaa.api.parser.impl.RestAccessParser.java

public RestAccess jsonToRestAccess(JsonParser jp) throws IOException, ParseException {
    RestAccess.Builder builder = RestAccess.builder();

    while (true) {
        JsonToken token = jp.nextToken();

        if (JsonToken.END_OBJECT.equals(token)) {
            // bail out
            break;
        }/*from  w  w  w.j a  v  a2s . c  o m*/

        if (JsonToken.FIELD_NAME.equals(token) && "accessId".equals(jp.getCurrentName())) {
            jp.nextToken();
            builder.buildeAccessId(jp.getText());
        } else if (JsonToken.FIELD_NAME.equals(token) && "accessDesc".equals(jp.getCurrentName())) {
            jp.nextToken();
            builder.buildAccessDesc(jp.getText());
        } else if (JsonToken.FIELD_NAME.equals(token) && "restUri".equals(jp.getCurrentName())) {
            jp.nextToken();
            builder.buildRestUri(jp.getText());
        } else if (JsonToken.FIELD_NAME.equals(token) && "restMethod".equals(jp.getCurrentName())) {
            jp.nextToken();
            builder.buildRestMethod(jp.getText());
        } else if (JsonToken.FIELD_NAME.equals(token) && "restParam".equals(jp.getCurrentName())) {
            jp.nextToken();
            builder.buildRestParam(jp.getText());
        }
    }
    return builder.buildAll();
}

From source file:com.cedarsoft.serialization.jackson.test.RoleSerializer.java

@Nonnull
@Override//from w  w w  .j av  a 2  s  .  com
public Role deserialize(@Nonnull JsonParser deserializeFrom, @Nonnull Version formatVersion)
        throws IOException, VersionException, JsonProcessingException {
    int id = -1;
    String description = null;

    JacksonParserWrapper parser = new JacksonParserWrapper(deserializeFrom);

    while (parser.nextToken() == JsonToken.FIELD_NAME) {
        String currentName = parser.getCurrentName();

        if (currentName.equals(PROPERTY_ID)) {
            parser.nextToken(JsonToken.VALUE_NUMBER_INT);
            id = parser.getIntValue();
            continue;
        }

        if (currentName.equals(PROPERTY_DESCRIPTION)) {
            parser.nextToken(JsonToken.VALUE_STRING);
            description = parser.getText();
            continue;
        }

        throw new IllegalStateException("Unexpected field reached <" + currentName + ">");
    }

    //Verify
    parser.verifyDeserialized(id, PROPERTY_ID);
    parser.verifyDeserialized(description, PROPERTY_DESCRIPTION);
    assert description != null;

    parser.verifyCurrentToken(JsonToken.END_OBJECT);
    return new Role(id, description);
}

From source file:com.cedarsoft.serialization.serializers.jackson.HashSerializer.java

@Nonnull
@Override//w  w w.java2 s  . c o  m
public Hash deserialize(@Nonnull JsonParser deserializeFrom, @Nonnull Version formatVersion)
        throws VersionException, IOException, JsonProcessingException {
    JacksonParserWrapper parserWrapper = new JacksonParserWrapper(deserializeFrom);
    parserWrapper.nextToken();
    parserWrapper.verifyCurrentToken(JsonToken.FIELD_NAME);
    String currentName1 = parserWrapper.getCurrentName();

    if (!PROPERTY_ALGORITHM.equals(currentName1)) {
        throw new JsonParseException(
                "Invalid field. Expected <" + PROPERTY_ALGORITHM + "> but was <" + currentName1 + ">",
                parserWrapper.getCurrentLocation());
    }
    parserWrapper.nextToken();
    Algorithm algorithm = Algorithm.getAlgorithm(deserializeFrom.getText());

    parserWrapper.nextToken();
    parserWrapper.verifyCurrentToken(JsonToken.FIELD_NAME);
    String currentName = parserWrapper.getCurrentName();

    if (!PROPERTY_VALUE.equals(currentName)) {
        throw new JsonParseException(
                "Invalid field. Expected <" + PROPERTY_VALUE + "> but was <" + currentName + ">",
                parserWrapper.getCurrentLocation());
    }
    parserWrapper.nextToken();
    String hex = deserializeFrom.getText();

    parserWrapper.nextToken(JsonToken.END_OBJECT);

    return Hash.fromHex(algorithm, hex);
}

From source file:org.ojai.json.impl.JsonStreamDocumentReader.java

private EventType parseMap() {
    // we just entered a Map, look ahead to see if
    // the field name matches an extended type
    JsonToken nextToken = peekToken();// w  w w  .j a  v a  2  s . c  o  m
    if (nextToken == JsonToken.END_OBJECT) {
        return EventType.START_MAP; // empty Map
    } else if (nextToken != JsonToken.FIELD_NAME) {
        throw new DecodingException("Encountered " + nextToken + " while looking for a field name.");
    }

    String field_name = getCurrentName();
    if (field_name.startsWith("$")) {
        // determine extended type
        isExtended = true;
        switch (field_name) {
        case TAG_LONG:
            setCurrentEventType(EventType.LONG);
            break;
        case TAG_DECIMAL:
            setCurrentEventType(EventType.DECIMAL);
            break;
        case TAG_DATE:
            setCurrentEventType(EventType.DATE);
            break;
        case TAG_TIME:
            setCurrentEventType(EventType.TIME);
            break;
        case TAG_TIMESTAMP:
            setCurrentEventType(EventType.TIMESTAMP);
            break;
        case TAG_INTERVAL:
            setCurrentEventType(EventType.INTERVAL);
            break;
        case TAG_BINARY:
            setCurrentEventType(EventType.BINARY);
            break;
        default:
            // regular map, return without consuming the field name.
            isExtended = false;
            return EventType.START_MAP;
        }

        // At this point, we have determined that the current map is
        // one of the extended type, so let's consume the field name
        nextToken();
        // and move forward so that the parser is at field value,
        nextToken = nextToken();
        // then cache the current value
        cacheCurrentValue();
        // finally, consume the END_OBJECT tag
        nextToken = nextToken();
        if (nextToken != JsonToken.END_OBJECT) {
            throw new DecodingException("Encountered " + nextToken + " while looking for end object token.");
        }
        return currentEvent;
    } else {
        return EventType.START_MAP;
    }
}