in src/main/java/com/azure/cosmos/kafka/connect/source/JsonToStruct.java [166:201]
private SchemaAndValue numberToSchemaAndValue(final Schema schema, final JsonNode nodeValue) {
Object value = null;
if (nodeValue.isNumber()) {
if (nodeValue.isInt()) {
value = nodeValue.intValue();
} else if (nodeValue.isDouble()) {
value = nodeValue.doubleValue();
}
} else {
logger.error("Unexpted value %s for Schma {} {}", nodeValue, schema.type());
}
switch (schema.type()) {
case INT8:
value = convertToByte(schema, value);
break;
case INT16:
value = convertToShort(schema, value);
break;
case INT32:
value = convertToInteger(schema, value);
break;
case INT64:
value = convertToLong(schema, value);
break;
case FLOAT32:
value = convertToFloat(schema, value);
break;
case FLOAT64:
value = convertToDouble(schema, value);
break;
default:
logger.error("Unsupported Schema type: {}", schema.type());
}
return new SchemaAndValue(schema, value);
}