/** * Helper method to fix {@link org.apache.avro.Schema.Type#ENUM} datatypes in {@link GenericRecord}. */ public static GenericRecord fixEnumRecord(@NonNull final GenericRecord record, @NonNull final Schema schema) throws IOException { final GenericRecord retRecord = new Record(schema); for (final Schema.Field f : schema.getFields()) { final String name = f.name(); retRecord.put(f.name(), fixEnumRecordField(record.get(name), f.name(), f.schema())); } return retRecord; }
v.getClass().getCanonicalName(), elementSchema); if (v instanceof Record && ((Record) v).get("array") != null) { listRes.add(fixEnumRecordField(((Record) v).get("array"), name, elementSchema)); } else { listRes.add(fixEnumRecordField(v, name, elementSchema)); Map<String, Object> ret = new HashMap<>(); for (final Map.Entry<String, Object> v : ((Map<String, Object>) value).entrySet()) { ret.put(v.getKey(), fixEnumRecordField(v.getValue(), name, valueSchema));