package org.apache.tuscany.nosqldatastore.cassandra; import java.util.ArrayList; import java.util.List; import me.prettyprint.cassandra.service.ThriftCluster; import me.prettyprint.cassandra.service.ThriftKsDef; import me.prettyprint.hector.api.ddl.ColumnFamilyDefinition; import me.prettyprint.hector.api.ddl.KeyspaceDefinition; import me.prettyprint.hector.api.factory.HFactory; import org.apache.tuscany.nosqldatastore.Database; import org.apache.tuscany.nosqldatastore.Group; class CassandraDatabase implements Database { private String keyspace; private ThriftCluster cluster; private List cfDefList; CassandraDatabase(String databaseName, ThriftCluster cluster) { this.keyspace = databaseName; this.cluster = cluster; KeyspaceDefinition ksDef = cluster.describeKeyspace(keyspace); cfDefList = ksDef.getCfDefs(); } public Group createGroup(String groupId) { ColumnFamilyDefinition cfDef = HFactory.createColumnFamilyDefinition(keyspace, groupId); cluster.addColumnFamily(cfDef); CassandraGroup group = new CassandraGroup(groupId); return group; } public boolean isAvailable(String key) { return false; } public void deleteGroup(String key) { cluster.dropColumnFamily(keyspace, key); } }