List of usage examples for com.fasterxml.jackson.core JsonGenerator writeNull
public abstract void writeNull() throws IOException, JsonGenerationException;
From source file:org.apache.orc.bench.convert.json.JsonWriter.java
static void printValue(JsonGenerator writer, ColumnVector vector, TypeDescription schema, int row) throws IOException { if (vector.isRepeating) { row = 0;//from w ww. j av a 2s .co m } if (vector.noNulls || !vector.isNull[row]) { switch (schema.getCategory()) { case BOOLEAN: writer.writeBoolean(((LongColumnVector) vector).vector[row] != 0); break; case BYTE: case SHORT: case INT: case LONG: writer.writeNumber(((LongColumnVector) vector).vector[row]); break; case FLOAT: case DOUBLE: writer.writeNumber(((DoubleColumnVector) vector).vector[row]); break; case STRING: case CHAR: case VARCHAR: writer.writeString(((BytesColumnVector) vector).toString(row)); break; case BINARY: printBinary(writer, (BytesColumnVector) vector, row); break; case DECIMAL: writer.writeString(((DecimalColumnVector) vector).vector[row].toString()); break; case DATE: writer.writeString(new DateWritable((int) ((LongColumnVector) vector).vector[row]).toString()); break; case TIMESTAMP: writer.writeString(((TimestampColumnVector) vector).asScratchTimestamp(row).toString()); break; case LIST: printList(writer, (ListColumnVector) vector, schema, row); break; case MAP: printMap(writer, (MapColumnVector) vector, schema, row); break; case STRUCT: printStruct(writer, (StructColumnVector) vector, schema, row); break; case UNION: printUnion(writer, (UnionColumnVector) vector, schema, row); break; default: throw new IllegalArgumentException("Unknown type " + schema.toString()); } } else { writer.writeNull(); } }
From source file:com.zenesis.qx.remote.ProxyMethod.java
@Override public void serialize(JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { jgen.writeStartObject();//from w w w .j a v a 2 s .c o m // Write the return type Class clazz = arrayType != null ? arrayType : method.getReturnType(); if (Proxied.class.isAssignableFrom(clazz)) { ProxyType type = ProxyTypeManager.INSTANCE.getProxyType(clazz); jgen.writeObjectField("returnType", type); } else if (isMap) { jgen.writeBooleanField("map", true); } if (cacheResult) jgen.writeBooleanField("cacheResult", true); if (staticMethod) jgen.writeBooleanField("staticMethod", true); // Whether to wrap the return if (array != null) jgen.writeObjectField("returnArray", array.toString().toLowerCase()); // The parameters - if any are Proxied objects, we need to write their class Class[] parameters = method.getParameterTypes(); if (parameters.length > 0) { jgen.writeArrayFieldStart("parameters"); for (int i = 0; i < parameters.length; i++) { if (Proxied.class.isAssignableFrom(parameters[i])) jgen.writeObject(ProxyTypeManager.INSTANCE.getProxyType(parameters[i])); else jgen.writeNull(); } jgen.writeEndArray(); } jgen.writeEndObject(); }
From source file:org.oncoblocks.centromere.web.util.FilteringJackson2HttpMessageConverter.java
@Override protected void writeInternal(Object object, Type type, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException { ObjectMapper objectMapper = getObjectMapper(); JsonGenerator jsonGenerator = objectMapper.getFactory().createGenerator(outputMessage.getBody()); try {//from w w w .j av a 2 s . com if (this.prefixJson) { jsonGenerator.writeRaw(")]}', "); } if (object instanceof ResponseEnvelope) { ResponseEnvelope envelope = (ResponseEnvelope) object; Object entity = envelope.getEntity(); Set<String> fieldSet = envelope.getFieldSet(); Set<String> exclude = envelope.getExclude(); FilterProvider filters = null; if (fieldSet != null && !fieldSet.isEmpty()) { if (entity instanceof ResourceSupport) { fieldSet.add("content"); // Don't filter out the wrapped content. } filters = new SimpleFilterProvider() .addFilter("fieldFilter", SimpleBeanPropertyFilter.filterOutAllExcept(fieldSet)) .setFailOnUnknownId(false); } else if (exclude != null && !exclude.isEmpty()) { filters = new SimpleFilterProvider() .addFilter("fieldFilter", SimpleBeanPropertyFilter.serializeAllExcept(exclude)) .setFailOnUnknownId(false); } else { filters = new SimpleFilterProvider() .addFilter("fieldFilter", SimpleBeanPropertyFilter.serializeAllExcept()) .setFailOnUnknownId(false); } objectMapper.setFilterProvider(filters); objectMapper.writeValue(jsonGenerator, entity); } else if (object == null) { jsonGenerator.writeNull(); } else { FilterProvider filters = new SimpleFilterProvider().setFailOnUnknownId(false); objectMapper.setFilterProvider(filters); objectMapper.writeValue(jsonGenerator, object); } } catch (JsonProcessingException e) { e.printStackTrace(); throw new HttpMessageNotWritableException("Could not write JSON: " + e.getMessage()); } }
From source file:org.apache.nifi.processors.elasticsearch.PutElasticsearchHttpRecord.java
@SuppressWarnings("unchecked") private void writeValue(final JsonGenerator generator, final Object value, final String fieldName, final DataType dataType) throws IOException { if (value == null) { generator.writeNull(); return;/*from w w w. j ava 2s. c o m*/ } final DataType chosenDataType = dataType.getFieldType() == RecordFieldType.CHOICE ? DataTypeUtils.chooseDataType(value, (ChoiceDataType) dataType) : dataType; final Object coercedValue = DataTypeUtils.convertType(value, chosenDataType, fieldName); if (coercedValue == null) { generator.writeNull(); return; } switch (chosenDataType.getFieldType()) { case DATE: { final String stringValue = DataTypeUtils.toString(coercedValue, () -> DataTypeUtils.getDateFormat(RecordFieldType.DATE.getDefaultFormat())); if (DataTypeUtils.isLongTypeCompatible(stringValue)) { generator.writeNumber(DataTypeUtils.toLong(coercedValue, fieldName)); } else { generator.writeString(stringValue); } break; } case TIME: { final String stringValue = DataTypeUtils.toString(coercedValue, () -> DataTypeUtils.getDateFormat(RecordFieldType.TIME.getDefaultFormat())); if (DataTypeUtils.isLongTypeCompatible(stringValue)) { generator.writeNumber(DataTypeUtils.toLong(coercedValue, fieldName)); } else { generator.writeString(stringValue); } break; } case TIMESTAMP: { final String stringValue = DataTypeUtils.toString(coercedValue, () -> DataTypeUtils.getDateFormat(RecordFieldType.TIMESTAMP.getDefaultFormat())); if (DataTypeUtils.isLongTypeCompatible(stringValue)) { generator.writeNumber(DataTypeUtils.toLong(coercedValue, fieldName)); } else { generator.writeString(stringValue); } break; } case DOUBLE: generator.writeNumber(DataTypeUtils.toDouble(coercedValue, fieldName)); break; case FLOAT: generator.writeNumber(DataTypeUtils.toFloat(coercedValue, fieldName)); break; case LONG: generator.writeNumber(DataTypeUtils.toLong(coercedValue, fieldName)); break; case INT: case BYTE: case SHORT: generator.writeNumber(DataTypeUtils.toInteger(coercedValue, fieldName)); break; case CHAR: case STRING: generator.writeString(coercedValue.toString()); break; case BIGINT: if (coercedValue instanceof Long) { generator.writeNumber((Long) coercedValue); } else { generator.writeNumber((BigInteger) coercedValue); } break; case BOOLEAN: final String stringValue = coercedValue.toString(); if ("true".equalsIgnoreCase(stringValue)) { generator.writeBoolean(true); } else if ("false".equalsIgnoreCase(stringValue)) { generator.writeBoolean(false); } else { generator.writeString(stringValue); } break; case RECORD: { final Record record = (Record) coercedValue; final RecordDataType recordDataType = (RecordDataType) chosenDataType; final RecordSchema childSchema = recordDataType.getChildSchema(); writeRecord(record, childSchema, generator); break; } case MAP: { final MapDataType mapDataType = (MapDataType) chosenDataType; final DataType valueDataType = mapDataType.getValueType(); final Map<String, ?> map = (Map<String, ?>) coercedValue; generator.writeStartObject(); for (final Map.Entry<String, ?> entry : map.entrySet()) { final String mapKey = entry.getKey(); final Object mapValue = entry.getValue(); generator.writeFieldName(mapKey); writeValue(generator, mapValue, fieldName + "." + mapKey, valueDataType); } generator.writeEndObject(); break; } case ARRAY: default: if (coercedValue instanceof Object[]) { final Object[] values = (Object[]) coercedValue; final ArrayDataType arrayDataType = (ArrayDataType) dataType; final DataType elementType = arrayDataType.getElementType(); writeArray(values, fieldName, generator, elementType); } else { generator.writeString(coercedValue.toString()); } break; } }
From source file:org.apache.olingo.client.core.serialization.JsonSerializer.java
protected void primitiveValue(final JsonGenerator jgen, final EdmTypeInfo typeInfo, final Object value) throws IOException, EdmPrimitiveTypeException { final EdmPrimitiveTypeKind kind = typeInfo == null ? null : typeInfo.getPrimitiveTypeKind(); final boolean isNumber = kind == null ? value instanceof Number : ArrayUtils.contains(NUMBER_TYPES, kind); final boolean isBoolean = kind == null ? value instanceof Boolean : kind == EdmPrimitiveTypeKind.Boolean; if (value == null) { jgen.writeNull(); } else if (isBoolean) { jgen.writeBoolean((Boolean) value); } else {//from w w w. j ava2 s .c o m String serialized = kind == null ? value.toString() // TODO: add facets : EdmPrimitiveTypeFactory.getInstance(kind).valueToString(value, null, null, Constants.DEFAULT_PRECISION, Constants.DEFAULT_SCALE, null); if (isIEEE754Compatible && (kind == EdmPrimitiveTypeKind.Int64 || kind == EdmPrimitiveTypeKind.Decimal)) { jgen.writeString(serialized); } else if (isNumber) { jgen.writeNumber(serialized); } else { jgen.writeString(serialized); } } }
From source file:org.apache.olingo.client.core.serialization.JsonSerializer.java
private void value(final JsonGenerator jgen, final String type, final Valuable value) throws IOException, EdmPrimitiveTypeException { final EdmTypeInfo typeInfo = type == null ? null : new EdmTypeInfo.Builder().setTypeExpression(type).build(); if (value.isNull()) { jgen.writeNull(); } else if (value.isCollection()) { collection(jgen, typeInfo, value.getValueType(), value.asCollection()); } else if (value.isPrimitive()) { primitiveValue(jgen, typeInfo, value.asPrimitive()); } else if (value.isEnum()) { jgen.writeString(value.asEnum().toString()); } else if (value.isGeospatial()) { jgen.writeStartObject();// www . j a va 2s .c om geoSerializer.serialize(jgen, value.asGeospatial()); jgen.writeEndObject(); } else if (value.isComplex()) { complexValue(jgen, typeInfo, value.asComplex().getValue(), value.asComplex()); } }
From source file:org.apache.olingo.commons.core.data.AbstractJsonSerializer.java
private void value(final JsonGenerator jgen, final String type, final Value value) throws IOException { final EdmTypeInfo typeInfo = type == null ? null : new EdmTypeInfo.Builder().setTypeExpression(type).build(); if (value.isNull()) { jgen.writeNull(); } else if (value.isSimple()) { final boolean isNumber = typeInfo == null ? NumberUtils.isNumber(value.asSimple().get()) : ArrayUtils.contains(NUMBER_TYPES, typeInfo.getPrimitiveTypeKind()); final boolean isBoolean = typeInfo == null ? (value.asSimple().get().equalsIgnoreCase(Boolean.TRUE.toString()) || value.asSimple().get().equalsIgnoreCase(Boolean.FALSE.toString())) : typeInfo.getPrimitiveTypeKind() == EdmPrimitiveTypeKind.Boolean; if (isNumber) { jgen.writeNumber(value.asSimple().get()); } else if (isBoolean) { jgen.writeBoolean(BooleanUtils.toBoolean(value.asSimple().get())); } else {/* w ww.j a v a 2 s. c o m*/ jgen.writeString(value.asSimple().get()); } } else if (value.isGeospatial()) { jgen.writeStartObject(); geoSerializer.serialize(jgen, value.asGeospatial().get()); jgen.writeEndObject(); } else if (value.isCollection()) { collection(jgen, typeInfo == null ? null : typeInfo.getFullQualifiedName().toString(), value.asCollection()); } else if (value.isComplex()) { jgen.writeStartObject(); for (Property property : value.asComplex().get()) { property(jgen, property, property.getName()); } jgen.writeEndObject(); } }
From source file:org.apache.olingo.commons.core.serialization.JsonSerializer.java
protected void primitiveValue(final JsonGenerator jgen, final EdmTypeInfo typeInfo, final Object value) throws IOException, EdmPrimitiveTypeException { final EdmPrimitiveTypeKind kind = typeInfo == null ? null : typeInfo.getPrimitiveTypeKind(); final boolean isNumber = kind == null ? value instanceof Number : ArrayUtils.contains(NUMBER_TYPES, kind); final boolean isBoolean = kind == null ? value instanceof Boolean : kind == EdmPrimitiveTypeKind.Boolean; if (value == null) { jgen.writeNull(); } else if (isBoolean) { jgen.writeBoolean((Boolean) value); } else {//from w w w.jav a 2s .co m final String serialized = kind == null ? value.toString() // TODO: add facets : EdmPrimitiveTypeFactory.getInstance(kind).valueToString(value, null, null, Constants.DEFAULT_PRECISION, Constants.DEFAULT_SCALE, null); if (isNumber) { jgen.writeNumber(serialized); } else { jgen.writeString(serialized); } } }
From source file:org.apache.olingo.commons.core.serialization.JsonSerializer.java
private void value(final JsonGenerator jgen, final String type, final Valuable value) throws IOException, EdmPrimitiveTypeException { final EdmTypeInfo typeInfo = type == null ? null : new EdmTypeInfo.Builder().setTypeExpression(type).build(); if (value.isNull()) { jgen.writeNull(); } else if (value.isPrimitive()) { primitiveValue(jgen, typeInfo, value.asPrimitive()); } else if (value.isEnum()) { jgen.writeString(value.asEnum().toString()); } else if (value.isGeospatial()) { jgen.writeStartObject();/*from w w w . j a v a 2s .co m*/ geoSerializer.serialize(jgen, value.asGeospatial()); jgen.writeEndObject(); } else if (value.isCollection()) { collection(jgen, typeInfo, value.getValueType(), value.asCollection()); } else if (value.isLinkedComplex()) { complexValue(jgen, typeInfo, value.asLinkedComplex().getValue(), value.asLinkedComplex()); } else if (value.isComplex()) { complexValue(jgen, typeInfo, value.asComplex(), null); } }
From source file:org.apache.olingo.server.core.debug.DebugTabBody.java
@Override public void appendJson(final JsonGenerator gen) throws IOException { if (response == null || response.getContent() == null) { gen.writeNull(); } else {//from w w w. j a v a 2s.c o m gen.writeString(getContentString()); } }