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 2013/04/17 01:25:56 UTC
svn commit: r1468677 - in /avro/trunk: CHANGES.txt
lang/java/avro/src/main/java/org/apache/avro/Schema.java
lang/java/ipc/src/test/java/org/apache/avro/TestSchema.java
Author: cutting
Date: Tue Apr 16 23:25:56 2013
New Revision: 1468677
URL: http://svn.apache.org/r1468677
Log:
AVRO-1295. Java: Fix printing of a non-null namespace within a null namespace.
Modified:
avro/trunk/CHANGES.txt
avro/trunk/lang/java/avro/src/main/java/org/apache/avro/Schema.java
avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/TestSchema.java
Modified: avro/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/avro/trunk/CHANGES.txt?rev=1468677&r1=1468676&r2=1468677&view=diff
==============================================================================
--- avro/trunk/CHANGES.txt (original)
+++ avro/trunk/CHANGES.txt Tue Apr 16 23:25:56 2013
@@ -33,6 +33,9 @@ Trunk (not yet released)
AVRO-1266. Java: Fix mapred.AvroMultipleOutputs to support multiple
different schemas. (Ashish Nagavaram via martinkl)
+ AVRO-1295. Java: Fix printing of a non-null namespace within a
+ null namespace. (cutting)
+
Avro 1.7.4 (22 February 2012)
NEW FEATURES
Modified: avro/trunk/lang/java/avro/src/main/java/org/apache/avro/Schema.java
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/avro/src/main/java/org/apache/avro/Schema.java?rev=1468677&r1=1468676&r2=1468677&view=diff
==============================================================================
--- avro/trunk/lang/java/avro/src/main/java/org/apache/avro/Schema.java (original)
+++ avro/trunk/lang/java/avro/src/main/java/org/apache/avro/Schema.java Tue Apr 16 23:25:56 2013
@@ -426,6 +426,8 @@ public abstract class Schema extends Jso
return;
}
int lastDot = name.lastIndexOf('.');
+ if ("".equals(space))
+ space = null;
if (lastDot < 0) { // unqualified name
this.space = space; // use default space
this.name = validateName(name);
@@ -452,6 +454,8 @@ public abstract class Schema extends Jso
gen.writeStringField("namespace", space);
if (names.space() == null) // default namespace
names.space(space);
+ } else if (names.space() != null) { // null within non-null
+ gen.writeStringField("namespace", "");
}
}
public String getQualified(String defaultSpace) {
Modified: avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/TestSchema.java
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/TestSchema.java?rev=1468677&r1=1468676&r2=1468677&view=diff
==============================================================================
--- avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/TestSchema.java (original)
+++ avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/TestSchema.java Tue Apr 16 23:25:56 2013
@@ -472,6 +472,15 @@ public class TestSchema {
}
@Test
+ public void testNestedNullNamespace() throws Exception {
+ Schema inner =
+ Schema.parse("{\"type\":\"record\",\"name\":\"Inner\",\"fields\":[]}");
+ Schema outer = Schema.createRecord("Outer", null, "space", false);
+ outer.setFields(Arrays.asList(new Field("f", inner, null, null)));
+ assertEquals(outer, Schema.parse(outer.toString()));
+ }
+
+ @Test
public void testNullPointer() throws Exception {
String recordJson = "{\"type\":\"record\", \"name\":\"Test\", \"fields\":"
+"[{\"name\":\"x\", \"type\":\"string\"}]}";