/** * Compose column value. * * @param cqlMetadata * the cql metadata * @param thriftColumnValue * the thrift column value * @param thriftColumnName * the thrift column name * @return the object */ private Object composeColumnValue(CqlMetadata cqlMetadata, byte[] thriftColumnValue, byte[] thriftColumnName) { Map<ByteBuffer, String> schemaTypes = cqlMetadata.getValue_types(); AbstractType<?> type = null; try { type = TypeParser.parse(schemaTypes.get(ByteBuffer.wrap(thriftColumnName))); } catch (SyntaxException | ConfigurationException ex) { log.error(ex.getMessage()); throw new KunderaException("Error while deserializing column value " + ex); } if (type.isCollection()) { return ((CollectionSerializer) type.getSerializer()) .deserializeForNativeProtocol(ByteBuffer.wrap(thriftColumnValue), ProtocolVersion.V2); } return type.compose(ByteBuffer.wrap(thriftColumnValue)); }
TypeSerializer serializer = type.getSerializer(); serializer.validate(field);
private MapType(AbstractType<K> keys, AbstractType<V> values, boolean isMultiCell) { super(ComparisonType.CUSTOM, Kind.MAP); this.keys = keys; this.values = values; this.serializer = MapSerializer.getInstance(keys.getSerializer(), values.getSerializer(), keys); this.isMultiCell = isMultiCell; }
private MapType(AbstractType<K> keys, AbstractType<V> values, boolean isMultiCell) { super(ComparisonType.CUSTOM, Kind.MAP); this.keys = keys; this.values = values; this.serializer = MapSerializer.getInstance(keys.getSerializer(), values.getSerializer(), keys); this.isMultiCell = isMultiCell; }
private MapType(AbstractType<K> keys, AbstractType<V> values, boolean isMultiCell) { super(ComparisonType.CUSTOM, Kind.MAP); this.keys = keys; this.values = values; this.serializer = MapSerializer.getInstance(keys.getSerializer(), values.getSerializer(), keys); this.isMultiCell = isMultiCell; }
private static List<TypeSerializer<?>> fieldSerializers(List<AbstractType<?>> types) { int size = types.size(); List<TypeSerializer<?>> serializers = new ArrayList<>(size); for (int i = 0; i < size; i++) serializers.add(types.get(i).getSerializer()); return serializers; }
private static List<TypeSerializer<?>> fieldSerializers(List<AbstractType<?>> types) { int size = types.size(); List<TypeSerializer<?>> serializers = new ArrayList<>(size); for (int i = 0; i < size; i++) serializers.add(types.get(i).getSerializer()); return serializers; }
private static List<TypeSerializer<?>> fieldSerializers(List<AbstractType<?>> types) { int size = types.size(); List<TypeSerializer<?>> serializers = new ArrayList<>(size); for (int i = 0; i < size; i++) serializers.add(types.get(i).getSerializer()); return serializers; }
public SetType(AbstractType<T> elements, boolean isMultiCell) { super(ComparisonType.CUSTOM, Kind.SET); this.elements = elements; this.serializer = SetSerializer.getInstance(elements.getSerializer(), elements); this.isMultiCell = isMultiCell; }
/** * Delegate to * {@link org.apache.cassandra.serializers.TypeSerializer#toCQLLiteral(ByteBuffer)} * for native types as most CQL literal representations work fine with the default * {@link org.apache.cassandra.serializers.TypeSerializer#toString(Object)} * {@link org.apache.cassandra.serializers.TypeSerializer#deserialize(ByteBuffer)} implementations. */ public String toCQLLiteral(ByteBuffer buffer, ProtocolVersion version) { return type.getSerializer().toCQLLiteral(buffer); }
public SetType(AbstractType<T> elements, boolean isMultiCell) { super(ComparisonType.CUSTOM, Kind.SET); this.elements = elements; this.serializer = SetSerializer.getInstance(elements.getSerializer(), elements); this.isMultiCell = isMultiCell; }
private ListType(AbstractType<T> elements, boolean isMultiCell) { super(ComparisonType.CUSTOM, Kind.LIST); this.elements = elements; this.serializer = ListSerializer.getInstance(elements.getSerializer()); this.isMultiCell = isMultiCell; }
/** * Delegate to * {@link org.apache.cassandra.serializers.TypeSerializer#toCQLLiteral(ByteBuffer)} * for native types as most CQL literal representations work fine with the default * {@link org.apache.cassandra.serializers.TypeSerializer#toString(Object)} * {@link org.apache.cassandra.serializers.TypeSerializer#deserialize(ByteBuffer)} implementations. */ public String toCQLLiteral(ByteBuffer buffer, ProtocolVersion version) { return type.getSerializer().toCQLLiteral(buffer); }
private ListType(AbstractType<T> elements, boolean isMultiCell) { super(ComparisonType.CUSTOM, Kind.LIST); this.elements = elements; this.serializer = ListSerializer.getInstance(elements.getSerializer()); this.isMultiCell = isMultiCell; }
public T compose(ByteBuffer bytes) { return getSerializer().deserialize(bytes); }
private ListType(AbstractType<T> elements, boolean isMultiCell) { super(Kind.LIST); this.elements = elements; this.serializer = ListSerializer.getInstance(elements.getSerializer()); this.isMultiCell = isMultiCell; }
public ByteBuffer execute(ProtocolVersion protocolVersion, List<ByteBuffer> parameters) { ByteBuffer bb = parameters.get(0); if (bb == null) return null; return outputType().decompose(inputType().getSerializer().toCQLLiteral(bb)); } }
public ByteBuffer execute(ProtocolVersion protocolVersion, List<ByteBuffer> parameters) { ByteBuffer bb = parameters.get(0); if (bb == null) return null; return outputType().decompose(inputType().getSerializer().toCQLLiteral(bb)); } }
/** get a string representation of the bytes used for various identifier (NOT just for log messages) */ public String getString(ByteBuffer bytes) { if (bytes == null) return "null"; TypeSerializer<T> serializer = getSerializer(); serializer.validate(bytes); return serializer.toString(serializer.deserialize(bytes)); }
/** get a string representation of the bytes used for various identifier (NOT just for log messages) */ public String getString(ByteBuffer bytes) { if (bytes == null) return "null"; TypeSerializer<T> serializer = getSerializer(); serializer.validate(bytes); return serializer.toString(serializer.deserialize(bytes)); }