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

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

Introduction

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

Prototype

JsonToken VALUE_NUMBER_INT

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

Click Source Link

Document

VALUE_NUMBER_INT is returned when an integer numeric token is encountered in value context: that is, a number that does not have floating point or exponent marker in it (consists only of an optional sign, followed by one or more digits)

Usage

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

/**
 * Position the parser to the start of the data array object
 * @param parser/*from w w w  .  ja v a 2  s .co  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:name.gumartinm.weather.information.parser.JPOSCurrentParser.java

private void getCurrentWeatherData(final Current currentWeatherData, final JsonParser jParser)
        throws JsonParseException, IOException {
    if (jParser.nextToken() == JsonToken.START_OBJECT) {

        while (jParser.nextToken() != JsonToken.END_OBJECT) {
            final String fieldname = jParser.getCurrentName();
            final JsonToken nextToken = jParser.nextToken();
            if (nextToken == JsonToken.START_OBJECT) {
                this.getCurrentWeatherDataObjects(currentWeatherData, jParser, fieldname);
            }//from   ww w.j  ava  2  s .  c  o m
            if (nextToken == JsonToken.START_ARRAY) {
                JsonToken tokenNext = jParser.nextToken();
                while (tokenNext != JsonToken.END_ARRAY) {
                    if (tokenNext == JsonToken.START_OBJECT) {
                        this.getCurrentWeatherDataObjects(currentWeatherData, jParser, fieldname);
                    }
                    tokenNext = jParser.nextToken();
                }
            }
            if ((nextToken == JsonToken.VALUE_NUMBER_INT) || (nextToken == JsonToken.VALUE_STRING)) {
                this.getCurrentWeatherDataObjects(currentWeatherData, jParser, fieldname);
            }
        }
    }
}

From source file:ch.rasc.wampspring.message.WampMessage.java

@SuppressWarnings("unchecked")
public static <T extends WampMessage> T fromJson(JsonFactory jsonFactory, String json, WampSession wampSession)
        throws IOException {

    try (JsonParser jp = jsonFactory.createParser(json)) {
        if (jp.nextToken() != JsonToken.START_ARRAY) {
            throw new IOException("Not a JSON array");
        }/*from  w  w w  .ja  va  2s.  c o  m*/
        if (jp.nextToken() != JsonToken.VALUE_NUMBER_INT) {
            throw new IOException("Wrong message format");
        }

        WampMessageType messageType = WampMessageType.fromTypeId(jp.getValueAsInt());

        switch (messageType) {
        case WELCOME:
            return (T) new WelcomeMessage(jp);
        case PREFIX:
            return (T) new PrefixMessage(jp);
        case CALL:
            return (T) new CallMessage(jp, wampSession);
        case CALLRESULT:
            return (T) new CallResultMessage(jp);
        case CALLERROR:
            return (T) new CallErrorMessage(jp);
        case SUBSCRIBE:
            return (T) new SubscribeMessage(jp, wampSession);
        case UNSUBSCRIBE:
            return (T) new UnsubscribeMessage(jp, wampSession);
        case PUBLISH:
            return (T) new PublishMessage(jp, wampSession);
        case EVENT:
            return (T) new EventMessage(jp, wampSession);
        default:
            return null;
        }

    }
}

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

@Nonnull
@Override//from w w  w . ja va  2  s.c o m
public UserDetails deserialize(@Nonnull JsonParser deserializeFrom, @Nonnull Version formatVersion)
        throws IOException, VersionException, JsonProcessingException {
    long registrationDate = -1;
    long lastLogin = -1;
    String passwordHash = null;

    JacksonParserWrapper parser = new JacksonParserWrapper(deserializeFrom);

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

        if (currentName.equals(PROPERTY_REGISTRATION_DATE)) {
            parser.nextToken(JsonToken.VALUE_NUMBER_INT);
            registrationDate = parser.getLongValue();
            continue;
        }

        if (currentName.equals(PROPERTY_LAST_LOGIN)) {
            parser.nextToken(JsonToken.VALUE_NUMBER_INT);
            lastLogin = parser.getLongValue();
            continue;
        }

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

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

    parser.verifyDeserialized(registrationDate, PROPERTY_REGISTRATION_DATE);
    parser.verifyDeserialized(lastLogin, PROPERTY_LAST_LOGIN);
    parser.verifyDeserialized(passwordHash, PROPERTY_PASSWORD_HASH);

    assert passwordHash != null;

    parser.ensureObjectClosed();

    try {
        return new UserDetails(registrationDate, lastLogin, Hex.decodeHex(passwordHash.toCharArray()));
    } catch (DecoderException e) {
        throw new RuntimeException(e);
    }
}

From source file:com.turn.shapeshifter.AutoSerializerTest.java

@Test
public void testSerializeWithRepeatedObject() throws Exception {
    Movie movie = Movie.newBuilder().setTitle("Rebel Without A Cause").setYear(1955).build();
    Actor actor = Actor.newBuilder().setName("James Dean").addMovies(movie).build();

    JsonNode result = new AutoSerializer(Actor.getDescriptor()).serialize(actor, ReadableSchemaRegistry.EMPTY);

    Assert.assertTrue(result.isObject());
    Assert.assertEquals(JsonToken.VALUE_STRING, result.get("name").asToken());
    Assert.assertEquals("James Dean", result.get("name").asText());

    JsonNode array = result.get("movies");
    Assert.assertTrue(array.isArray());/*from w w  w.  ja v  a2  s. co  m*/
    Assert.assertEquals(1, array.size());

    JsonNode movieNode = array.get(0);
    Assert.assertEquals(JsonToken.VALUE_STRING, movieNode.get("title").asToken());
    Assert.assertEquals("Rebel Without A Cause", movieNode.get("title").asText());
    Assert.assertEquals(JsonToken.VALUE_NUMBER_INT, movieNode.get("year").asToken());
    Assert.assertEquals(1955, movieNode.get("year").asInt());
}

From source file:cz.cvut.kbss.jsonld.jackson.deserialization.JacksonJsonLdDeserializer.java

private Object parseJsonObject(JsonParser parser) throws IOException {
    Object value = null;/*w w  w . ja  va2s.  c o m*/
    final JsonToken initialToken = parser.getCurrentToken();
    parser.setCodec(mapper);
    if (initialToken == JsonToken.START_ARRAY) {
        value = parser.readValueAs(new TypeReference<List<?>>() {
        });
    } else if (initialToken == JsonToken.START_OBJECT) {
        value = parser.readValueAs(new TypeReference<Map<?, ?>>() {
        });
    } else if (initialToken == JsonToken.VALUE_STRING) {
        value = parser.readValueAs(String.class);
    } else if (initialToken == JsonToken.VALUE_FALSE || initialToken == JsonToken.VALUE_TRUE) {
        value = parser.readValueAs(Boolean.class);
    } else if (initialToken == JsonToken.VALUE_NUMBER_FLOAT || initialToken == JsonToken.VALUE_NUMBER_INT) {
        value = parser.readValueAs(Number.class);
    } else if (initialToken == JsonToken.VALUE_NULL) {
        value = null;
    }
    return value;
}

From source file:org.mongojack.internal.object.BsonObjectCursor.java

private static JsonToken getToken(Object o) {
    if (o == null) {
        return JsonToken.VALUE_NULL;
    } else if (o instanceof Iterable) {
        return JsonToken.START_ARRAY;
    } else if (o instanceof BSONObject) {
        return JsonToken.START_OBJECT;
    } else if (o instanceof Number) {
        if (o instanceof Double || o instanceof Float || o instanceof BigDecimal) {
            return JsonToken.VALUE_NUMBER_FLOAT;
        } else {// w  w w . j a  v  a2 s . co m
            return JsonToken.VALUE_NUMBER_INT;
        }
    } else if (o instanceof Boolean) {
        if ((Boolean) o) {
            return JsonToken.VALUE_TRUE;
        } else {
            return JsonToken.VALUE_FALSE;
        }
    } else if (o instanceof CharSequence) {
        return JsonToken.VALUE_STRING;
    } else if (o instanceof ObjectId) {
        return JsonToken.VALUE_EMBEDDED_OBJECT;
    } else if (o instanceof DBRef) {
        return JsonToken.VALUE_EMBEDDED_OBJECT;
    } else if (o instanceof Date) {
        return JsonToken.VALUE_EMBEDDED_OBJECT;
    } else if (o instanceof byte[]) {
        return JsonToken.VALUE_EMBEDDED_OBJECT;
    } else {
        throw new IllegalStateException("Don't know how to parse type: " + o.getClass());
    }
}

From source file:com.cedarsoft.couchdb.io.ViewResponseSerializer.java

public <K, V, D> ViewResponse<K, V, D> deserialize(@Nonnull JacksonSerializer<? super K> keySerializer,
        @Nonnull JacksonSerializer<? super V> valueSerializer,
        @Nullable JacksonSerializer<? extends D> documentSerializer, @Nonnull InputStream in)
        throws IOException, InvalidTypeException {
    JsonFactory jsonFactory = JacksonSupport.getJsonFactory();
    JsonParser parser = jsonFactory.createJsonParser(in);

    JacksonParserWrapper parserWrapper = new JacksonParserWrapper(parser);
    parserWrapper.nextToken(JsonToken.START_OBJECT);

    parserWrapper.nextToken(JsonToken.FIELD_NAME);
    //If reduced, no total rows and no offset are availlable!

    String fieldName = parser.getText();

    int totalRows = -1;
    int offset = -1;
    while (!fieldName.equals(PROPERTY_ROWS)) {
        if (fieldName.equals(PROPERTY_TOTAL_ROWS)) {
            parserWrapper.nextToken(JsonToken.VALUE_NUMBER_INT);
            totalRows = parser.getIntValue();
        }// w  ww.j av  a  2s  . com

        if (fieldName.equals(PROPERTY_OFFSET)) {
            parserWrapper.nextToken(JsonToken.VALUE_NUMBER_INT);
            offset = parser.getIntValue();
        }

        parserWrapper.nextToken(JsonToken.FIELD_NAME);
        fieldName = parser.getText();
    }

    //Now the rows...
    parserWrapper.nextToken(JsonToken.START_ARRAY);

    List<Row<K, V, D>> deserialized = new ArrayList<>();
    while (parser.nextToken() != JsonToken.END_ARRAY) {
        Row<K, V, D> deserializedRow = rowSerializer.deserialize(keySerializer, valueSerializer,
                documentSerializer, parser);
        deserialized.add(deserializedRow);
    }

    return new ViewResponse<>(totalRows, offset, deserialized);
}

From source file:com.turn.shapeshifter.NamedSchemaSerializerTest.java

@Test
public void testSerializeWithSubObject() throws Exception {
    NamedSchema schema = NamedSchema.of(Union.getDescriptor(), "Union").addConstant("kind", "Union")
            .useSchema("union_value", "Union");
    SchemaRegistry registry = new SchemaRegistry();
    registry.register(schema);// w  w w .j av  a2s.  c om
    Union subUnion = Union.newBuilder().setInt32Value(42).build();
    Union union = Union.newBuilder().setEnumValue(SomeEnum.SECOND).setUnionValue(subUnion).build();

    JsonNode result = new NamedSchemaSerializer(schema).serialize(union, registry);
    Assert.assertTrue(result.isObject());
    Assert.assertEquals(JsonToken.VALUE_STRING, result.get("kind").asToken());
    Assert.assertEquals("Union", result.get("kind").asText());
    Assert.assertEquals(JsonToken.VALUE_STRING, result.get("enumValue").asToken());
    Assert.assertEquals("second", result.get("enumValue").asText());

    JsonNode subUnionJson = result.get("unionValue");
    Assert.assertTrue(subUnionJson.isObject());
    Assert.assertEquals(JsonToken.VALUE_NUMBER_INT, subUnionJson.get("int32Value").asToken());
    Assert.assertEquals(42, subUnionJson.get("int32Value").asInt());
    Assert.assertEquals(JsonToken.VALUE_STRING, subUnionJson.get("kind").asToken());
    Assert.assertEquals("Union", subUnionJson.get("kind").asText());
}

From source file:com.tage.calcite.adapter.druid.DruidConnectionImpl.java

/** Parses the output of a {@code topN} query, sending the results to a
 * {@link Sink}. *//*from  ww w .j a v  a2 s.  co  m*/
private void parse(com.tage.calcite.adapter.druid.QueryType queryType, InputStream in, Sink sink,
        List<String> fieldNames, List<Primitive> fieldTypes, Page page) {
    final JsonFactory factory = new JsonFactory();
    final Row.RowBuilder rowBuilder = Row.newBuilder(fieldNames.size());

    if (CalcitePrepareImpl.DEBUG) {
        try {
            final byte[] bytes = AvaticaUtils.readFullyToBytes(in);
            System.out.println("Response: " + new String(bytes));
            in = new ByteArrayInputStream(bytes);
        } catch (IOException e) {
            throw Throwables.propagate(e);
        }
    }

    try (final JsonParser parser = factory.createParser(in)) {
        switch (queryType) {
        case TOP_N:
            if (parser.nextToken() == JsonToken.START_ARRAY && parser.nextToken() == JsonToken.START_OBJECT) {
                expectScalarField(parser, "timestamp");
                if (parser.nextToken() == JsonToken.FIELD_NAME && parser.getCurrentName().equals("result")
                        && parser.nextToken() == JsonToken.START_ARRAY) {
                    while (parser.nextToken() == JsonToken.START_OBJECT) {
                        // loop until token equal to "}"
                        parseFields(fieldNames, fieldTypes, rowBuilder, parser);
                        sink.send(rowBuilder.build());
                        rowBuilder.reset();
                    }
                }
            }
            break;

        case SELECT:
            if (parser.nextToken() == JsonToken.START_ARRAY && parser.nextToken() == JsonToken.START_OBJECT) {
                page.pagingIdentifier = null;
                page.offset = -1;
                expectScalarField(parser, "timestamp");
                if (parser.nextToken() == JsonToken.FIELD_NAME && parser.getCurrentName().equals("result")
                        && parser.nextToken() == JsonToken.START_OBJECT) {
                    if (parser.nextToken() == JsonToken.FIELD_NAME
                            && parser.getCurrentName().equals("pagingIdentifiers")
                            && parser.nextToken() == JsonToken.START_OBJECT) {
                        switch (parser.nextToken()) {
                        case FIELD_NAME:
                            page.pagingIdentifier = parser.getCurrentName();
                            if (parser.nextToken() == JsonToken.VALUE_NUMBER_INT) {
                                page.offset = parser.getIntValue();
                            }
                            expect(parser, JsonToken.END_OBJECT);
                            break;
                        case END_OBJECT:
                        }
                    }
                    if (parser.nextToken() == JsonToken.FIELD_NAME && parser.getCurrentName().equals("events")
                            && parser.nextToken() == JsonToken.START_ARRAY) {
                        while (parser.nextToken() == JsonToken.START_OBJECT) {
                            expectScalarField(parser, "segmentId");
                            expectScalarField(parser, "offset");
                            if (parser.nextToken() == JsonToken.FIELD_NAME
                                    && parser.getCurrentName().equals("event")
                                    && parser.nextToken() == JsonToken.START_OBJECT) {
                                parseFields(fieldNames, fieldTypes, rowBuilder, parser);
                                sink.send(rowBuilder.build());
                                rowBuilder.reset();
                            }
                            expect(parser, JsonToken.END_OBJECT);
                        }
                        parser.nextToken();
                    }
                }
            }
            break;

        case GROUP_BY:
            if (parser.nextToken() == JsonToken.START_ARRAY) {
                while (parser.nextToken() == JsonToken.START_OBJECT) {
                    expectScalarField(parser, "version");
                    expectScalarField(parser, "timestamp");
                    if (parser.nextToken() == JsonToken.FIELD_NAME && parser.getCurrentName().equals("event")
                            && parser.nextToken() == JsonToken.START_OBJECT) {
                        parseFields(fieldNames, fieldTypes, rowBuilder, parser);
                        sink.send(rowBuilder.build());
                        rowBuilder.reset();
                    }
                    expect(parser, JsonToken.END_OBJECT);
                }
            }
        }
    } catch (IOException | InterruptedException e) {
        throw Throwables.propagate(e);
    }
}