package org.apache.tuscany.nosqldatastore.cassandra; import me.prettyprint.cassandra.service.CassandraHostConfigurator; import me.prettyprint.cassandra.service.ThriftCluster; import me.prettyprint.cassandra.service.ThriftKsDef; import me.prettyprint.hector.api.ddl.KeyspaceDefinition; import org.apache.tuscany.nosqldatastore.Database; import org.apache.tuscany.nosqldatastore.Session; public class CassandraSession implements Session { private CassandraHostConfigurator cassandraHostConfigurator; private ThriftCluster cluster; public CassandraSession(String clusterName) { cassandraHostConfigurator = new CassandraHostConfigurator("localhost:9160"); cluster = new ThriftCluster(clusterName, cassandraHostConfigurator); } public Database createDatabase(String keyspaceName) { KeyspaceDefinition ksDef = new ThriftKsDef(keyspaceName, "org.apache.cassandra.locator.SimpleStrategy", 1, null); cluster.addKeyspace(ksDef); Database database = new CassandraDatabase(keyspaceName, cluster); return database; } public Database getDatabase(String keyspaceName) { Database database = new CassandraDatabase(keyspaceName, cluster); return database; } public void deleteDatabase(String keyspaceName) { cluster.dropKeyspace(keyspaceName); } }