CAMEL-2939: Fix Cassandra IdempotentRepository boolean return values

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

Branch: refs/heads/master
Commit: d78164bab97af74ecff05a65f10db2ea670e68c2
Parents: 81f4b94
Author: Gerald Quintana <gerald.quint...@gmail.com>
Authored: Tue Feb 17 23:05:24 2015 +0100
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Wed Feb 18 10:00:50 2015 +0100

----------------------------------------------------------------------
 .../cassandra/CassandraIdempotentRepository.java        | 12 ++++++++----
 .../cassandra/CassandraIdempotentRepositoryTest.java    |  2 +-
 2 files changed, 9 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/d78164ba/components/camel-cassandraql/src/main/java/org/apache/camel/processor/idempotent/cassandra/CassandraIdempotentRepository.java
----------------------------------------------------------------------
diff --git 
a/components/camel-cassandraql/src/main/java/org/apache/camel/processor/idempotent/cassandra/CassandraIdempotentRepository.java
 
b/components/camel-cassandraql/src/main/java/org/apache/camel/processor/idempotent/cassandra/CassandraIdempotentRepository.java
index f75cf77..23af20a 100644
--- 
a/components/camel-cassandraql/src/main/java/org/apache/camel/processor/idempotent/cassandra/CassandraIdempotentRepository.java
+++ 
b/components/camel-cassandraql/src/main/java/org/apache/camel/processor/idempotent/cassandra/CassandraIdempotentRepository.java
@@ -101,10 +101,15 @@ public class CassandraIdempotentRepository<K> extends 
ServiceSupport implements
             return false;
         } else {
             LOGGER.debug("Row with {} columns to check key", 
row.getColumnDefinitions());
-            return row.getColumnDefinitions().size() > 1;
+            return row.getColumnDefinitions().size() >= pkColumns.length;
         }
     }
 
+    protected final boolean isApplied(ResultSet resultSet) {
+        Row row = resultSet.one();
+        return row==null || row.getBool("[applied]");
+    }
+
     protected Object[] getPKValues(K key) {
         return append(prefixPKValues, key);
     }
@@ -137,7 +142,7 @@ public class CassandraIdempotentRepository<K> extends 
ServiceSupport implements
     public boolean add(K key) {
         Object[] idValues = getPKValues(key);
         LOGGER.debug("Inserting key {}", (Object) idValues);
-        return !isKey(getSession().execute(insertStatement.bind(idValues)));
+        return isApplied(getSession().execute(insertStatement.bind(idValues)));
     }
 
     // 
-------------------------------------------------------------------------
@@ -176,8 +181,7 @@ public class CassandraIdempotentRepository<K> extends 
ServiceSupport implements
     public boolean remove(K key) {
         Object[] idValues = getPKValues(key);
         LOGGER.debug("Deleting key {}", (Object) idValues);
-        getSession().execute(deleteStatement.bind(idValues));
-        return true;
+        return isApplied(getSession().execute(deleteStatement.bind(idValues)));
     }
     // 
-------------------------------------------------------------------------
     // Getters & Setters

http://git-wip-us.apache.org/repos/asf/camel/blob/d78164ba/components/camel-cassandraql/src/test/java/org/apache/camel/processor/idempotent/cassandra/CassandraIdempotentRepositoryTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-cassandraql/src/test/java/org/apache/camel/processor/idempotent/cassandra/CassandraIdempotentRepositoryTest.java
 
b/components/camel-cassandraql/src/test/java/org/apache/camel/processor/idempotent/cassandra/CassandraIdempotentRepositoryTest.java
index 2a14380..d4b7b72 100644
--- 
a/components/camel-cassandraql/src/test/java/org/apache/camel/processor/idempotent/cassandra/CassandraIdempotentRepositoryTest.java
+++ 
b/components/camel-cassandraql/src/test/java/org/apache/camel/processor/idempotent/cassandra/CassandraIdempotentRepositoryTest.java
@@ -126,7 +126,7 @@ public class CassandraIdempotentRepositoryTest {
         // When
         boolean result = idempotentRepository.contains(key);
         // Then
-        // assertFalse(result);
+        assertFalse(result);
     }
 
     @Test

Reply via email to