List of usage examples for org.apache.cassandra.serializers TypeSerializer deserialize
public T deserialize(ByteBuffer bytes);
From source file:com.impetus.client.cassandra.datahandler.CassandraDataHandlerBase.java
License:Apache License
/** * Populate embedded recursive./* ww w .ja v a 2s.c o m*/ * * @param value * the value * @param types * the types * @param fieldNames * the field names * @param entity * the entity * @param metaModel * the meta model * @return the object */ public Object populateEmbeddedRecursive(ByteBuffer value, List<AbstractType<?>> types, List<ByteBuffer> fieldNames, Object entity, MetamodelImpl metaModel) { ByteBuffer input = value.duplicate(); EmbeddableType emb = metaModel.embeddable(entity.getClass()); for (int i = 0; i < types.size(); i++) { if (!input.hasRemaining()) return entity; AbstractType<?> type = types.get(i); String name = new String(fieldNames.get(i).array()); // JPA name, // convert to // column name Field fieldToSet = null; AbstractAttribute attribute = null; // change this if possible for (Object attr : emb.getAttributes()) { if (((AbstractAttribute) attr).getJPAColumnName().equals(name)) { attribute = (AbstractAttribute) attr; break; } } fieldToSet = (Field) attribute.getJavaMember(); Class embeddedClass = attribute.getBindableJavaType(); int size = input.getInt(); if (size < 0) { continue; } ByteBuffer field = ByteBufferUtil.readBytes(input, size); if (type.getClass().getSimpleName().equals("UserType")) { List<ByteBuffer> subFieldNames = ((UserType) type).fieldNames();// ok List<AbstractType<?>> subfieldTypes = ((UserType) type).fieldTypes(); // create entity with type_name and populate fields, set entity // in parent object after exit Object embeddedObjectChild = KunderaCoreUtils.createNewInstance(embeddedClass); Object processedEntity = populateEmbeddedRecursive(field, subfieldTypes, subFieldNames, embeddedObjectChild, metaModel); PropertyAccessorHelper.set(entity, fieldToSet, processedEntity); } else { boolean flag = true; if (type.getClass().getSimpleName().equals("MapType")) { if (((MapType) type).getValuesType().getClass().getSimpleName().equals("UserType")) { flag = false; // create instance of embedded object (UserType) setElementCollectionMap((MapType) type, field, entity, fieldToSet, metaModel, embeddedClass, false); } } else if (type.getClass().getSimpleName().equals("ListType")) { if (((ListType) type).getElementsType().getClass().getSimpleName().equals("UserType")) { flag = false; setElementCollectionList((ListType) type, field, entity, fieldToSet, metaModel, embeddedClass, false); } } else if (type.getClass().getSimpleName().equals("SetType")) { if (((SetType) type).getElementsType().getClass().getSimpleName().equals("UserType")) { flag = false; setElementCollectionSet((SetType) type, field, entity, fieldToSet, metaModel, embeddedClass, false); } } if (flag) { TypeSerializer serializer = type.getSerializer(); serializer.validate(field); Object finalValue = serializer.deserialize(field); PropertyAccessorHelper.set(entity, fieldToSet, finalValue); } } } return entity; }
From source file:com.protectwise.cassandra.db.compaction.AbstractClusterDeletingConvictor.java
License:Apache License
public Long getLong(Composite ck, ColumnDefinition column) { TypeSerializer<?> ser = column.type.getSerializer(); assert ser.getType() == Long.class : "Column '" + column.name + "' is not of type Long, but of type " + ser.getType().getSimpleName(); return (Long) ser.deserialize(ck.get(column.position())); }
From source file:com.protectwise.cassandra.db.compaction.AbstractClusterDeletingConvictor.java
License:Apache License
public Integer getInteger(Composite ck, ColumnDefinition column) { TypeSerializer<?> ser = column.type.getSerializer(); assert ser.getType() == Integer.class : "Column '" + column.name + "' is not of type Integer, but of type " + ser.getType().getSimpleName(); return (Integer) ser.deserialize(ck.get(column.position())); }
From source file:com.protectwise.cassandra.db.compaction.AbstractClusterDeletingConvictor.java
License:Apache License
public String getString(Composite ck, ColumnDefinition column) { TypeSerializer<?> ser = column.type.getSerializer(); assert ser.getType() == String.class : "Column '" + column.name + "' is not of type String, but of type " + ser.getType().getSimpleName(); return (String) ser.deserialize(ck.get(column.position())); }
From source file:com.protectwise.cassandra.db.compaction.AbstractClusterDeletingConvictor.java
License:Apache License
public Date getDate(Composite ck, ColumnDefinition column) { TypeSerializer<?> ser = column.type.getSerializer(); assert ser.getType() == Date.class : "Column '" + column.name + "' is not of type Date, but of type " + ser.getType().getSimpleName(); return (Date) ser.deserialize(ck.get(column.position())); }
From source file:com.protectwise.cassandra.db.compaction.AbstractClusterDeletingConvictor.java
License:Apache License
public UUID getUUID(Composite ck, ColumnDefinition column) { TypeSerializer<?> ser = column.type.getSerializer(); assert ser.getType() == UUID.class : "Column '" + column.name + "' is not of type UUID, but of type " + ser.getType().getSimpleName(); return (UUID) ser.deserialize(ck.get(column.position())); }
From source file:com.protectwise.cassandra.db.compaction.AbstractClusterDeletingConvictor.java
License:Apache License
public Double getDouble(Composite ck, ColumnDefinition column) { TypeSerializer<?> ser = column.type.getSerializer(); assert ser.getType() == Double.class : "Column '" + column.name + "' is not of type Double, but of type " + ser.getType().getSimpleName(); return (Double) ser.deserialize(ck.get(column.position())); }
From source file:com.protectwise.cassandra.db.compaction.AbstractClusterDeletingConvictor.java
License:Apache License
public Boolean getBoolean(Composite ck, ColumnDefinition column) { TypeSerializer<?> ser = column.type.getSerializer(); assert ser.getType() == Boolean.class : "Column '" + column.name + "' is not of type Boolean, but of type " + ser.getType().getSimpleName(); return (Boolean) ser.deserialize(ck.get(column.position())); }
From source file:com.protectwise.cassandra.db.compaction.AbstractClusterDeletingConvictor.java
License:Apache License
public BigDecimal getBigDecimal(Composite ck, ColumnDefinition column) { TypeSerializer<?> ser = column.type.getSerializer(); assert ser.getType() == BigDecimal.class : "Column '" + column.name + "' is not of type BigDecimal, but of type " + ser.getType().getSimpleName(); return (BigDecimal) ser.deserialize(ck.get(column.position())); }
From source file:com.protectwise.cassandra.db.compaction.AbstractClusterDeletingConvictor.java
License:Apache License
public Float getFloat(Composite ck, ColumnDefinition column) { TypeSerializer<?> ser = column.type.getSerializer(); assert ser.getType() == Float.class : "Column '" + column.name + "' is not of type Float, but of type " + ser.getType().getSimpleName(); return (Float) ser.deserialize(ck.get(column.position())); }