Thank you, Mika. I'll do this in mean time. Was wondering if there was a better way...
On Thu, Feb 6, 2014 at 6:10 AM, Mika Ristimaki <[email protected]>wrote: > Hi, > > If you don't mind the overhead you can make the conversion through the > avro binary data. So something like this should work (assuming both records > are using the same schema) > > GenericRecord myRecord = ... > GenericDatumWriter<GenericRecord> writer = new > GenericDatumWriter<GenericRecord>(MyCustomRecord.getClassSchema()); > ByteArrayOutputStream out = new ByteArrayOutputStream(); > Encoder encoder = EncoderFactory.get().binaryEncoder(out, null); > writer.write(myRecord, encoder); > encoder.flush(); > > byte[] avroData = out.toByteArray(); > out.close(); > > SpecificDatumReader<MyCustomRecord> reader = new > SpecificDatumReader<MyCustomRecord>(MyCustomRecord.class); > Decoder decoder = DecoderFactory.get().binaryDecoder(avroData, null); > MyCustomRecord myCustomRecord = reader.read(null, decoder); > > -Mika > > On Feb 6, 2014, at 12:59 AM, Roger Hoover <[email protected]> wrote: > > > Hi Christophe, > > > > Thanks for your reply. When you say that we could write a generic > conversion function, do you mean we can write one that works for all > schemas? That would be great! > > > > I'd like an API something like this: > > > > MyCustomRecord record = MyCustomRecord.newBuilder(GenericRecord > record).build() > > > > Thanks, > > > > Roger > > > > > > On Wed, Feb 5, 2014 at 10:59 AM, Christophe Taton < > [email protected]> wrote: > > Hi Roger, > > With the change proposed in > https://issues.apache.org/jira/browse/AVRO-1443, you would be able to > create a specific record using a generic builder API. That means we could > write a generic conversion function that creates specific records. > > Would that work for you? > > C. > > > > > > On Wed, Feb 5, 2014 at 10:23 AM, Roger Hoover <[email protected]> > wrote: > > Hi, > > > > I'm working with an existing API that hands me a GenericRecord. Is > there an easy way I can covert it into a SpecificRecord. Really I want to > get it into the code-generated object. > > > > Thanks, > > > > Roger > > > > > > > > > >
