private byte[] convertDiscTypeToColValue(DiscriminatorType discType, Object value) { switch (discType) { case STRING: return StringSerializer.get().toBytes((String) value); case CHAR: return String.valueOf((Character) value).getBytes(); case INTEGER: return IntegerSerializer.get().toBytes((Integer) value); } throw new RuntimeException("must have added a new discriminator type, " + discType + ", because don't know how to convert db value - cannot continue"); }
StringSerializer stringSerializer = StringSerializer.get(); BytesArraySerializer bas = BytesArraySerializer.get(); IndexedSlicesQuery<String, String, byte[]> indexedSlicesQuery = HFactory.createIndexedSlicesQuery("your keyspace", stringSerializer, stringSerializer, bas); indexedSlicesQuery.setColumnFamily("ClientHeaders"); indexedSlicesQuery.setColumnNames("UUID","Cliend_id","IP","Country","Date"); indexedSlicesQuery.addEqualsExpression("Client_id", stringSerializer.toBytes("123")); QueryResult<OrderedRows<String, String, byte[]>> result = indexedSlicesQuery.execute();
slice.add("bp1", BooleanSerializer.get().toBytes(boolProp1)); slice.add("bp2", BooleanSerializer.get().toBytes(boolProp2)); slice.add("sp", StringSerializer.get().toBytes(strProp)); slice.add("up", UUIDSerializer.get().toBytes(uuidProp)); slice.add("dp", DateSerializer.get().toBytes(dateProp)); slice.add("bytes", BytesArraySerializer.get().toBytes(bytesProp)); slice.add("color", StringSerializer.get().toBytes(color.getName())); slice.add("serialProp", ObjectSerializer.get().toBytes(serialProp)); slice.add("extra", StringSerializer.get().toBytes(extraProp));
@Override public QueryResult<OrderedRows<String, String, byte[]>> execute() { IndexedSlicesQuery<String, String, byte[]> indexedSlicesQuery = HFactory.createIndexedSlicesQuery(keyspace, stringSerializer, stringSerializer, bas); indexedSlicesQuery.setColumnFamily("Npanxx"); indexedSlicesQuery.setColumnNames("city","state","lat","lng"); indexedSlicesQuery.addEqualsExpression("state", stringSerializer.toBytes("TX")); indexedSlicesQuery.addEqualsExpression("city", stringSerializer.toBytes("Austin")); indexedSlicesQuery.addGteExpression("lat", stringSerializer.toBytes("30.30")); QueryResult<OrderedRows<String, String, byte[]>> result = indexedSlicesQuery.execute(); String city = stringSerializer.fromBytes(result.get().iterator().next().getColumnSlice().getColumnByName("city").getValue()); log.info("Decoded City: {}, not decoded: {}", city, result.get().iterator().next().getColumnSlice().getColumnByName("city").getValue()); return result; }