You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sn...@apache.org on 2014/01/16 18:30:08 UTC

[12/51] [abbrv] git commit: Use two methods instead of asking caller to pass null to indicate no TTL.

Use two methods instead of asking caller to pass null to indicate no TTL.


Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/f834a190
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/f834a190
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/f834a190

Branch: refs/heads/two-dot-o
Commit: f834a1908dfcc923e30ea37eb49f1f0d59003f6f
Parents: 075374b
Author: Dave Johnson <dm...@apigee.com>
Authored: Mon Jan 13 15:05:05 2014 -0500
Committer: Dave Johnson <dm...@apigee.com>
Committed: Mon Jan 13 15:05:05 2014 -0500

----------------------------------------------------------------------
 .../write/UniqueValueSerializationStrategy.java    | 10 +++++++++-
 .../UniqueValueSerializationStrategyImpl.java      | 17 +++++++++++++++--
 2 files changed, 24 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/f834a190/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/UniqueValueSerializationStrategy.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/UniqueValueSerializationStrategy.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/UniqueValueSerializationStrategy.java
index 0169361..0a6b635 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/UniqueValueSerializationStrategy.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/UniqueValueSerializationStrategy.java
@@ -31,7 +31,15 @@ public interface UniqueValueSerializationStrategy {
      * Write the specified UniqueValue to Cassandra with optional timeToLive in milliseconds.
      * 
      * @param uniqueValue Object to be written
-     * @param timeToLive How long object should live in seconds (or null to live forever)
+     * @return MutatationBatch that encapsulates operation, caller may or may not execute.
+     */
+    public MutationBatch write( UniqueValue uniqueValue );
+
+    /**
+     * Write the specified UniqueValue to Cassandra with optional timeToLive in milliseconds.
+     * 
+     * @param uniqueValue Object to be written
+     * @param timeToLive How long object should live in seconds 
      * @return MutatationBatch that encapsulates operation, caller may or may not execute.
      */
     public MutationBatch write( UniqueValue uniqueValue, Integer timeToLive );

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/f834a190/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/UniqueValueSerializationStrategyImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/UniqueValueSerializationStrategyImpl.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/UniqueValueSerializationStrategyImpl.java
index 35c924f..8c2e9eb 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/UniqueValueSerializationStrategyImpl.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/UniqueValueSerializationStrategyImpl.java
@@ -78,19 +78,32 @@ public class UniqueValueSerializationStrategyImpl implements UniqueValueSerializ
     } 
 
 
+    public MutationBatch write( UniqueValue uniqueValue ) {
+        return write( uniqueValue, Integer.MAX_VALUE );
+    }
+
+
     @Override
-    public MutationBatch write( UniqueValue value, final Integer timeToLive ) {
+    public MutationBatch write( UniqueValue value, Integer timeToLive ) {
 
         Preconditions.checkNotNull( value, "value is required" );
+        Preconditions.checkNotNull( timeToLive, "timeToLive is required" );
 
         final EntityVersion ev = new EntityVersion( value.getEntityId(), value.getEntityVersion() );
 
+        final Integer ttl;
+        if ( timeToLive.equals( Integer.MAX_VALUE )) {
+            ttl = null;
+        } else {
+            ttl = timeToLive;
+        }
+
         return doWrite( value.getCollectionScope(), value.getField(), 
             new UniqueValueSerializationStrategyImpl.RowOp() {
 
             @Override
             public void doOp( final ColumnListMutation<EntityVersion> colMutation ) {
-                colMutation.putColumn( ev, 0x0, timeToLive );
+                colMutation.putColumn( ev, 0x0, ttl );
             }
         } );
     }