You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gora.apache.org by le...@apache.org on 2013/07/20 22:53:46 UTC
svn commit: r1505206 -
/gora/trunk/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java
Author: lewismc
Date: Sat Jul 20 20:53:46 2013
New Revision: 1505206
URL: http://svn.apache.org/r1505206
Log:
trivial update of CassandraStore to annotate methods
Modified:
gora/trunk/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java
Modified: gora/trunk/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java
URL: http://svn.apache.org/viewvc/gora/trunk/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java?rev=1505206&r1=1505205&r2=1505206&view=diff
==============================================================================
--- gora/trunk/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java (original)
+++ gora/trunk/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java Sat Jul 20 20:53:46 2013
@@ -59,7 +59,15 @@ import org.apache.gora.store.impl.DataSt
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+/**
+ * {@link org.apache.gora.cassandra.store.CassandraStore} is the primary class
+ * responsible for directing Gora CRUD operations into Cassandra. We (delegate) rely
+ * heavily on {@ link org.apache.gora.cassandra.store.CassandraClient} for many operations
+ * such as initialization, creating and deleting schemas (Cassandra Keyspaces), etc.
+ */
public class CassandraStore<K, T extends PersistentBase> extends DataStoreBase<K, T> {
+
+ /** Logging implementation */
public static final Logger LOG = LoggerFactory.getLogger(CassandraStore.class);
private CassandraClient<K, T> cassandraClient = new CassandraClient<K, T>();
@@ -77,10 +85,17 @@ public class CassandraStore<K, T extends
*/
private Map<K, T> buffer = Collections.synchronizedMap(new LinkedHashMap<K, T>());
+ /** The default constructor for CassandraStore */
public CassandraStore() throws Exception {
// this.cassandraClient.initialize();
}
-
+
+ /**
+ * Initialize is called when then the call to
+ * {@link org.apache.gora.store.DataStoreFactory#createDataStore(Class<D> dataStoreClass, Class<K> keyClass, Class<T> persistent, org.apache.hadoop.conf.Configuration conf)}
+ * is made. In this case, we merely delegate the store initialization to the
+ * {@link org.apache.gora.cassandra.store.CassandraClient#initialize(Class<K> keyClass, Class<T> persistentClass)}.
+ */
public void initialize(Class<K> keyClass, Class<T> persistent, Properties properties) {
try {
super.initialize(keyClass, persistent, properties);
@@ -121,6 +136,12 @@ public class CassandraStore<K, T extends
this.cassandraClient.dropKeyspace();
}
+ /**
+ * When executing Gora Queries in Cassandra we query the Cassandra keyspace by families.
+ * When add sub/supercolumns, Gora keys are mapped to Cassandra partition keys only.
+ * This is because we follow the Cassandra logic where column family data is
+ * partitioned across nodes based on row Key.
+ */
@Override
public Result<K, T> execute(Query<K, T> query) {
@@ -153,7 +174,12 @@ public class CassandraStore<K, T extends
return cassandraResult;
}
-
+
+ /**
+ * When we add subcolumns, Gora keys are mapped to Cassandra partition keys only.
+ * This is because we follow the Cassandra logic where column family data is
+ * partitioned across nodes based on row Key.
+ */
private void addSubColumns(String family, CassandraQuery<K, T> cassandraQuery,
CassandraResultSet cassandraResultSet) {
// select family columns that are included in the query
@@ -182,6 +208,11 @@ public class CassandraStore<K, T extends
}
}
+ /**
+ * When we add supercolumns, Gora keys are mapped to Cassandra partition keys only.
+ * This is because we follow the Cassandra logic where column family data is
+ * partitioned across nodes based on row Key.
+ */
private void addSuperColumns(String family, CassandraQuery<K, T> cassandraQuery,
CassandraResultSet cassandraResultSet) {