Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Avro, mail # user - Incorrect Json schema generated for @java_class


Copy link to this message
-
Re: Incorrect Json schema generated for @java_class
Alexandre Normand 2013-02-28, 17:25
Hey Doug,
I was also wondering about something related. In reflection, we can use the java-class property to define the java class for stringable types. Could we find a way to bring some of this to the Specific generated classes so that a stringable type (I'm specifically thinking of BigDecimal and BigInteger) could be exposed as the java-class type instead of Strings? I started looking into this and there seem to be two possibilities, none of which I'm terribly excited about:

1. Use some reflection to invoke the string constructor for the java-class…but that seems dirty as the Specific API probably shouldn't do reflection, right?
2. Handle a very specific list of java-class types (such as BigDecimal and BigInteger) and have code that deals specifically with these in Reader/Writer.

Thoughts?
--  
Alex
On Thursday, February 28, 2013 at 9:19 AM, Doug Cutting wrote:

> Annotation names in IDL are copied directly to schema properties with
> the same names.
>  
> The bug is in the IDL documentation, which uses the annotation
> @java_class in an example, which is meaningless. The Java
> implementation requires the "java-class" schema property, so the
> annotation used should be @java-class.
>  
> I filed an issue in Jira for this.
>  
> https://issues.apache.org/jira/browse/AVRO-1264
>  
> Doug
>  
> On Wed, Feb 27, 2013 at 7:18 PM, avronewbie <[EMAIL PROTECTED] (mailto:[EMAIL PROTECTED])> wrote:
> > For the IDL field:
> >  
> > @java_class("java.util.ArrayList") array<int> arrayOfInts;
> >  
> > the JSON schema generated by the avro-maven-plugin is
> >  
> > {\"name\":\"arrayOfInts\",\"type\":{\"type\":\"array\",\"items\":\"int\",\"java_class\":\"java.util.ArrayList\"}}
> >  
> > Shouldn't it be generated in JSON as java-class (with hypen instead of
> > underscore) instead of java_class? Because of this reading from avro file is
> > not working.
> >  
> >  
> >  
> >  
> > --
> > View this message in context: http://apache-avro.679487.n3.nabble.com/Incorrect-Json-schema-generated-for-java-class-tp4026430.html
> > Sent from the Avro - Users mailing list archive at Nabble.com (http://Nabble.com).
> >  
>  
>  
>