@Override protected TileSerializer<T> create () throws ConfigurationException { return new PrimitiveAvroSerializer<>(_type, TileSerializerFactory.getCodecFactory(this)); } }
@Override protected Schema createEntrySchema () { if (null == _schema) { String keyTypeName = PrimitiveAvroSerializer.getAvroType(_keyType); String valueTypeName = PrimitiveAvroSerializer.getAvroType(_valueType); _schema = __schemaStore.getSchema(new Pair<>(_keyType, _valueType), keyTypeName, valueTypeName); } return _schema; }
public PrimitiveArrayAvroSerializer (Class<? extends T> type, CodecFactory compressionCodec) { super(compressionCodec, PrimitiveAvroSerializer.getPrimitiveTypeDescriptor(type)); _type = type; _toString = (String.class.equals(type)); }
@Test public void testPrimitiveSerializer () throws Exception { TileSerializer<Double> serialD = new PrimitiveAvroSerializer<>(Double.class, CodecFactory.nullCodec()); Assert.assertTrue(result instanceof PrimitiveAvroSerializer); PrimitiveAvroSerializer<?> serialR = (PrimitiveAvroSerializer<?>) result; Assert.assertEquals(new TypeDescriptor(Double.class), serialR.getBinTypeDescription()); @SuppressWarnings({ "unchecked", "rawtypes" }) PrimitiveAvroSerializer<Double> serialRD = (PrimitiveAvroSerializer) result; serialRD.serialize(tile, tbaos2); tbaos1.flush(); tbaos1.close(); TileData<Double> out1 = serialRD.deserialize(tile.getDefinition(), tbais1);
@Test public void testSerializerTypeing () { Assert.assertEquals(new TypeDescriptor(Double.class), new PrimitiveAvroSerializer<>(Double.class, CodecFactory.nullCodec()).getBinTypeDescription()); Assert.assertEquals(new TypeDescriptor(List.class, new TypeDescriptor(Double.class)), new PrimitiveArrayAvroSerializer<>(Double.class, CodecFactory.nullCodec()).getBinTypeDescription()); Assert.assertEquals(new TypeDescriptor(List.class, new TypeDescriptor(Pair.class, new TypeDescriptor(String.class), new TypeDescriptor(Integer.class))), new PairArrayAvroSerializer<>(String.class, Integer.class, CodecFactory.nullCodec()).getBinTypeDescription()); } }
@SuppressWarnings({"rawtypes", "unchecked"}) private static <S, T> Class<TileSerializer<Pair<S, T>>> getGenericSerializerClass (Class<? extends S> keyType, Class<? extends T> valueType) { if (!PrimitiveAvroSerializer.isValidPrimitive(keyType) || !PrimitiveAvroSerializer.isValidPrimitive(valueType)) throw new IllegalArgumentException("Attempt to create pair array serializer factory with non-primitive class(es) "+keyType+" and/or "+valueType); return (Class) TileSerializer.class; }
@SuppressWarnings({"rawtypes", "unchecked"}) private static <S, T> Class<TileSerializer<List<Pair<S, T>>>> getGenericSerializerClass (Class<? extends S> keyType, Class<? extends T> valueType) { if (!PrimitiveAvroSerializer.isValidPrimitive(keyType) || !PrimitiveAvroSerializer.isValidPrimitive(valueType)) throw new IllegalArgumentException("Attempt to create pair array serializer factory with non-primitive class(es) "+keyType+" and/or "+valueType); return (Class) TileSerializer.class; }
TileSerializer<Double> serializer = new PrimitiveAvroSerializer<Double>(Double.class, CodecFactory.bzip2Codec()); TileExporter extractor = new TileExporter(zookeeperQuorum, zookeeperPort, hbaseMaster, rootPath, extension); extractor.copyPyramid(pyramidId, minLevel, maxLevel, serializer, blockSize);
@SuppressWarnings({"rawtypes", "unchecked"}) private static <T> Class<TileSerializer<List<T>>> getGenericSerializerClass (Class<? extends T> entryType) { if (!PrimitiveAvroSerializer.isValidPrimitive(entryType)) throw new IllegalArgumentException("Attempt to create primitive array serializer factory with non-primitive class "+entryType); return (Class) TileSerializer.class; }
@Override protected Schema createRecordSchema () throws IOException { if (null == _schema) { String typeName = getAvroType(_type); _schema = __schemaStore.getSchema(_type, typeName); } return _schema; }
public PrimitiveAvroSerializer (Class<? extends T> type, CodecFactory compressionCodec) { super(compressionCodec, getPrimitiveTypeDescriptor(type)); _type = type; _toString = (String.class.equals(type)); }
@Test public void testAvroTileSerialization () throws Exception { serialize(AVRO, SCALAR_DATA, _scalarData, new PrimitiveAvroSerializer<>(Double.class, CodecFactory.bzip2Codec())); }
@SuppressWarnings({"rawtypes", "unchecked"}) private static <ST> Class<TileSerializer<ST>> getGenericSerializerClass (Class<? extends ST> type) { if (!PrimitiveAvroSerializer.isValidPrimitive(type)) throw new IllegalArgumentException("Attempt to create primitive serializer factory with non-primitive class "+type); return (Class) TileSerializer.class; }
@Override protected Schema createRecordSchema () throws IOException { if (null == _schema) { String keyTypeName = PrimitiveAvroSerializer.getAvroType(_keyType); String valueTypeName = PrimitiveAvroSerializer.getAvroType(_valueType); _schema = __schemaStore.getSchema(new Pair<>(_keyType, _valueType), keyTypeName, valueTypeName); } return _schema; }
public PairAvroSerializer (Class<? extends S> keyType, Class<? extends T> valueType, CodecFactory compressionCodec) { super(compressionCodec, new TypeDescriptor(Pair.class, PrimitiveAvroSerializer.getPrimitiveTypeDescriptor(keyType), PrimitiveAvroSerializer.getPrimitiveTypeDescriptor(valueType))); _keyType = keyType; _valueType = valueType; _keyToString = (String.class.equals(keyType)); _valueToString = (String.class.equals(valueType)); }
@Test public void testAvroTileDeSerialization () throws Exception { deserialize(AVRO, SCALAR_DATA, _scalarData, new PrimitiveAvroSerializer<>(Double.class, CodecFactory.bzip2Codec())); }
private static <S, T> String getName (Class<? extends S> keyType, Class<? extends T> valueType) { if (!PrimitiveAvroSerializer.isValidPrimitive(keyType) || !PrimitiveAvroSerializer.isValidPrimitive(valueType)) throw new IllegalArgumentException("Attempt to create pair serializer factory with non-primitive class(es) "+keyType+" and/or "+valueType); return "("+keyType.getSimpleName().toLowerCase()+", "+valueType.getSimpleName().toLowerCase()+")-a"; }
@Override protected Schema createEntrySchema () { if (null == _schema) { String typeName = PrimitiveAvroSerializer.getAvroType(_type); _schema = __schemaStore.getSchema(_type, typeName); } return _schema; }
public PairArrayAvroSerializer (Class<? extends S> keyType, Class<? extends T> valueType, CodecFactory compressionCodec) { super(compressionCodec, new TypeDescriptor(Pair.class, PrimitiveAvroSerializer.getPrimitiveTypeDescriptor(keyType), PrimitiveAvroSerializer.getPrimitiveTypeDescriptor(valueType))); _keyType = keyType; _valueType = valueType; _keyToString = (String.class.equals(keyType)); _valueToString = (String.class.equals(valueType)); }
@Test public void testAvroMetaDataSerialization () throws Exception { TileSerializer<Double> serializer = new PrimitiveAvroSerializer<>(Double.class, CodecFactory.nullCodec()); ByteArrayOutputStream output = new ByteArrayOutputStream(); serializer.serialize(_tile, output); output.flush(); output.close(); ByteArrayInputStream input = new ByteArrayInputStream(output.toByteArray()); TileData<Double> received = serializer.deserialize(_index, input); Assert.assertEquals(2, received.getMetaDataProperties().size()); Assert.assertTrue(received.getMetaDataProperties().contains("a")); Assert.assertTrue(received.getMetaDataProperties().contains("b")); Assert.assertEquals("abc", received.getMetaData("a")); Assert.assertEquals("bcd", received.getMetaData("b")); }