List of usage examples for com.fasterxml.jackson.core JsonToken VALUE_NULL
JsonToken VALUE_NULL
To view the source code for com.fasterxml.jackson.core JsonToken VALUE_NULL.
Click Source Link
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 w w w . j a v a 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:com.cinnober.msgcodec.json.JsonCodec.java
/** * Read a static group from the specified stream, when the JSON does not contain the '$type' field. * * @param groupType the expected group type, not null. * @param in the stream to read from, not null. * @return the decoded value./*from w w w .java 2s .com*/ * @throws IOException if the underlying stream throws an exception. * @throws DecodeException if the value could not be decoded, or if a required field is missing. */ public Object decodeStatic(Object groupType, InputStream in) throws IOException { StaticGroupHandler groupHandler = staticGroupsByGroupType.get(groupType); if (groupHandler == null) { throw new IllegalArgumentException("Unknown group type"); } JsonFactory f = new JsonFactory(); JsonParser p = f.createParser(in); JsonToken token = p.nextToken(); if (token == JsonToken.VALUE_NULL) { return null; } else if (token != JsonToken.START_OBJECT) { throw new DecodeException("Expected {"); } return groupHandler.readValue(p); }
From source file:com.google.openrtb.json.OpenRtbJsonReader.java
public final Pmp.Builder readPmp(JsonParser par) throws IOException { Pmp.Builder pmp = Pmp.newBuilder();/*from w ww. j a v a 2 s. c o m*/ for (startObject(par); endObject(par); par.nextToken()) { String fieldName = getCurrentName(par); if (par.nextToken() != JsonToken.VALUE_NULL) { readPmpField(par, pmp, fieldName); } } return pmp; }
From source file:com.google.openrtb.json.OpenRtbNativeJsonReader.java
public final NativeResponse.Asset.Builder readRespAsset(JsonParser par) throws IOException { NativeResponse.Asset.Builder asset = NativeResponse.Asset.newBuilder(); for (startObject(par); endObject(par); par.nextToken()) { String fieldName = getCurrentName(par); if (par.nextToken() != JsonToken.VALUE_NULL) { readRespAssetField(par, asset, fieldName); }/*from w w w . j a v a 2 s. c o m*/ } return asset; }
From source file:com.google.openrtb.json.OpenRtbJsonReader.java
public final Deal.Builder readDeal(JsonParser par) throws IOException { Deal.Builder deal = Deal.newBuilder(); for (startObject(par); endObject(par); par.nextToken()) { String fieldName = getCurrentName(par); if (par.nextToken() != JsonToken.VALUE_NULL) { readDealField(par, deal, fieldName); }/*from w ww . jav a 2 s .c om*/ } return deal; }
From source file:com.amazonaws.services.cloudtrail.processinglibrary.serializer.AbstractEventSerializer.java
/** * Parse event read only attribute.//from w w w . jav a 2 s .c o m * * @param eventData * * @throws JsonParseException * @throws IOException */ private void parseReadOnly(CloudTrailEventData eventData) throws JsonParseException, IOException { this.jsonParser.nextToken(); Boolean readOnly = null; if (this.jsonParser.getCurrentToken() != JsonToken.VALUE_NULL) { readOnly = this.jsonParser.getBooleanValue(); } eventData.add(CloudTrailEventField.readOnly.name(), readOnly); }
From source file:com.google.openrtb.json.OpenRtbNativeJsonReader.java
public final NativeResponse.Asset.Title.Builder readRespTitle(JsonParser par) throws IOException { NativeResponse.Asset.Title.Builder title = NativeResponse.Asset.Title.newBuilder(); for (startObject(par); endObject(par); par.nextToken()) { String fieldName = getCurrentName(par); if (par.nextToken() != JsonToken.VALUE_NULL) { readRespTitleField(par, title, fieldName); }/*from w w w .j a v a 2 s .c o m*/ } return title; }
From source file:com.cinnober.msgcodec.json.JsonCodec.java
/** * Read a static group from the specified stream, when the JSON does not contain the '$type' field. * * @param groupName the expected group name, not null. * @param in the stream to read from, not null. * @return the decoded value./*from w w w . java 2 s . c o m*/ * @throws IOException if the underlying stream throws an exception. * @throws DecodeException if the value could not be decoded, or if a required field is missing. */ public Object decodeStatic(String groupName, InputStream in) throws IOException { StaticGroupHandler groupHandler = lookupGroupByName(groupName); if (groupHandler == null) { throw new IllegalArgumentException("Unknown group name"); } JsonFactory f = new JsonFactory(); JsonParser p = f.createParser(in); JsonToken token = p.nextToken(); if (token == JsonToken.VALUE_NULL) { return null; } else if (token != JsonToken.START_OBJECT) { throw new DecodeException("Expected {"); } return groupHandler.readValue(p); }
From source file:com.amazonaws.services.cloudtrail.processinglibrary.serializer.AbstractEventSerializer.java
/** * Parse a list of Resource//w ww. j av a2 s .c o m * * @param eventData the resources belong to * @throws IOException */ private void parseResources(CloudTrailEventData eventData) throws IOException { JsonToken nextToken = this.jsonParser.nextToken(); if (nextToken == JsonToken.VALUE_NULL) { eventData.add(CloudTrailEventField.resources.name(), null); return; } if (nextToken != JsonToken.START_ARRAY) { throw new JsonParseException("Not a list of resources object", this.jsonParser.getCurrentLocation()); } List<Resource> resources = new ArrayList<Resource>(); while (this.jsonParser.nextToken() != JsonToken.END_ARRAY) { resources.add(this.parseResource()); } eventData.add(CloudTrailEventField.resources.name(), resources); }
From source file:org.h2gis.drivers.geojson.GeoJsonReaderDriver.java
/** * Parses the metadata properties./* w ww . j a v a2s . c om*/ * * @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; }