I have a simple avro schema in a test case that looks like this:
{
"type": "record",
"name": "PersonRecord",
"fields": [
{ "name": "firstName", "type": "string" },
{ "name": "lastName", "type": "string" },
{ "name": "creationDateTime", "type": [ "null", "type": "long",
"logicalType": "timestamp-millis" }]
]
}
Then I try something like this...
RecordPath path = recordPathCache.getCompiled("/creationDateTime");
RecordPathResult rp = path.evaluate(targetRecord);
Optional<FieldValue> nodeField = rp.getSelectedFields().findFirst();
if (!nodeField.isPresent()) {
throw new ProcessException("...");
}
FieldValue fieldValue = nodeField.get();
//fieldValue.getField() is a Choice of String, Record
Is there a way to get the correct field type here? I assume that
Choice[String, Record] default here was done to facilitate schema inference.
Thanks,
Mike