You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@avro.apache.org by cu...@apache.org on 2010/08/04 01:20:35 UTC
svn commit: r982065 - in /avro/trunk: CHANGES.txt
lang/java/src/java/org/apache/avro/generic/GenericDatumReader.java
lang/java/src/java/org/apache/avro/io/DatumReader.java
lang/java/src/java/org/apache/avro/specific/SpecificDatumReader.java
Author: cutting
Date: Tue Aug 3 23:20:35 2010
New Revision: 982065
URL: http://svn.apache.org/viewvc?rev=982065&view=rev
Log:
AVRO-603. Java: Add a constructor for SpecificDatumReader that accepts both reader's and writer's schemas. Also improve related javadoc. Contributed by Stu Hood.
Modified:
avro/trunk/CHANGES.txt
avro/trunk/lang/java/src/java/org/apache/avro/generic/GenericDatumReader.java
avro/trunk/lang/java/src/java/org/apache/avro/io/DatumReader.java
avro/trunk/lang/java/src/java/org/apache/avro/specific/SpecificDatumReader.java
Modified: avro/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/avro/trunk/CHANGES.txt?rev=982065&r1=982064&r2=982065&view=diff
==============================================================================
--- avro/trunk/CHANGES.txt (original)
+++ avro/trunk/CHANGES.txt Tue Aug 3 23:20:35 2010
@@ -88,6 +88,10 @@ Avro 1.4.0 (unreleased)
AVRO-583. Java: Improve error message when types not correctly
nested. (cutting)
+ AVRO-603. Java: Add a constructor for SpecificDatumReader that
+ accepts both reader's and writer's schema. Also improve javadoc
+ for related constructors and setters. (Stu Hood via cutting)
+
BUG FIXES
AVRO-502. Memory leak from parsing JSON schema.
Modified: avro/trunk/lang/java/src/java/org/apache/avro/generic/GenericDatumReader.java
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/src/java/org/apache/avro/generic/GenericDatumReader.java?rev=982065&r1=982064&r2=982065&view=diff
==============================================================================
--- avro/trunk/lang/java/src/java/org/apache/avro/generic/GenericDatumReader.java (original)
+++ avro/trunk/lang/java/src/java/org/apache/avro/generic/GenericDatumReader.java Tue Aug 3 23:20:35 2010
@@ -38,28 +38,30 @@ public class GenericDatumReader<D> imple
public GenericDatumReader() {}
- public GenericDatumReader(Schema actual) {
- this.actual = actual;
- this.expected = actual;
+ /** Construct where the writer's and reader's schemas are the same. */
+ public GenericDatumReader(Schema schema) {
+ this.actual = schema;
+ this.expected = schema;
}
- public GenericDatumReader(Schema actual, Schema expected)
- throws IOException {
- this.actual = actual;
- this.expected = expected;
+ /** Construct given writer's and reader's schema. */
+ public GenericDatumReader(Schema writer, Schema reader) {
+ this.actual = writer;
+ this.expected = reader;
}
@Override
- public void setSchema(Schema actual) {
- this.actual = actual;
+ public void setSchema(Schema writer) {
+ this.actual = writer;
if (expected == null) {
expected = actual;
}
resolver = null;
}
- public void setExpected(Schema expected) throws IOException {
- this.expected = expected;
+ /** Set the reader's schema. */
+ public void setExpected(Schema reader) throws IOException {
+ this.expected = reader;
}
@SuppressWarnings("unchecked")
Modified: avro/trunk/lang/java/src/java/org/apache/avro/io/DatumReader.java
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/src/java/org/apache/avro/io/DatumReader.java?rev=982065&r1=982064&r2=982065&view=diff
==============================================================================
--- avro/trunk/lang/java/src/java/org/apache/avro/io/DatumReader.java (original)
+++ avro/trunk/lang/java/src/java/org/apache/avro/io/DatumReader.java Tue Aug 3 23:20:35 2010
@@ -26,7 +26,7 @@ import org.apache.avro.Schema;
*/
public interface DatumReader<D> {
- /** Set the schema. */
+ /** Set the writer's schema. */
void setSchema(Schema schema);
/** Read a datum. Traverse the schema, depth-first, reading all leaf values
Modified: avro/trunk/lang/java/src/java/org/apache/avro/specific/SpecificDatumReader.java
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/src/java/org/apache/avro/specific/SpecificDatumReader.java?rev=982065&r1=982064&r2=982065&view=diff
==============================================================================
--- avro/trunk/lang/java/src/java/org/apache/avro/specific/SpecificDatumReader.java (original)
+++ avro/trunk/lang/java/src/java/org/apache/avro/specific/SpecificDatumReader.java Tue Aug 3 23:20:35 2010
@@ -32,10 +32,16 @@ public class SpecificDatumReader<T> exte
this(SpecificData.get().getSchema(c));
}
+ /** Construct where the writer's and reader's schemas are the same. */
public SpecificDatumReader(Schema schema) {
super(schema);
}
+ /** Construct given writer's and reader's schema. */
+ public SpecificDatumReader(Schema writer, Schema reader) {
+ super(writer, reader);
+ }
+
@Override
protected Object newRecord(Object old, Schema schema) {
Class c = SpecificData.get().getClass(schema);