private Object readCollection(Collection<Object> c, Schema expectedType, long l, ResolvingDecoder in) throws IOException { LogicalType logicalType = expectedType.getLogicalType(); Conversion<?> conversion = getData().getConversionFor(logicalType); if (logicalType != null && conversion != null) { do { for (int i = 0; i < l; i++) { Object element = readWithConversion( null, expectedType, logicalType, conversion, in); c.add(element); } } while ((l = in.arrayNext()) > 0); } else { do { for (int i = 0; i < l; i++) { Object element = readWithoutConversion(null, expectedType, in); c.add(element); } } while ((l = in.arrayNext()) > 0); } return c; }
private Object readCollection(Collection<Object> c, Schema expectedType, long l, ResolvingDecoder in) throws IOException { LogicalType logicalType = expectedType.getLogicalType(); Conversion<?> conversion = getData().getConversionFor(logicalType); if (logicalType != null && conversion != null) { do { for (int i = 0; i < l; i++) { Object element = readWithConversion( null, expectedType, logicalType, conversion, in); c.add(element); } } while ((l = in.arrayNext()) > 0); } else { do { for (int i = 0; i < l; i++) { Object element = readWithoutConversion(null, expectedType, in); c.add(element); } } while ((l = in.arrayNext()) > 0); } return c; }
Conversion<?> conversion = getData().getConversionByClass( accessor.getField().getType(), logicalType); if (conversion != null) {
Conversion<?> conversion = getData().getConversionByClass( accessor.getField().getType(), logicalType); if (conversion != null) {
@Test public void testClassPath() throws Exception { Configuration conf = new Configuration(); ClassLoader loader = conf.getClass().getClassLoader(); AvroSerialization serialization = new AvroSerialization(); serialization.setConf(conf); AvroDeserializer des = (AvroDeserializer)serialization.getDeserializer(AvroKey.class); ReflectData data = (ReflectData)((ReflectDatumReader)des.mAvroDatumReader).getData(); Assert.assertEquals(loader, data.getClassLoader()); }
private Object readObjectArray(Object[] array, Schema expectedType, long l, ResolvingDecoder in) throws IOException { LogicalType logicalType = expectedType.getLogicalType(); Conversion<?> conversion = getData().getConversionFor(logicalType); int index = 0; if (logicalType != null && conversion != null) { do { int limit = index + (int) l; while (index < limit) { Object element = readWithConversion( null, expectedType, logicalType, conversion, in); array[index] = element; index++; } } while ((l = in.arrayNext()) > 0); } else { do { int limit = index + (int) l; while (index < limit) { Object element = readWithoutConversion(null, expectedType, in); array[index] = element; index++; } } while ((l = in.arrayNext()) > 0); } return array; }
private Object readObjectArray(Object[] array, Schema expectedType, long l, ResolvingDecoder in) throws IOException { LogicalType logicalType = expectedType.getLogicalType(); Conversion<?> conversion = getData().getConversionFor(logicalType); int index = 0; if (logicalType != null && conversion != null) { do { int limit = index + (int) l; while (index < limit) { Object element = readWithConversion( null, expectedType, logicalType, conversion, in); array[index] = element; index++; } } while ((l = in.arrayNext()) > 0); } else { do { int limit = index + (int) l; while (index < limit) { Object element = readWithoutConversion(null, expectedType, in); array[index] = element; index++; } } while ((l = in.arrayNext()) > 0); } return array; }
@Override protected Object newArray(Object old, int size, Schema schema) { Class<?> collectionClass = ReflectData.getClassProp(schema, SpecificData.CLASS_PROP); Class<?> elementClass = ReflectData.getClassProp(schema, SpecificData.ELEMENT_PROP); if (collectionClass == null && elementClass == null) return super.newArray(old, size, schema); // use specific/generic if (collectionClass != null && !collectionClass.isArray()) { if (old instanceof Collection) { ((Collection<?>)old).clear(); return old; } if (collectionClass.isAssignableFrom(ArrayList.class)) return new ArrayList<Object>(); return SpecificData.newInstance(collectionClass, schema); } if (elementClass == null) { elementClass = collectionClass.getComponentType(); } if (elementClass == null) { ReflectData data = (ReflectData)getData(); elementClass = data.getClass(schema.getElementType()); } return Array.newInstance(elementClass, size); }
private Object readCollection(Collection<Object> c, Schema expectedType, long l, ResolvingDecoder in) throws IOException { LogicalType logicalType = expectedType.getLogicalType(); Conversion<?> conversion = getData().getConversionFor(logicalType); if (logicalType != null && conversion != null) { do { for (int i = 0; i < l; i++) { Object element = readWithConversion( null, expectedType, logicalType, conversion, in); c.add(element); } } while ((l = in.arrayNext()) > 0); } else { do { for (int i = 0; i < l; i++) { Object element = readWithoutConversion(null, expectedType, in); c.add(element); } } while ((l = in.arrayNext()) > 0); } return c; }
Conversion<?> conversion = getData().getConversionByClass( accessor.getField().getType(), logicalType); if (conversion != null) {
private Object readObjectArray(Object[] array, Schema expectedType, long l, ResolvingDecoder in) throws IOException { LogicalType logicalType = expectedType.getLogicalType(); Conversion<?> conversion = getData().getConversionFor(logicalType); int index = 0; if (logicalType != null && conversion != null) { do { int limit = index + (int) l; while (index < limit) { Object element = readWithConversion( null, expectedType, logicalType, conversion, in); array[index] = element; index++; } } while ((l = in.arrayNext()) > 0); } else { do { int limit = index + (int) l; while (index < limit) { Object element = readWithoutConversion(null, expectedType, in); array[index] = element; index++; } } while ((l = in.arrayNext()) > 0); } return array; }