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<GenericRecord> reader = new GenericDatumReader<GenericRecord>(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());
}
}