Author: [email protected]
Date: Wed Sep 14 15:49:35 2011
New Revision: 1362
Log:
[AMDATUCASSANDRA-83] Also added method <T> SuperRow<String, String, String, T>
getSuperRow(String columnFamily, String rowKey, Class<T> clazz);
Modified:
trunk/amdatu-cassandra/cassandra-persistencemanager/src/main/java/org/amdatu/cassandra/persistencemanager/CassandraPersistenceManager.java
trunk/amdatu-cassandra/cassandra-persistencemanager/src/main/java/org/amdatu/cassandra/persistencemanager/service/HectorCassandraPersistenceManagerImpl.java
trunk/amdatu-cassandra/test-integration/tests/src/test/java/org/amdatu/cassandra/test/integration/tests/CassandraPersistenceManagerTest.java
trunk/amdatu-cassandra/test-unit/src/main/java/org/amdatu/cassandra/test/unit/framework/mock/CassandraPersistenceManagerMock.java
Modified:
trunk/amdatu-cassandra/cassandra-persistencemanager/src/main/java/org/amdatu/cassandra/persistencemanager/CassandraPersistenceManager.java
==============================================================================
---
trunk/amdatu-cassandra/cassandra-persistencemanager/src/main/java/org/amdatu/cassandra/persistencemanager/CassandraPersistenceManager.java
(original)
+++
trunk/amdatu-cassandra/cassandra-persistencemanager/src/main/java/org/amdatu/cassandra/persistencemanager/CassandraPersistenceManager.java
Wed Sep 14 15:49:35 2011
@@ -203,6 +203,25 @@
/**
* Returns the super row with the specified row key in the specified
Column Family (which must be of type "Super")
+ * which contains all Super Columns. This method assumes that the values
stored in all Columns are of type T.
+ * If the specified ColumnFamily does not exist, an unchecked exception *
will be thrown.
+ *
+ * @param <T>
+ * The expected return type of the value contained by the specified
column
+ * @param rowKey
+ * The key of the row to retrieve
+ * @param superColumn
+ * The name of the superColumns to retrieve
+ * @param clazz
+ * The generic type T of all values being retrieved (i.e.
String.class).
+ * @return Super row with the specified row key in the specified
ColumnFamily containing all SuperColumns
+ * and assuming all values are of type T.
+ * Returns null if there is no row with the specified row key.
+ */
+ <T> SuperRow<String, String, String, T> getSuperRow(String columnFamily,
String rowKey, Class<T> clazz);
+
+ /**
+ * Returns the super row with the specified row key in the specified
Column Family (which must be of type "Super")
* which contains only the Super Columns matching the specified name. This
method assumes that the values
* stored in all Columns are of type T. If the specified ColumnFamily does
not exist, an unchecked exception
* will be thrown.
@@ -210,7 +229,7 @@
* @param <T>
* The expected return type of the value contained by the specified
column
* @param rowKey
- *
+ * The key of the row to retrieve
* @param columnFamily
* The name of the ColumnFamily to retrieve all super rows for.
* @param superColumn
@@ -223,7 +242,7 @@
*/
<T> SuperRow<String, String, String, T> getSuperRow(String columnFamily,
String rowKey, String superColumn,
Class<T> clazz);
-
+
/**
* Returns an iterator over all super rows in the specified Column Family
(which must be of type "Super")
* which contains all Super Columns and Columns. This method assumes that
the values stored in all Columns are of
Modified:
trunk/amdatu-cassandra/cassandra-persistencemanager/src/main/java/org/amdatu/cassandra/persistencemanager/service/HectorCassandraPersistenceManagerImpl.java
==============================================================================
---
trunk/amdatu-cassandra/cassandra-persistencemanager/src/main/java/org/amdatu/cassandra/persistencemanager/service/HectorCassandraPersistenceManagerImpl.java
(original)
+++
trunk/amdatu-cassandra/cassandra-persistencemanager/src/main/java/org/amdatu/cassandra/persistencemanager/service/HectorCassandraPersistenceManagerImpl.java
Wed Sep 14 15:49:35 2011
@@ -304,6 +304,15 @@
}
}
+ public <T> SuperRow<String, String, String, T> getSuperRow(String
columnFamily, String rowKey, Class<T> clazz) {
+ Iterator<SuperRow<String, String, String, T>> superRows =
getSuperRows(columnFamily, rowKey, clazz, COLUMN_LIMIT, null, null);
+ if (superRows.hasNext()) {
+ return superRows.next();
+ } else {
+ return null;
+ }
+ }
+
public <T> SuperRow<String, String, String, T> getSuperRow(String
columnFamilyName, String rowKey,
String superColumn, Class<T> clazz) {
Iterator<SuperRow<String, String, String, T>> superRows =
getSuperRows(columnFamilyName, rowKey, clazz, COLUMN_LIMIT, null, superColumn);
Modified:
trunk/amdatu-cassandra/test-integration/tests/src/test/java/org/amdatu/cassandra/test/integration/tests/CassandraPersistenceManagerTest.java
==============================================================================
---
trunk/amdatu-cassandra/test-integration/tests/src/test/java/org/amdatu/cassandra/test/integration/tests/CassandraPersistenceManagerTest.java
(original)
+++
trunk/amdatu-cassandra/test-integration/tests/src/test/java/org/amdatu/cassandra/test/integration/tests/CassandraPersistenceManagerTest.java
Wed Sep 14 15:49:35 2011
@@ -124,10 +124,15 @@
count++;
}
- // Verify getSuperRow
+ // Verify getSuperRow for a single super column
SuperRow<String, String, String, String> superRow =
m_pm.getSuperRow(COLUMNFAMILY, rowKey, "SuperColumn_" + (colSize-1),
String.class);
Assert.assertTrue(superRow != null);
Assert.assertTrue(superRow.getSuperSlice().getSuperColumns().size() ==
1);
+
+ // Verify getSuperRow for all super columns
+ superRow = m_pm.getSuperRow(COLUMNFAMILY, rowKey, String.class);
+ Assert.assertTrue(superRow != null);
+ Assert.assertTrue(superRow.getSuperSlice().getSuperColumns().size() ==
5);
}
/**
Modified:
trunk/amdatu-cassandra/test-unit/src/main/java/org/amdatu/cassandra/test/unit/framework/mock/CassandraPersistenceManagerMock.java
==============================================================================
---
trunk/amdatu-cassandra/test-unit/src/main/java/org/amdatu/cassandra/test/unit/framework/mock/CassandraPersistenceManagerMock.java
(original)
+++
trunk/amdatu-cassandra/test-unit/src/main/java/org/amdatu/cassandra/test/unit/framework/mock/CassandraPersistenceManagerMock.java
Wed Sep 14 15:49:35 2011
@@ -190,6 +190,11 @@
}
@Override
+ public <T> SuperRow<String, String, String, T> getSuperRow(String
columnFamily, String rowKey, Class<T> clazz) {
+ throw new IllegalArgumentException("This method is not (yet)
implemented by this mock object");
+ }
+
+ @Override
public <T> SuperRow<String, String, String, T> getSuperRow(String
columnFamily, String rowKey,
String superColumn, Class<T> clazz) {
throw new IllegalArgumentException("This method is not (yet)
implemented by this mock object");
_______________________________________________
Amdatu-commits mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-commits