Ryan Skraba created AVRO-2757:
---------------------------------
Summary: ReflectData still generates namespaces with dollar signs
Key: AVRO-2757
URL: https://issues.apache.org/jira/browse/AVRO-2757
Project: Apache Avro
Issue Type: Bug
Components: java
Reporter: Ryan Skraba
ReflectData should always generate valid Avro schemas for Java classes.
Currently, the name and namespace are taken from the Java class name, which can
contain dollar signs. AVRO-2143 fixed this for the most common cases for
nested classes.
It's still possible to generate namespaces with a dollar sign for classes that
are nested more than one level. This can be observed in this unit test:
[https://github.com/apache/avro/blob/70260919426f89825ca148f5ee815f3b2cf4764d/lang/java/avro/src/test/java/org/apache/avro/reflect/TestReflect.java#L842]
which generates
{code:java}
{
"type" : "record",
"name" : "AnotherSampleRecord",
"namespace" : "org.apache.avro.reflect.TestReflect$SampleRecord",
"fields" : [ {
"name" : "a",
"type" : [ "null", "int" ],
"default" : null
}, {
"name" : "s",
"type" : [ "null", {
"type" : "record",
"name" : "SampleRecord",
"namespace" : "org.apache.avro.reflect.TestReflect",
"fields" : [ {
"name" : "x",
"type" : "int"
}, {
"name" : "y",
"type" : "int"
} ]
} ],
"default" : null
} ]
}
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)