You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@avro.apache.org by tazan007 <ta...@gmail.com> on 2009/12/01 01:01:07 UTC

Re: reflected char array returning null package.

Not sure if 1.2 supports strings but 1.0 did not support String for
reflection.  Try using Utf8 instead.

-Hiral

On Mon, Nov 30, 2009 at 1:43 PM, Marko Milicevic <MM...@pssd.com>wrote:

> I tried to simplify the sample, and I'm still getting the same error?
>
>        static void test() throws Exception
>        {
>                String foobar = "foobar";
>                Schema s =
> ReflectData.get().getSchema(foobar.getClass());
>                ReflectDatumWriter writer = new ReflectDatumWriter(s);
>                ByteArrayOutputStream out = new ByteArrayOutputStream();
>                BinaryEncoder binaryEncoder = new BinaryEncoder(out);
>
>                writer.write(foobar, binaryEncoder);
>         }
>
> Exception in thread "main" java.lang.NullPointerException
>        at
> org.apache.avro.reflect.ReflectData.createSchema(ReflectData.java:259)
>        at
> org.apache.avro.reflect.ReflectData.createFieldSchema(ReflectData.java:3
> 03)
>        at
> org.apache.avro.reflect.ReflectData.createSchema(ReflectData.java:291)
>        at
> org.apache.avro.reflect.ReflectData.getSchema(ReflectData.java:210)
>        at test.Test.test(Test.java:136)
>        at test.Test.main(Test.java:39)
>
>
> It almost seems as though java.lang.String is not supported?  But I got
> this code from an avro unit test (TestReflect.java) that serialized
> objects containing Strings?
>
> Thanks.
>
> Marko.
> .
>

RE: reflected char array returning null package.

Posted by Marko Milicevic <MM...@pssd.com>.
Thanks Hiral, that is the feeling i'm getting.
 
But this test came right out of an Avro unit test that serialized an
object containing Strings?
 
If it's true that reflection does not support Strings, then is there
some other way to use the Avro to support serialization of arbitrary
Java object, especially basic object types like Strings that are so
pervasive?
 
If there are constraints on the type of objects that are supported by
Avro, is there any doc with details?
 
In the absence of any documentation or help, i will have to drop Avro
for now.
 
Marko.
.

________________________________

From: tazan007 [mailto:tazan007@gmail.com] 
Sent: Monday, November 30, 2009 7:01 PM
To: avro-user@hadoop.apache.org
Subject: Re: reflected char array returning null package.


Not sure if 1.2 supports strings but 1.0 did not support String for
reflection.  Try using Utf8 instead.

-Hiral


On Mon, Nov 30, 2009 at 1:43 PM, Marko Milicevic <MM...@pssd.com>
wrote:


	I tried to simplify the sample, and I'm still getting the same
error?
	
	       static void test() throws Exception
	       {
	               String foobar = "foobar";
	               Schema s =
	ReflectData.get().getSchema(foobar.getClass());
	               ReflectDatumWriter writer = new
ReflectDatumWriter(s);
	               ByteArrayOutputStream out = new
ByteArrayOutputStream();
	               BinaryEncoder binaryEncoder = new
BinaryEncoder(out);
	
	               writer.write(foobar, binaryEncoder);
	
	       }
	
	Exception in thread "main" java.lang.NullPointerException
	       at
	
org.apache.avro.reflect.ReflectData.createSchema(ReflectData.java:259)
	       at
	
org.apache.avro.reflect.ReflectData.createFieldSchema(ReflectData.java:3
	03)
	       at
	
org.apache.avro.reflect.ReflectData.createSchema(ReflectData.java:291)
	       at
	
	
org.apache.avro.reflect.ReflectData.getSchema(ReflectData.java:210)
	       at test.Test.test(Test.java:136)
	       at test.Test.main(Test.java:39)
	
	
	It almost seems as though java.lang.String is not supported?
But I got
	this code from an avro unit test (TestReflect.java) that
serialized
	objects containing Strings?
	
	Thanks.
	
	Marko.
	.