Package org.apache.avro.reflect

Examples of org.apache.avro.reflect.ReflectDatumReader


    ByteArrayOutputStream out = new ByteArrayOutputStream();
    SampleRecord record = new SampleRecord();
    record.x = 5;
    record.y = 10;
    writer.write(record, new BinaryEncoder(out));
    ReflectDatumReader reader = new ReflectDatumReader(schm);
    Object decoded =
      reader.read(null, new BinaryDecoder
                  (new ByteArrayInputStream(out.toByteArray())));
    assertEquals(record, decoded);
  }
View Full Code Here


    // keep record.a null and see if that works
    AnotherSampleRecord a = new AnotherSampleRecord();
    writer.write(a, new BinaryEncoder(out));
    AnotherSampleRecord b = new AnotherSampleRecord(10);
    writer.write(b, new BinaryEncoder(out));
    ReflectDatumReader reader = new ReflectDatumReader(schm);
    ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
    Object decoded = reader.read(null, new BinaryDecoder(in));
    assertEquals(a, decoded);
    decoded = reader.read(null, new BinaryDecoder(in));
    assertEquals(b, decoded);
  }
View Full Code Here

      readFiles(new SpecificDatumReader());
    }

  @Test
    public void testGeneratedReflect() throws IOException {
      readFiles(new ReflectDatumReader());
    }
View Full Code Here

   *
   * @return true if SpecificData can be properly read using a
   *         ReflectDatumReader
   */
  static boolean canDecodeSpecificSchemaWithReflectDatumReader() {
    ReflectDatumReader<Record> datumReader = new ReflectDatumReader(Record.SCHEMA$);
    ReflectDatumWriter<Record> datumWriter = new ReflectDatumWriter(Record.SCHEMA$);

    Record record = new Record();
    record.subrecords = Lists.<CharSequence> newArrayList("a", "b");

    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
    BinaryEncoder encoder = EncoderFactory.get().binaryEncoder(byteArrayOutputStream, null);

    try {
      datumWriter.write(record, encoder);
      encoder.flush();
      BinaryDecoder decoder = DecoderFactory.get().binaryDecoder(
          byteArrayOutputStream.toByteArray(), null);
      datumReader.read(record, decoder);
    } catch (IOException ioe) {
      throw new RuntimeException("Error performing specific schema test", ioe);
    } catch (ClassCastException cce) {
      // This indicates that we're using a pre-1.7.0 version of Avro, as the
      // ReflectDatumReader in those versions could not correctly handle an
View Full Code Here

  @InterfaceAudience.Private
  @Override
  public DatumReader getReader(Class<Object> clazz) {
    try {
      return new ReflectDatumReader(clazz);
    } catch (Exception e) {
      throw new RuntimeException(e);
    }
  }
View Full Code Here

  @InterfaceAudience.Private
  @Override
  public DatumReader getReader(Class<Object> clazz) {
    try {
      return new ReflectDatumReader(clazz);
    } catch (Exception e) {
      throw new RuntimeException(e);
    }
  }
View Full Code Here

      readFiles(new SpecificDatumReader("org.apache.avro."));
    }

  @Test
    public void testGeneratedReflect() throws IOException {
      readFiles(new ReflectDatumReader("org.apache.avro."));
    }
View Full Code Here

TOP

Related Classes of org.apache.avro.reflect.ReflectDatumReader

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.