List of usage examples for com.fasterxml.jackson.core JsonToken VALUE_NUMBER_INT
JsonToken VALUE_NUMBER_INT
To view the source code for com.fasterxml.jackson.core JsonToken VALUE_NUMBER_INT.
Click Source Link
From source file:com.turn.shapeshifter.NamedSchemaSerializerTest.java
@Test public void testSerializeWithRepeatedPrimitive() throws Exception { NamedSchema schema = NamedSchema.of(Union.getDescriptor(), "Union"); SchemaRegistry registry = new SchemaRegistry(); registry.register(schema);//from w w w.j ava2 s .c o m Union union = Union.newBuilder().addInt32Repeated(42).addInt32Repeated(42).build(); JsonNode result = new NamedSchemaSerializer(schema).serialize(union, registry); JsonNode array = result.get("int32Repeated"); Assert.assertTrue(array.isArray()); Assert.assertEquals(2, array.size()); for (JsonNode item : array) { Assert.assertEquals(JsonToken.VALUE_NUMBER_INT, item.asToken()); Assert.assertEquals(42, item.intValue()); } }
From source file:eu.project.ttc.readers.TermSuiteJsonCasDeserializer.java
private static void fillWords(TermOccAnnotation toa, CAS cas) throws CASException, IOException { FSArray fs = (FSArray) cas.createArrayFS(toa.getPattern().size()); int i = 0;/*from www. ja v a 2 s .c o m*/ int begin = -1; int end = -1; while (i != toa.getPattern().size()) { if (begin != -1 && token == JsonToken.VALUE_NUMBER_INT) { end = parser.getValueAsInt(); } else if (token == JsonToken.VALUE_NUMBER_INT) { begin = parser.getValueAsInt(); } else if (end != -1) { List<WordAnnotation> wa = JCasUtil.selectCovered(cas.getJCas(), WordAnnotation.class, begin, end); fs.set(i, wa.get(0)); begin = -1; end = -1; i++; } token = parser.nextToken(); } toa.setWords(fs); }
From source file:com.tage.calcite.adapter.druid.DruidConnectionImpl.java
private void parseField(List<String> fieldNames, List<Primitive> fieldTypes, Row.RowBuilder rowBuilder, JsonParser parser) throws IOException { final String fieldName = parser.getCurrentName(); // Move to next token, which is name's value JsonToken token = parser.nextToken(); int i = fieldNames.indexOf(fieldName); if (i < 0) { return;/*from ww w .ja v a 2s . co m*/ } switch (token) { case VALUE_NUMBER_INT: case VALUE_NUMBER_FLOAT: Primitive type = fieldTypes.get(i); if (type == null) { if (token == JsonToken.VALUE_NUMBER_INT) { type = Primitive.INT; } else { type = Primitive.FLOAT; } } switch (type) { case BYTE: rowBuilder.set(i, parser.getIntValue()); break; case SHORT: rowBuilder.set(i, parser.getShortValue()); break; case INT: rowBuilder.set(i, parser.getIntValue()); break; case LONG: rowBuilder.set(i, parser.getLongValue()); break; case FLOAT: rowBuilder.set(i, parser.getFloatValue()); break; case DOUBLE: rowBuilder.set(i, parser.getDoubleValue()); break; } break; case VALUE_TRUE: rowBuilder.set(i, true); break; case VALUE_FALSE: rowBuilder.set(i, false); break; case VALUE_NULL: break; default: rowBuilder.set(i, parser.getText()); } }
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//from w w w . jav a2 s.c om .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:de.undercouch.bson4jackson.BsonParserTest.java
/** * Tests reading an embedded document through * {@link BsonParser#readValueAsTree()}. Refers issue #9 * @throws Exception if something went wrong * @author audistard/*w w w . jav a2 s .c o m*/ */ @Test public void parseEmbeddedDocumentAsTree() throws Exception { BSONObject o2 = new BasicBSONObject(); o2.put("Int64", 10L); BSONObject o3 = new BasicBSONObject(); o3.put("Int64", 11L); BSONObject o1 = new BasicBSONObject(); o1.put("Obj2", o2); o1.put("Obj3", o3); BSONEncoder enc = new BasicBSONEncoder(); byte[] b = enc.encode(o1); ByteArrayInputStream bais = new ByteArrayInputStream(b); BsonFactory fac = new BsonFactory(); ObjectMapper mapper = new ObjectMapper(fac); fac.setCodec(mapper); BsonParser dec = fac.createParser(bais); assertEquals(JsonToken.START_OBJECT, dec.nextToken()); assertEquals(JsonToken.FIELD_NAME, dec.nextToken()); assertEquals("Obj2", dec.getCurrentName()); assertEquals(JsonToken.START_OBJECT, dec.nextToken()); JsonNode obj2 = dec.readValueAsTree(); assertEquals(1, obj2.size()); assertNotNull(obj2.get("Int64")); assertEquals(10L, obj2.get("Int64").longValue()); assertEquals(JsonToken.FIELD_NAME, dec.nextToken()); assertEquals("Obj3", dec.getCurrentName()); assertEquals(JsonToken.START_OBJECT, dec.nextToken()); assertEquals(JsonToken.FIELD_NAME, dec.nextToken()); assertEquals("Int64", dec.getCurrentName()); assertEquals(JsonToken.VALUE_NUMBER_INT, dec.nextToken()); assertEquals(11L, dec.getLongValue()); assertEquals(JsonToken.END_OBJECT, dec.nextToken()); assertEquals(JsonToken.END_OBJECT, dec.nextToken()); }
From source file:de.undercouch.bson4jackson.BsonParser.java
@Override public JsonToken nextToken() throws IOException, JsonParseException { Context ctx = _currentContext; if (_currToken == null && ctx == null) { try {/*from w ww .ja v a 2 s .c om*/ _currToken = handleNewDocument(false); } catch (EOFException e) { //there is nothing more to read. indicate EOF return null; } } else { _tokenPos = _counter.getPosition(); if (ctx == null) { if (_currToken == JsonToken.END_OBJECT) { //end of input return null; } throw new JsonParseException("Found element outside the document", getTokenLocation()); } if (ctx.state == State.DONE) { //next field ctx.reset(); } boolean readValue = true; if (ctx.state == State.FIELDNAME) { readValue = false; while (true) { //read field name or end of document ctx.type = _in.readByte(); if (ctx.type == BsonConstants.TYPE_END) { //end of document _currToken = (ctx.array ? JsonToken.END_ARRAY : JsonToken.END_OBJECT); _currentContext = _currentContext.parent; } else if (ctx.type == BsonConstants.TYPE_UNDEFINED) { //skip field name and then ignore this token skipCString(); continue; } else { ctx.state = State.VALUE; _currToken = JsonToken.FIELD_NAME; if (ctx.array) { //immediately read value of array element (discard field name) readValue = true; skipCString(); ctx.fieldName = null; } else { //read field name ctx.fieldName = readCString(); } } break; } } if (readValue) { //parse element's value switch (ctx.type) { case BsonConstants.TYPE_DOUBLE: ctx.value = _in.readDouble(); _currToken = JsonToken.VALUE_NUMBER_FLOAT; break; case BsonConstants.TYPE_STRING: ctx.value = readString(); _currToken = JsonToken.VALUE_STRING; break; case BsonConstants.TYPE_DOCUMENT: _currToken = handleNewDocument(false); break; case BsonConstants.TYPE_ARRAY: _currToken = handleNewDocument(true); break; case BsonConstants.TYPE_BINARY: _currToken = handleBinary(); break; case BsonConstants.TYPE_OBJECTID: ctx.value = readObjectId(); _currToken = JsonToken.VALUE_EMBEDDED_OBJECT; break; case BsonConstants.TYPE_BOOLEAN: boolean b = _in.readBoolean(); ctx.value = b; _currToken = (b ? JsonToken.VALUE_TRUE : JsonToken.VALUE_FALSE); break; case BsonConstants.TYPE_DATETIME: ctx.value = new Date(_in.readLong()); _currToken = JsonToken.VALUE_EMBEDDED_OBJECT; break; case BsonConstants.TYPE_NULL: _currToken = JsonToken.VALUE_NULL; break; case BsonConstants.TYPE_REGEX: _currToken = handleRegEx(); break; case BsonConstants.TYPE_DBPOINTER: _currToken = handleDBPointer(); break; case BsonConstants.TYPE_JAVASCRIPT: ctx.value = new JavaScript(readString()); _currToken = JsonToken.VALUE_EMBEDDED_OBJECT; break; case BsonConstants.TYPE_SYMBOL: ctx.value = readSymbol(); _currToken = JsonToken.VALUE_EMBEDDED_OBJECT; break; case BsonConstants.TYPE_JAVASCRIPT_WITH_SCOPE: _currToken = handleJavascriptWithScope(); break; case BsonConstants.TYPE_INT32: ctx.value = _in.readInt(); _currToken = JsonToken.VALUE_NUMBER_INT; break; case BsonConstants.TYPE_TIMESTAMP: ctx.value = readTimestamp(); _currToken = JsonToken.VALUE_EMBEDDED_OBJECT; break; case BsonConstants.TYPE_INT64: ctx.value = _in.readLong(); _currToken = JsonToken.VALUE_NUMBER_INT; break; case BsonConstants.TYPE_MINKEY: ctx.value = "MinKey"; _currToken = JsonToken.VALUE_STRING; break; case BsonConstants.TYPE_MAXKEY: ctx.value = "MaxKey"; _currToken = JsonToken.VALUE_STRING; break; default: throw new JsonParseException("Unknown element type " + ctx.type, getTokenLocation()); } ctx.state = State.DONE; } } return _currToken; }
From source file:org.wso2.extension.siddhi.map.json.sourcemapper.JsonSourceMapper.java
private Event convertToSingleEventForDefaultMapping(Object eventObject) throws IOException { Event event = new Event(attributesSize); Object[] data = event.getData(); JsonParser parser;/*from ww w. java 2 s. c o m*/ int numberOfProvidedAttributes = 0; try { parser = factory.createParser(eventObject.toString()); } catch (IOException e) { throw new SiddhiAppRuntimeException( "Initializing a parser failed for the event string." + eventObject.toString()); } int position; while (!parser.isClosed()) { JsonToken jsonToken = parser.nextToken(); if (JsonToken.START_OBJECT.equals(jsonToken)) { parser.nextToken(); if (DEFAULT_JSON_EVENT_IDENTIFIER.equalsIgnoreCase(parser.getText())) { parser.nextToken(); } else { log.error("Default json message " + eventObject + " contains an invalid event identifier. Required \"event\", " + "but found \"" + parser.getText() + "\". Hence dropping the message."); return null; } } else if (JsonToken.FIELD_NAME.equals(jsonToken)) { String key = parser.getCurrentName(); numberOfProvidedAttributes++; position = findDefaultMappingPosition(key); if (position == -1) { log.error("Stream \"" + streamDefinition.getId() + "\" does not have an attribute named \"" + key + "\", but the received event " + eventObject.toString() + " does. Hence dropping the message."); return null; } jsonToken = parser.nextToken(); Attribute.Type type = streamAttributes.get(position).getType(); if (JsonToken.VALUE_NULL.equals(jsonToken)) { data[position] = null; } else { switch (type) { case BOOL: if (JsonToken.VALUE_TRUE.equals(jsonToken) || JsonToken.VALUE_FALSE.equals(jsonToken)) { data[position] = parser.getValueAsBoolean(); } else { log.error("Json message " + eventObject.toString() + " contains incompatible attribute types and values. Value " + parser.getText() + " is not compatible with type BOOL. " + "Hence dropping the message."); return null; } break; case INT: if (JsonToken.VALUE_NUMBER_INT.equals(jsonToken)) { data[position] = parser.getValueAsInt(); } else { log.error("Json message " + eventObject.toString() + " contains incompatible attribute types and values. Value " + parser.getText() + " is not compatible with type INT. " + "Hence dropping the message."); return null; } break; case DOUBLE: if (JsonToken.VALUE_NUMBER_FLOAT.equals(jsonToken)) { data[position] = parser.getValueAsDouble(); } else { log.error("Json message " + eventObject.toString() + " contains incompatible attribute types and values. Value " + parser.getText() + " is not compatible with type DOUBLE. " + "Hence dropping the message."); return null; } break; case STRING: if (JsonToken.VALUE_STRING.equals(jsonToken)) { data[position] = parser.getValueAsString(); } else { log.error("Json message " + eventObject.toString() + " contains incompatible attribute types and values. Value " + parser.getText() + " is not compatible with type STRING. " + "Hence dropping the message."); return null; } break; case FLOAT: if (JsonToken.VALUE_NUMBER_FLOAT.equals(jsonToken) || JsonToken.VALUE_NUMBER_INT.equals(jsonToken)) { data[position] = attributeConverter.getPropertyValue(parser.getValueAsString(), Attribute.Type.FLOAT); } else { log.error("Json message " + eventObject.toString() + " contains incompatible attribute types and values. Value " + parser.getText() + " is not compatible with type FLOAT. " + "Hence dropping the message."); return null; } break; case LONG: if (JsonToken.VALUE_NUMBER_INT.equals(jsonToken)) { data[position] = parser.getValueAsLong(); } else { log.error("Json message " + eventObject.toString() + " contains incompatible attribute types and values. Value " + parser.getText() + " is not compatible with type LONG. " + "Hence dropping the message."); return null; } break; default: return null; } } } } if (failOnMissingAttribute && (numberOfProvidedAttributes != attributesSize)) { log.error("Json message " + eventObject.toString() + " contains missing attributes. Hence dropping the message."); return null; } return event; }
From source file:org.h2gis.drivers.geojson.GeoJsonReaderDriver.java
/** * Parses the metadata properties.//from w w w. j a v a 2 s.com * * @param jp * @return index */ private int parseMetadataProperties(JsonParser jp, StringBuilder metadataBuilder, int fieldIndex) throws IOException { jp.nextToken();//START_OBJECT { while (jp.nextToken() != JsonToken.END_OBJECT) { String fieldName = jp.getText().toUpperCase(); //FIELD_NAME columnName JsonToken value = jp.nextToken(); if (value == JsonToken.VALUE_STRING) { metadataBuilder.append(fieldName).append(" VARCHAR"); fieldIndex++; } else if (value == JsonToken.VALUE_TRUE) { metadataBuilder.append(fieldName).append(" BOOLEAN"); fieldIndex++; } else if (value == JsonToken.VALUE_FALSE) { metadataBuilder.append(fieldName).append(" BOOLEAN"); fieldIndex++; } else if (value == JsonToken.VALUE_NUMBER_FLOAT) { metadataBuilder.append(fieldName).append(" DOUBLE"); fieldIndex++; } else if (value == JsonToken.VALUE_NUMBER_INT) { metadataBuilder.append(fieldName).append(" INT"); fieldIndex++; } else if (value == JsonToken.VALUE_NULL) { metadataBuilder.append(fieldName).append(" VARCHAR"); fieldIndex++; } else { // TODO: ignore value. } metadataBuilder.append(","); } return fieldIndex; }
From source file:de.undercouch.bson4jackson.BsonParserTest.java
/** * Checks if the parser returns a textual representation of arbitrary * tokens. See issue #23./* w w w.j av a2 s . c o m*/ * @throws Exception if something went wrong */ @Test public void parseAsText() throws Exception { BSONObject o = new BasicBSONObject(); o.put("Float", 5.0f); o.put("Int32", 1234); BSONEncoder enc = new BasicBSONEncoder(); byte[] b = enc.encode(o); ByteArrayInputStream bais = new ByteArrayInputStream(b); BsonFactory fac = new BsonFactory(); BsonParser dec = fac.createParser(bais); assertEquals(JsonToken.START_OBJECT, dec.nextToken()); assertEquals(JsonToken.FIELD_NAME, dec.nextToken()); assertEquals("Float", dec.getCurrentName()); assertEquals(JsonToken.VALUE_NUMBER_FLOAT, dec.nextToken()); assertEquals(5.0f, dec.getFloatValue(), 0.00001); assertEquals("5.0", dec.getText()); assertEquals(JsonToken.FIELD_NAME, dec.nextToken()); assertEquals("Int32", dec.getCurrentName()); assertEquals(JsonToken.VALUE_NUMBER_INT, dec.nextToken()); assertEquals(1234, dec.getIntValue()); assertEquals("1234", dec.getText()); assertEquals(JsonToken.END_OBJECT, dec.nextToken()); }
From source file:org.apache.lucene.server.handlers.AddDocumentHandler.java
/** Parses the current json token into the corresponding * java object. *//*from w w w. j av a 2 s. com*/ private static Object getNativeValue(FieldDef fd, JsonToken token, JsonParser p) throws IOException { Object o; if (token == JsonToken.VALUE_STRING) { o = p.getText(); } else if (token == JsonToken.VALUE_NUMBER_INT) { o = Long.valueOf(p.getLongValue()); } else if (token == JsonToken.VALUE_NUMBER_FLOAT) { o = Double.valueOf(p.getDoubleValue()); } else if (token == JsonToken.VALUE_TRUE) { o = Boolean.TRUE; } else if (token == JsonToken.VALUE_FALSE) { o = Boolean.FALSE; } else if (fd.faceted.equals("hierarchy") && token == JsonToken.START_ARRAY) { if (fd.multiValued == false) { List<String> values = new ArrayList<>(); while (true) { token = p.nextToken(); if (token == JsonToken.END_ARRAY) { break; } else if (token != JsonToken.VALUE_STRING) { if (token == JsonToken.START_ARRAY) { fail(fd.name, "expected array of strings, but saw array inside array"); } else { fail(fd.name, "expected array of strings, but saw " + token + " inside array"); } } values.add(p.getText()); } o = values; } else { List<List<String>> values = new ArrayList<>(); while (true) { token = p.nextToken(); if (token == JsonToken.END_ARRAY) { break; } else if (token == JsonToken.START_ARRAY) { List<String> sub = new ArrayList<>(); values.add(sub); while (true) { token = p.nextToken(); if (token == JsonToken.VALUE_STRING) { sub.add(p.getText()); } else if (token == JsonToken.END_ARRAY) { break; } else { fail(fd.name, "expected array of strings or array of array of strings, but saw " + token + " inside inner array"); } } } else if (token == JsonToken.VALUE_STRING) { List<String> sub = new ArrayList<>(); values.add(sub); sub.add(p.getText()); } else if (token == JsonToken.START_ARRAY) { fail(fd.name, "expected array of strings, but saw array inside array"); } else { fail(fd.name, "expected array of strings, but saw " + token + " inside array"); } } o = values; } } else if (fd.valueType == FieldDef.FieldValueType.LAT_LON) { if (token != JsonToken.START_ARRAY) { fail(fd.name, "latlon field must be [lat, lon] value; got " + token); } double[] latLon = new double[2]; token = p.nextToken(); if (token != JsonToken.VALUE_NUMBER_FLOAT) { fail(fd.name, "latlon field must be [lat, lon] value; got " + token); } latLon[0] = p.getDoubleValue(); token = p.nextToken(); if (token != JsonToken.VALUE_NUMBER_FLOAT) { fail(fd.name, "latlon field must be [lat, lon] value; got " + token); } latLon[1] = p.getDoubleValue(); token = p.nextToken(); if (token != JsonToken.END_ARRAY) { fail(fd.name, "latlon field must be [lat, lon] value; got " + token); } o = latLon; } else { String message; if (token == JsonToken.VALUE_NULL) { message = "null field value not supported; just omit this field from the document instead"; } else { message = "value in inner object field value should be string, int/long, float/double or boolean; got " + token; } fail(fd.name, message); // Dead code but compiler disagrees: o = null; } return o; }