summaryrefslogtreecommitdiffstats
path: root/collaboration/GSoC-2011-Eranda/cassandra/src/main/java/org/apache/tuscany/nosqldatastore/cassandra/CassandraGroup.java
diff options
context:
space:
mode:
Diffstat (limited to 'collaboration/GSoC-2011-Eranda/cassandra/src/main/java/org/apache/tuscany/nosqldatastore/cassandra/CassandraGroup.java')
-rw-r--r--collaboration/GSoC-2011-Eranda/cassandra/src/main/java/org/apache/tuscany/nosqldatastore/cassandra/CassandraGroup.java41
1 files changed, 34 insertions, 7 deletions
diff --git a/collaboration/GSoC-2011-Eranda/cassandra/src/main/java/org/apache/tuscany/nosqldatastore/cassandra/CassandraGroup.java b/collaboration/GSoC-2011-Eranda/cassandra/src/main/java/org/apache/tuscany/nosqldatastore/cassandra/CassandraGroup.java
index 36a5bddf7b..d46e666935 100644
--- a/collaboration/GSoC-2011-Eranda/cassandra/src/main/java/org/apache/tuscany/nosqldatastore/cassandra/CassandraGroup.java
+++ b/collaboration/GSoC-2011-Eranda/cassandra/src/main/java/org/apache/tuscany/nosqldatastore/cassandra/CassandraGroup.java
@@ -1,25 +1,52 @@
package org.apache.tuscany.nosqldatastore.cassandra;
+import me.prettyprint.cassandra.serializers.StringSerializer;
+import me.prettyprint.cassandra.service.template.ColumnFamilyResult;
+import me.prettyprint.cassandra.service.template.ColumnFamilyTemplate;
+import me.prettyprint.cassandra.service.template.ColumnFamilyUpdater;
+import me.prettyprint.cassandra.service.template.ThriftColumnFamilyTemplate;
+import me.prettyprint.hector.api.Cluster;
+import me.prettyprint.hector.api.Keyspace;
+import me.prettyprint.hector.api.ddl.ColumnFamilyDefinition;
+import me.prettyprint.hector.api.exceptions.HInvalidRequestException;
+import me.prettyprint.hector.api.factory.HFactory;
import org.apache.tuscany.nosqldatastore.Group;
class CassandraGroup implements Group {
- CassandraGroup(String groupName) {
+ private ColumnFamilyTemplate<String,String> template;
+ private ColumnFamilyUpdater<String, String> updater;
+ private final StringSerializer se = StringSerializer.get();
+
+ CassandraGroup(String groupId, Keyspace keyspace, Cluster cluster) {
+ try{
+ ColumnFamilyDefinition cfDef = HFactory.createColumnFamilyDefinition(keyspace.getKeyspaceName(), groupId);
+ cluster.addColumnFamily(cfDef);
+ }catch (HInvalidRequestException e){
+ System.out.println("Connect to the existing group...");
+ }
+ template = new ThriftColumnFamilyTemplate<String, String>(keyspace,groupId,se,se,HFactory.createMutator(keyspace, se));
}
public void addEntry(String key, Object value) {
- // TODO Auto-generated method stub
-
+ updater = template.createUpdater(key);
+ updater.setString(key, (String) value);
+ template.update(updater);
+ template.addColumn(key, se);
}
public void deleteEntry(String key) {
- // TODO Auto-generated method stub
+ template.deleteColumn(key, key);
}
- public void updateEntry(String key, Object value) {
- // TODO Auto-generated method stub
-
+ public Object getValue(String key) {
+ ColumnFamilyResult wrapper = template.queryColumns(key);
+ return wrapper.getString(key);
+ }
+
+ public void updateEntry(String key, Object value) {
+ addEntry(key, value);
}
}