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/09/27 22:12:55 UTC
svn commit: r1527057 - 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: Fri Sep 27 20:12:55 2013
New Revision: 1527057
URL: http://svn.apache.org/r1527057
Log:
AVRO-1377. Java: Fix a bug in Schema#toString() when a namespaced enum or fixed is defined within an un-namespaced record. Contributed by Graham Sanderson.
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=1527057&r1=1527056&r2=1527057&view=diff
==============================================================================
--- avro/trunk/CHANGES.txt (original)
+++ avro/trunk/CHANGES.txt Fri Sep 27 20:12:55 2013
@@ -23,6 +23,10 @@ Trunk (not yet released)
AVRO-1366. Fix specification's description of metadata format.
(cutting)
+ AVRO-1377. Java: Fix a bug in Schema#toString() when a namespaced
+ enum or fixed is defined within an un-namespaced record.
+ (Graham Sanderson via cutting)
+
Avro 1.7.5 (12 August 2013)
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=1527057&r1=1527056&r2=1527057&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 Fri Sep 27 20:12:55 2013
@@ -458,8 +458,6 @@ public abstract class Schema extends Jso
if (space != null) {
if (!space.equals(names.space()))
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", "");
}
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=1527057&r1=1527056&r2=1527057&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 Fri Sep 27 20:12:55 2013
@@ -481,6 +481,28 @@ public class TestSchema {
}
@Test
+ public void testNestedNonNullNamespace1() throws Exception {
+ Schema inner1 = Schema.createEnum("InnerEnum", null, "space", Arrays.asList("x"));
+ Schema inner2 = Schema.parse("{\"type\":\"record\",\"namespace\":\"space\",\"name\":"
+ +"\"InnerRecord\",\"fields\":[]}");
+ Schema nullOuter = Schema.createRecord("Outer", null, null, false);
+ nullOuter.setFields(Arrays.asList(new Field("f1", inner1, null, null),
+ new Field("f2", inner2, null, null)));
+ assertEquals(nullOuter, Schema.parse(nullOuter.toString()));
+ }
+
+ @Test
+ public void testNestedNonNullNamespace2() throws Exception {
+ Schema inner1 = Schema.createFixed("InnerFixed", null, "space", 1);
+ Schema inner2 = Schema.parse("{\"type\":\"record\",\"namespace\":\"space\",\"name\":"
+ +"\"InnerRecord\",\"fields\":[]}");
+ Schema nullOuter = Schema.createRecord("Outer", null, null, false);
+ nullOuter.setFields(Arrays.asList(new Field("f1", inner1, null, null),
+ new Field("f2", inner2, null, null)));
+ assertEquals(nullOuter, Schema.parse(nullOuter.toString()));
+ }
+
+ @Test
public void testNullPointer() throws Exception {
String recordJson = "{\"type\":\"record\", \"name\":\"Test\", \"fields\":"
+"[{\"name\":\"x\", \"type\":\"string\"}]}";