Author: thiru
Date: Tue Jan 26 17:36:47 2010
New Revision: 903335
URL: http://svn.apache.org/viewvc?rev=903335&view=rev
Log:
AVRO-375. Initializing uninizialized encoders fail
Modified:
hadoop/avro/trunk/CHANGES.txt
hadoop/avro/trunk/lang/java/src/java/org/apache/avro/io/BinaryEncoder.java
hadoop/avro/trunk/lang/java/src/java/org/apache/avro/io/JsonEncoder.java
hadoop/avro/trunk/lang/java/src/java/org/apache/avro/io/ValidatingEncoder.java
Modified: hadoop/avro/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/avro/trunk/CHANGES.txt?rev=903335&r1=903334&r2=903335&view=diff
==============================================================================
--- hadoop/avro/trunk/CHANGES.txt (original)
+++ hadoop/avro/trunk/CHANGES.txt Tue Jan 26 17:36:47 2010
@@ -373,6 +373,8 @@
AVRO-355. io.Perf test harness uses different random number seeds for each
run (Kevin Oliver via thiru)
+ AVRO-375. Initializing uninizialized encoders fail (thiru)
+
Avro 1.2.0 (14 October 2009)
INCOMPATIBLE CHANGES
Modified:
hadoop/avro/trunk/lang/java/src/java/org/apache/avro/io/BinaryEncoder.java
URL:
http://svn.apache.org/viewvc/hadoop/avro/trunk/lang/java/src/java/org/apache/avro/io/BinaryEncoder.java?rev=903335&r1=903334&r2=903335&view=diff
==============================================================================
--- hadoop/avro/trunk/lang/java/src/java/org/apache/avro/io/BinaryEncoder.java
(original)
+++ hadoop/avro/trunk/lang/java/src/java/org/apache/avro/io/BinaryEncoder.java
Tue Jan 26 17:36:47 2010
@@ -95,7 +95,9 @@
@Override
public void flush() throws IOException {
- out.flush();
+ if (out != null) {
+ out.flush();
+ }
}
@Override
Modified:
hadoop/avro/trunk/lang/java/src/java/org/apache/avro/io/JsonEncoder.java
URL:
http://svn.apache.org/viewvc/hadoop/avro/trunk/lang/java/src/java/org/apache/avro/io/JsonEncoder.java?rev=903335&r1=903334&r2=903335&view=diff
==============================================================================
--- hadoop/avro/trunk/lang/java/src/java/org/apache/avro/io/JsonEncoder.java
(original)
+++ hadoop/avro/trunk/lang/java/src/java/org/apache/avro/io/JsonEncoder.java
Tue Jan 26 17:36:47 2010
@@ -42,7 +42,7 @@
protected BitSet isEmpty = new BitSet();
public JsonEncoder(Schema sc, OutputStream out) throws IOException {
- this(sc, new JsonFactory().createJsonGenerator(out, JsonEncoding.UTF8));
+ this(sc, getJsonGenerator(out));
}
public JsonEncoder(Schema sc, JsonGenerator out) throws IOException {
@@ -54,15 +54,21 @@
@Override
public void flush() throws IOException {
parser.processImplicitActions();
- out.flush();
+ if (out != null) {
+ out.flush();
+ }
}
@Override
public void init(OutputStream out) throws IOException {
- if (this.out != null) {
- flush();
- }
- this.out = new JsonFactory().createJsonGenerator(out, JsonEncoding.UTF8);
+ flush();
+ this.out = getJsonGenerator(out);
+ }
+
+ private static JsonGenerator getJsonGenerator(OutputStream out)
+ throws IOException {
+ return out == null ? null :
+ new JsonFactory().createJsonGenerator(out, JsonEncoding.UTF8);
}
@Override
Modified:
hadoop/avro/trunk/lang/java/src/java/org/apache/avro/io/ValidatingEncoder.java
URL:
http://svn.apache.org/viewvc/hadoop/avro/trunk/lang/java/src/java/org/apache/avro/io/ValidatingEncoder.java?rev=903335&r1=903334&r2=903335&view=diff
==============================================================================
---
hadoop/avro/trunk/lang/java/src/java/org/apache/avro/io/ValidatingEncoder.java
(original)
+++
hadoop/avro/trunk/lang/java/src/java/org/apache/avro/io/ValidatingEncoder.java
Tue Jan 26 17:36:47 2010
@@ -36,7 +36,7 @@
*/
public class ValidatingEncoder extends ParsingEncoder
implements Parser.ActionHandler {
- protected Encoder out;
+ protected final Encoder out;
protected final Parser parser;
/**
* Has anything been written into the collections?