summaryrefslogtreecommitdiffstats
path: root/collaboration/GSoC-2011-Eranda/cassandra/src/main/java/org/apache/tuscany/nosqldatastore/cassandra/CassandraDatabase.java
diff options
context:
space:
mode:
Diffstat (limited to 'collaboration/GSoC-2011-Eranda/cassandra/src/main/java/org/apache/tuscany/nosqldatastore/cassandra/CassandraDatabase.java')
-rw-r--r--collaboration/GSoC-2011-Eranda/cassandra/src/main/java/org/apache/tuscany/nosqldatastore/cassandra/CassandraDatabase.java25
1 files changed, 16 insertions, 9 deletions
diff --git a/collaboration/GSoC-2011-Eranda/cassandra/src/main/java/org/apache/tuscany/nosqldatastore/cassandra/CassandraDatabase.java b/collaboration/GSoC-2011-Eranda/cassandra/src/main/java/org/apache/tuscany/nosqldatastore/cassandra/CassandraDatabase.java
index 0760a78f34..da12203690 100644
--- a/collaboration/GSoC-2011-Eranda/cassandra/src/main/java/org/apache/tuscany/nosqldatastore/cassandra/CassandraDatabase.java
+++ b/collaboration/GSoC-2011-Eranda/cassandra/src/main/java/org/apache/tuscany/nosqldatastore/cassandra/CassandraDatabase.java
@@ -23,17 +23,19 @@ import me.prettyprint.hector.api.Cluster;
import me.prettyprint.hector.api.Keyspace;
import me.prettyprint.hector.api.ddl.KeyspaceDefinition;
import me.prettyprint.hector.api.exceptions.HInvalidRequestException;
+import me.prettyprint.hector.api.exceptions.HectorException;
import me.prettyprint.hector.api.factory.HFactory;
import org.apache.tuscany.nosqldatastore.Database;
import org.apache.tuscany.nosqldatastore.Group;
+import org.apache.tuscany.nosqldatastore.exception.GroupNotFoundException;
class CassandraDatabase implements Database {
-
+
private Keyspace keyspace;
private Cluster cluster;
-
- CassandraDatabase(String databaseName, Cluster cluster) {
- try{
+
+ CassandraDatabase(String databaseName, Cluster cluster) throws HectorException{
+ try{
KeyspaceDefinition ksDef = new ThriftKsDef(databaseName, "org.apache.cassandra.locator.SimpleStrategy", 1, null);
cluster.addKeyspace(ksDef);
}catch (HInvalidRequestException e){
@@ -44,17 +46,22 @@ class CassandraDatabase implements Database {
}
public Group createGroup(String groupId) {
- CassandraGroup group = new CassandraGroup(groupId, keyspace, cluster);
- return group;
+ Group group = new CassandraGroup(groupId, keyspace, cluster);
+ return group;
}
public Group getGroup(String groupId) {
- return createGroup(groupId);
+ Group group = createGroup(groupId);
+ return group;
}
- public void deleteGroup(String key) {
- cluster.dropColumnFamily(keyspace.getKeyspaceName(), key);
+ public void deleteGroup(String groupId) throws GroupNotFoundException {
+ try{
+ cluster.dropColumnFamily(keyspace.getKeyspaceName(), groupId);
+ } catch(HInvalidRequestException e){
+ throw new GroupNotFoundException("Group does not exists "+groupId);
+ }
}
}