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?


Reply via email to