/** * Insert a record in the database. Any field/value pairs in the specified values HashMap will be * written into the record with the specified record key. * * @param table The name of the table * @param key The record key of the record to insert. * @param values A HashMap of field/value pairs to insert in the record * @return Zero on success, a non-zero error code on error */ public int insert(String table, String key, HashMap<String, ByteIterator> values) { if (!_table.equals(table)) { try { client.set_keyspace(table); _table = table; } catch (Exception e) { e.printStackTrace(); e.printStackTrace(System.out); return Error; } } for (int i = 0; i < OperationRetries; i++) { if (_debug) { System.out.println("Inserting key: " + key); } try { ByteBuffer wrappedKey = ByteBuffer.wrap(key.getBytes("UTF-8")); ColumnOrSuperColumn column; for (Map.Entry<String, ByteIterator> entry : values.entrySet()) { column = new ColumnOrSuperColumn(); Column subColumn = new Column(ByteBuffer.wrap(entry.getKey().getBytes("UTF-8"))); subColumn.setValue(ByteBuffer.wrap(entry.getValue().toArray())); subColumn.setTimestamp(System.currentTimeMillis()); column.setColumn(subColumn); mutations.add(new Mutation().setColumn_or_supercolumn(column)); } mutationMap.put(column_family, mutations); record.put(wrappedKey, mutationMap); client.batch_mutate(record, ConsistencyLevel.ONE); mutations.clear(); mutationMap.clear(); record.clear(); return Ok; } catch (Exception e) { errorexception = e; } try { Thread.sleep(500); } catch (InterruptedException e) { } } errorexception.printStackTrace(); errorexception.printStackTrace(System.out); return Error; }
/** * Delete a record from the database. * * @param table The name of the table * @param key The record key of the record to delete. * @return Zero on success, a non-zero error code on error */ public int delete(String table, String key) { if (!_table.equals(table)) { try { client.set_keyspace(table); _table = table; } catch (Exception e) { e.printStackTrace(); e.printStackTrace(System.out); return Error; } } for (int i = 0; i < OperationRetries; i++) { try { client.remove( ByteBuffer.wrap(key.getBytes("UTF-8")), new ColumnPath(column_family), System.currentTimeMillis(), ConsistencyLevel.ONE); if (_debug) { System.out.println("Delete key: " + key); } return Ok; } catch (Exception e) { errorexception = e; } try { Thread.sleep(500); } catch (InterruptedException e) { } } errorexception.printStackTrace(); errorexception.printStackTrace(System.out); return Error; }
public static void main(String[] args) { CassandraClient7 cli = new CassandraClient7(); Properties props = new Properties(); props.setProperty("hosts", args[0]); cli.setProperties(props); try { cli.init(); } catch (Exception e) { e.printStackTrace(); System.exit(0); } HashMap<String, ByteIterator> vals = new HashMap<String, ByteIterator>(); vals.put("age", new StringByteIterator("57")); vals.put("middlename", new StringByteIterator("bradley")); vals.put("favoritecolor", new StringByteIterator("blue")); int res = cli.insert("usertable", "BrianFrankCooper", vals); System.out.println("Result of insert: " + res); HashMap<String, ByteIterator> result = new HashMap<String, ByteIterator>(); HashSet<String> fields = new HashSet<String>(); fields.add("middlename"); fields.add("age"); fields.add("favoritecolor"); res = cli.read("usertable", "BrianFrankCooper", null, result); System.out.println("Result of read: " + res); for (String s : result.keySet()) { System.out.println("[" + s + "]=[" + result.get(s) + "]"); } res = cli.delete("usertable", "BrianFrankCooper"); System.out.println("Result of delete: " + res); }