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