package com.cerner.avro.test; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import java.lang.reflect.InvocationTargetException; import org.apache.avro.Schema; import org.apache.avro.generic.GenericData; import org.apache.avro.generic.GenericDatumReader; import org.apache.avro.generic.GenericDatumWriter; import org.apache.avro.generic.GenericRecord; import org.apache.avro.io.DatumReader; import org.apache.avro.io.Decoder; import org.apache.avro.io.DecoderFactory; import org.apache.avro.io.Encoder; import org.apache.avro.io.EncoderFactory; public class TestAvroPassivity { @SuppressWarnings({ "deprecation", "rawtypes", "unchecked" }) public static void main(String[] args) { File schemaFile_10 = new File("schema_old"); Schema schema_10 = Schema.parse(schemaFile_10); File schemaFile_11 = new File("schema_new"); Schema schema_11 = Schema.parse(schemaFile_11); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); Encoder e = EncoderFactory.get().binaryEncoder(outputStream, null); GenericDatumWriter w = new GenericDatumWriter(schema_10); // Populate data with 1.0 data GenericRecord r = new GenericData.Record(schema_10); r.put("employeeId", "employeeId"); r.put("personId", "personId"); // Encode w.write(r, e); e.flush(); byte[] encodedByteArray = outputStream.toByteArray(); String encodedString = outputStream.toString(); System.out.println("encodedString: " + encodedString); DatumReader reader = new GenericDatumReader(schema_11); Decoder decoder = DecoderFactory.get().binaryDecoder(encodedByteArray, null); GenericRecord result = reader.read(null, decoder); System.out.println(result.get("employeeId").toString()); System.out.println(result.get("personId").toString()); } }