Author: tomwhite
Date: Tue Nov 4 15:49:30 2014
New Revision: 1636616
URL: http://svn.apache.org/r1636616
Log:
Compatibility fix for AVRO-1502. Contributed by cutting.
Modified:
avro/trunk/lang/java/avro/src/main/java/org/apache/avro/specific/SpecificRecordBase.java
Modified:
avro/trunk/lang/java/avro/src/main/java/org/apache/avro/specific/SpecificRecordBase.java
URL:
http://svn.apache.org/viewvc/avro/trunk/lang/java/avro/src/main/java/org/apache/avro/specific/SpecificRecordBase.java?rev=1636616&r1=1636615&r2=1636616&view=diff
==============================================================================
---
avro/trunk/lang/java/avro/src/main/java/org/apache/avro/specific/SpecificRecordBase.java
(original)
+++
avro/trunk/lang/java/avro/src/main/java/org/apache/avro/specific/SpecificRecordBase.java
Tue Nov 4 15:49:30 2014
@@ -67,8 +67,17 @@ public abstract class SpecificRecordBase
return SpecificData.get().toString(this);
}
- @Override public abstract void writeExternal(ObjectOutput out)
- throws IOException;
- @Override public abstract void readExternal(ObjectInput in)
- throws IOException;
+ @Override
+ public void writeExternal(ObjectOutput out)
+ throws IOException {
+ new SpecificDatumWriter(getSchema())
+ .write(this, SpecificData.getEncoder(out));
+ }
+
+ @Override
+ public void readExternal(ObjectInput in)
+ throws IOException {
+ new SpecificDatumReader(getSchema())
+ .read(this, SpecificData.getDecoder(in));
+ }
}