I've got a building version with Chris Wilkes' changes. I'd be happy to
include this in an Avro distribution. Should I just open a JIRA to that
effect and point to this github project?

On Fri, Sep 2, 2011 at 5:28 PM, Chris Wilkes <[email protected]> wrote:

> Oh and I'm the one that did the pull request.  I changed the name of
> the avro class to "MyPair" as I was confused when reading it with
> avro's own "Pair" class.
>
> What I usually do is put all of my avro schemas into a separate
> project with nothing else in it.  Then I have all my other projects
> depend on that one, in this case AvroExample.java would be a in a
> separate project from MyPair.avsc.  This gets around weirdness with
> mvn install vs Eclipse seeing the updated files, etc.
>
> On Fri, Sep 2, 2011 at 5:20 PM, W.P. McNeill <[email protected]> wrote:
> > Still having trouble with this.
> > The name change was part of merging the pull request on github. My last
> > email details where I'm at right now. The pull request code looks
> correct;
> > I'm just trying to get it to build in my Maven environment.
> >
> > On Fri, Sep 2, 2011 at 5:19 PM, Scott Carey <[email protected]>
> wrote:
> >>
> >> Are you still having trouble with this?  I noticed that the code has
> >> changed and you are using MyPair instead of Pair.  Was there a naming
> >> conflict bug with Avro's Pair.java?
> >> -Scott
> >> On 9/2/11 3:46 PM, "W.P. McNeill" <[email protected]> wrote:
> >>
> >> I made changes that got rid of all the deprecated calls.  I think I am
> >> using the 1.5 interface correctly.  However, I get a runtime error when
> I
> >> try to deserialize into a class using a SpecificDataumReader.  The
> problem
> >> starts at line 62 of AvroExample.java.  The code looks like this:
> >>       DatumReader<Pair> reader = new
> >> SpecificDatumReader<Pair>(Pair.class);
> >>       BinaryDecoder decoder =
> >> DecoderFactory.get().binaryDecoder(out.toByteArray(), null);
> >>       Pair result = reader.read(null, decoder);
> >>       System.out.printf("Left: %s, Right: %s\n", result.left,
> >> result.right);
> >> Where Pair is an object I have SpecificRecord that I have in this
> project.
> >> When I deserialize with reader.read() I get the following runtime error:
> >> Exception in thread "main" java.lang.ClassCastException:
> >> org.apache.avro.generic.GenericData$Record cannot be cast to wpmcn.Pair
> >> at wpmcn.AvroExample.serializeSpecific(AvroExample.java:64)
> >> at wpmcn.AvroExample.main(AvroExample.java:73)
> >> When I step into the debugger I see that the GenericDatumReader.read()
> >> function has type D as GenericData.
> >> Presumably I'm calling something wrong but I can't figure out what.
> >> On Fri, Sep 2, 2011 at 3:02 PM, Philip Zeyliger <[email protected]>
> >> wrote:
> >>>
> >>> EncoderFactory.get().binaryEncoder(...).
> >>> I encourage you to file a JIRA and submit a patch to AVRO.  Having
> >>> example code in the code base seems like a win to me.
> >>> -- Philip
> >>>
> >>> On Fri, Sep 2, 2011 at 2:41 PM, W.P. McNeill <[email protected]>
> wrote:
> >>>>
> >>>> I'm new to Avro. Since I'm having trouble finding simple examples
> online
> >>>> I'm writing one of my own that I'm putting on github.
> >>>> https://github.com/wpm/AvroExample
> >>>> Hopefully, this will be of help to people like me who are also having
> >>>> trouble finding simple code examples.
> >>>> I want to get this compiling without of hitch in Maven. I had it
> running
> >>>> with a 1.4 version of Avro, but when I changed that to 1.5, some of
> the code
> >>>> no longer works. Specifically, BinaryEncoder can no longer be
> instantiated
> >>>> directly because it is now an abstract class (AvroExample.java: line
> 33) and
> >>>> DecoderFactory.defaultFactory is deprecated (AvroExample.java: line
> 41).
> >>>> How should I modify this code so that it works with the latest and
> >>>> greatest version of Avro?  I looked through the Release Notes, but the
> >>>> answers weren't obvious.
> >>>> Thanks.
> >>>
> >>
> >
> >
>

Reply via email to