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

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

Introduction

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

Prototype

public abstract Number getNumberValue() throws IOException, JsonParseException;

Source Link

Document

Generic number value accessor method that will work for all kinds of numeric values.

Usage

From source file:jp.xet.baseunits.jackson2.DurationDeserializer.java

@Override
public Duration deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
    return Duration.valueOf(jp.getNumberValue().longValue(), timeUnit);
}

From source file:com.cedarsoft.serialization.jackson.NumberSerializer.java

@Nonnull
@Override//from  w  w w  .j ava2  s.  c  om
public Number deserialize(@Nonnull JsonParser deserializeFrom, @Nonnull Version formatVersion)
        throws IOException, VersionException, JsonProcessingException {
    return deserializeFrom.getNumberValue();
}

From source file:org.oscim.tiling.source.geojson.GeoJsonTileDecoder.java

private void parseProperties(JsonParser jp) throws JsonParseException, IOException {
    for (JsonToken t; (t = jp.nextToken()) != null;) {
        if (t == FIELD_NAME) {
            String text = jp.getCurrentName();

            t = jp.nextToken();/*from   w  w w .  j a  v a 2  s  .  co  m*/
            if (t == VALUE_STRING) {
                mTagMap.put(text, jp.getText());
            } else if (t == VALUE_NUMBER_INT) {
                mTagMap.put(text, jp.getNumberValue());
            }
            continue;
        }
        if (t == END_OBJECT)
            break;
    }
}

From source file:io.pdef.json.JsonJacksonFormat.java

private Object read(final JsonParser parser) throws IOException {
    JsonToken current = parser.getCurrentToken();
    if (current == null || current == JsonToken.VALUE_NULL) {
        return null;
    }//from www.  java  2  s .  co m

    switch (current) {
    case VALUE_NULL:
        return null;
    case VALUE_TRUE:
        return true;
    case VALUE_FALSE:
        return false;
    case VALUE_STRING:
        return parser.getValueAsString();
    case VALUE_NUMBER_INT:
    case VALUE_NUMBER_FLOAT:
        return parser.getNumberValue();
    case START_ARRAY:
        return readArray(parser);
    case START_OBJECT:
        return readMap(parser);
    default:
        throw new JsonFormatException("Bad JSON string");
    }
}

From source file:data.DefaultExchanger.java

private void importSequence(String dbName, JsonParser parser, JdbcTemplate jdbcTemplate) throws IOException {
    if (hasSequence()) {
        JsonToken fieldNameToken = parser.nextToken();
        if (fieldNameToken == JsonToken.FIELD_NAME) {
            String fieldName = parser.getCurrentName();
            if (fieldName.equalsIgnoreCase(sequenceName())) {
                JsonToken current = parser.nextToken();
                if (current == JsonToken.VALUE_NUMBER_INT) {
                    long sequenceValue = parser.getNumberValue().longValue();
                    if (dbName.equals("MySQL")) {
                        jdbcTemplate// w  w  w.  j ava2  s . c o m
                                .execute("ALTER TABLE " + getTable() + " AUTO_INCREMENT = " + sequenceValue);
                    } else if (dbName.equals("H2")) {
                        jdbcTemplate
                                .execute("ALTER SEQUENCE " + sequenceName() + " RESTART WITH " + sequenceValue);
                    }
                }
            }
        }
        play.Logger.info("imported sequence {{}}", sequenceName());
    }
}

From source file:org.graylog2.gelfclient.encoder.GelfMessageJsonEncoderTest.java

@Test
public void testOptionalFullMessage() throws Exception {
    final EmbeddedChannel channel = new EmbeddedChannel(new GelfMessageJsonEncoder());
    final GelfMessage message = new GelfMessageBuilder("test").build();
    assertTrue(channel.writeOutbound(message));
    assertTrue(channel.finish());//from  ww w.  j a  v a 2s. c o m

    final ByteBuf byteBuf = (ByteBuf) channel.readOutbound();
    final byte[] bytes = new byte[byteBuf.readableBytes()];
    byteBuf.getBytes(0, bytes).release();
    final JsonFactory json = new JsonFactory();
    final JsonParser parser = json.createParser(bytes);

    String version = null;
    Number timestamp = null;
    String host = null;
    String short_message = null;
    String full_message = null;
    Number level = null;

    while (parser.nextToken() != JsonToken.END_OBJECT) {
        String key = parser.getCurrentName();

        if (key == null) {
            continue;
        }

        parser.nextToken();

        switch (key) {
        case "version":
            version = parser.getText();
            break;
        case "timestamp":
            timestamp = parser.getNumberValue();
            break;
        case "host":
            host = parser.getText();
            break;
        case "short_message":
            short_message = parser.getText();
            break;
        case "full_message":
            full_message = parser.getText();
            break;
        case "level":
            level = parser.getNumberValue();
            break;
        default:
            throw new Exception("Found unexpected field in JSON payload: " + key);
        }
    }

    assertEquals(message.getVersion().toString(), version);
    assertEquals(message.getTimestamp(), timestamp);
    assertEquals(message.getHost(), host);
    assertEquals(message.getMessage(), short_message);
    assertNull(full_message);
    assertEquals(message.getLevel().getNumericLevel(), level);
}

From source file:org.graylog2.gelfclient.encoder.GelfMessageJsonEncoderTest.java

@Test
public void testNullLevel() throws Exception {
    final EmbeddedChannel channel = new EmbeddedChannel(new GelfMessageJsonEncoder());
    final GelfMessage message = new GelfMessageBuilder("test").build();

    message.setLevel(null);/*  w w  w  .  j a  va 2 s.  co  m*/

    assertTrue(channel.writeOutbound(message));
    assertTrue(channel.finish());

    final ByteBuf byteBuf = (ByteBuf) channel.readOutbound();
    final byte[] bytes = new byte[byteBuf.readableBytes()];
    byteBuf.getBytes(0, bytes).release();
    final JsonFactory json = new JsonFactory();
    final JsonParser parser = json.createParser(bytes);

    String version = null;
    Number timestamp = null;
    String host = null;
    String short_message = null;
    String full_message = null;
    Number level = null;

    while (parser.nextToken() != JsonToken.END_OBJECT) {
        String key = parser.getCurrentName();

        if (key == null) {
            continue;
        }

        parser.nextToken();

        switch (key) {
        case "version":
            version = parser.getText();
            break;
        case "timestamp":
            timestamp = parser.getNumberValue();
            break;
        case "host":
            host = parser.getText();
            break;
        case "short_message":
            short_message = parser.getText();
            break;
        case "full_message":
            full_message = parser.getText();
            break;
        case "level":
            level = parser.getNumberValue();
            break;
        default:
            throw new Exception("Found unexpected field in JSON payload: " + key);
        }
    }

    assertEquals(message.getVersion().toString(), version);
    assertEquals(message.getTimestamp(), timestamp);
    assertEquals(message.getHost(), host);
    assertEquals(message.getMessage(), short_message);
    assertNull(full_message);
    assertNull(level);
}

From source file:org.graylog2.gelfclient.encoder.GelfMessageJsonEncoderTest.java

@Test
public void testEncode() throws Exception {
    byte[] bytes = readBytes();

    JsonFactory json = new JsonFactory();
    JsonParser parser = json.createParser(bytes);

    String version = null;//  w ww.  java  2  s. c  o m
    Number timestamp = null;
    String host = null;
    String short_message = null;
    String full_message = null;
    Number level = null;
    Number _foo = null;
    Number _bar = null;
    String _baz = null;

    while (parser.nextToken() != JsonToken.END_OBJECT) {
        String key = parser.getCurrentName();

        if (key == null) {
            continue;
        }

        parser.nextToken();

        switch (key) {
        case "version":
            version = parser.getText();
            break;
        case "timestamp":
            timestamp = parser.getNumberValue();
            break;
        case "host":
            host = parser.getText();
            break;
        case "short_message":
            short_message = parser.getText();
            break;
        case "full_message":
            full_message = parser.getText();
            break;
        case "level":
            level = parser.getNumberValue();
            break;
        case "_foo":
            _foo = parser.getNumberValue();
            break;
        case "_bar":
            _bar = parser.getNumberValue();
            break;
        case "_baz":
            _baz = parser.getText();
            break;
        default:
            throw new Exception("Found unexpected field in JSON payload: " + key);
        }
    }

    assertEquals(message.getVersion().toString(), version);
    assertEquals(message.getTimestamp(), timestamp);
    assertEquals(message.getHost(), host);
    assertEquals(message.getMessage(), short_message);
    assertEquals(message.getFullMessage(), full_message);
    assertEquals(message.getLevel().getNumericLevel(), level);
    assertEquals(1.0, _foo);
    assertEquals(128, _bar);
    assertEquals("a value", _baz);
}

From source file:org.hippoecm.frontend.service.restproxy.custom.json.deserializers.AnnotationJsonDeserializer.java

protected Object deserializeAnnotationAttribute(Class<? extends Annotation> annotationClass,
        Method annotationAttribute, JsonParser jsonParser) throws JsonParseException, IOException {

    jsonParser.nextToken();/*from  ww  w .j  a  va  2  s  .c om*/
    if (annotationAttribute.getReturnType() == byte.class
            || annotationAttribute.getReturnType() == Byte.class) {
        return jsonParser.getNumberValue().byteValue();
    } else if (annotationAttribute.getReturnType() == short.class
            || annotationAttribute.getReturnType() == Short.class) {
        return jsonParser.getNumberValue().shortValue();
    } else if (annotationAttribute.getReturnType() == int.class
            || annotationAttribute.getReturnType() == Integer.class) {
        return jsonParser.getNumberValue().intValue();
    } else if (annotationAttribute.getReturnType() == long.class
            || annotationAttribute.getReturnType() == Long.class) {
        return jsonParser.getNumberValue().longValue();
    } else if (annotationAttribute.getReturnType() == float.class
            || annotationAttribute.getReturnType() == Float.class) {
        return jsonParser.getNumberValue().floatValue();
    } else if (annotationAttribute.getReturnType() == double.class
            || annotationAttribute.getReturnType() == Double.class) {
        return jsonParser.getNumberValue().doubleValue();
    } else if (annotationAttribute.getReturnType() == double.class
            || annotationAttribute.getReturnType() == Double.class) {
        return jsonParser.getNumberValue().doubleValue();
    } else if (annotationAttribute.getReturnType() == boolean.class
            || annotationAttribute.getReturnType() == Boolean.class) {
        return jsonParser.getBooleanValue();
    } else if (annotationAttribute.getReturnType() == char.class
            || annotationAttribute.getReturnType() == Character.class) {
        return jsonParser.getText().charAt(0);
    } else if (annotationAttribute.getReturnType() == String.class) {
        return jsonParser.getText();
    } else if (annotationAttribute.getReturnType() == byte[].class) {
        return deserializeBytePrimitiveArrayAnnotationAttribute(jsonParser);
    } else if (annotationAttribute.getReturnType() == Byte[].class) {
        return deserializeByteArrayAnnotationAttribute(jsonParser);
    } else if (annotationAttribute.getReturnType() == short[].class) {
        return deserializeShortPrimitiveArrayAnnotationAttribute(jsonParser);
    } else if (annotationAttribute.getReturnType() == Short[].class) {
        return deserializeShortArrayAnnotationAttribute(jsonParser);
    } else if (annotationAttribute.getReturnType() == int[].class) {
        return deserializeIntegerPrimitiveArrayAnnotationAttribute(jsonParser);
    } else if (annotationAttribute.getReturnType() == Short[].class) {
        return deserializeIntegerArrayAnnotationAttribute(jsonParser);
    } else if (annotationAttribute.getReturnType() == long[].class) {
        return deserializeLongPrimitiveArrayAnnotationAttribute(jsonParser);
    } else if (annotationAttribute.getReturnType() == Long[].class) {
        return deserializeLongArrayAnnotationAttribute(jsonParser);
    } else if (annotationAttribute.getReturnType() == float[].class) {
        return deserializeFloatPrimitiveArrayAnnotationAttribute(jsonParser);
    } else if (annotationAttribute.getReturnType() == Float[].class) {
        return deserializeFloatArrayAnnotationAttribute(jsonParser);
    } else if (annotationAttribute.getReturnType() == double[].class) {
        return deserializeDoublePrimitiveArrayAnnotationAttribute(jsonParser);
    } else if (annotationAttribute.getReturnType() == Double[].class) {
        return deserializeDoubleArrayAnnotationAttribute(jsonParser);
    } else if (annotationAttribute.getReturnType() == boolean[].class) {
        return deserializeBooleanPrimitiveArrayAnnotationAttribute(jsonParser);
    } else if (annotationAttribute.getReturnType() == Boolean[].class) {
        return deserializeBooleanArrayAnnotationAttribute(jsonParser);
    } else if (annotationAttribute.getReturnType() == char[].class) {
        return deserializeCharacterPrimitiveArrayAnnotationAttribute(jsonParser);
    } else if (annotationAttribute.getReturnType() == Character[].class) {
        return deserializeCharacterArrayAnnotationAttribute(jsonParser);
    } else if (annotationAttribute.getReturnType() == String[].class) {
        return deserializeStringArrayAnnotationAttribute(jsonParser);
    } else {
        throw new IllegalArgumentException(
                "Unrecognized attribute value type " + annotationAttribute.getReturnType().getName()
                        + " for annotation " + annotationClass.getName());

    }
}