You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2015/04/25 11:34:05 UTC

camel git commit: CAMEL-8698 Camel-Infinispan: Add size operation

Repository: camel
Updated Branches:
  refs/heads/master 16ea61e23 -> 09aa6f68f


CAMEL-8698 Camel-Infinispan: Add size operation


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

Branch: refs/heads/master
Commit: 09aa6f68fb3552da1ab486f0b093a2019a562d74
Parents: 16ea61e
Author: ancosen <an...@gmail.com>
Authored: Sat Apr 25 11:32:30 2015 +0200
Committer: ancosen <an...@gmail.com>
Committed: Sat Apr 25 11:32:30 2015 +0200

----------------------------------------------------------------------
 .../component/infinispan/InfinispanConstants.java |  1 +
 .../component/infinispan/InfinispanOperation.java |  6 ++++++
 .../infinispan/InfinispanProducerTest.java        | 18 ++++++++++++++++++
 3 files changed, 25 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/09aa6f68/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConstants.java
----------------------------------------------------------------------
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConstants.java b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConstants.java
index 6f69e7f..2c0ba42 100644
--- a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConstants.java
+++ b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConstants.java
@@ -33,6 +33,7 @@ public interface InfinispanConstants {
     String REMOVE = "CamelInfinispanOperationRemove";
     String REPLACE = "CamelInfinispanOperationReplace";
     String CLEAR = "CamelInfinispanOperationClear";
+    String SIZE = "CamelInfinispanOperationSize";
     String RESULT = "CamelInfinispanOperationResult";
     String LIFESPAN_TIME = "CamelInfinispanLifespanTime";
     String LIFESPAN_TIME_UNIT = "CamelInfinispanTimeUnit";

http://git-wip-us.apache.org/repos/asf/camel/blob/09aa6f68/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanOperation.java
----------------------------------------------------------------------
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanOperation.java b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanOperation.java
index 7cd5a2a..3450666 100644
--- a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanOperation.java
+++ b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanOperation.java
@@ -156,6 +156,12 @@ public class InfinispanOperation {
                 }
                 setResult(result, exchange);
             }
+        }, SIZE {
+            @Override
+            void execute(BasicCache<Object, Object> cache, Exchange exchange) {
+                Object result = cache.size();
+                setResult(result, exchange);
+            }
         }, CLEAR {
             @Override
             void execute(BasicCache<Object, Object> cache, Exchange exchange) {

http://git-wip-us.apache.org/repos/asf/camel/blob/09aa6f68/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanProducerTest.java
----------------------------------------------------------------------
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanProducerTest.java b/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanProducerTest.java
index ca38e2b..84df8e4 100644
--- a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanProducerTest.java
+++ b/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanProducerTest.java
@@ -46,6 +46,22 @@ public class InfinispanProducerTest extends InfinispanTestSupport {
         Object value = currentCache().get(KEY_ONE);
         assertEquals(value.toString(), VALUE_ONE);
     }
+    
+    @Test
+    public void cacheSizeTest() throws Exception {
+        currentCache().put(KEY_ONE, VALUE_ONE);
+        currentCache().put(KEY_TWO, VALUE_TWO);
+
+        Exchange exchange = template.request("direct:size", new Processor() {
+            @Override
+            public void process(Exchange exchange) throws Exception {
+                exchange.getIn().setHeader(InfinispanConstants.OPERATION, InfinispanConstants.SIZE);
+            }
+        });
+
+        assertEquals(exchange.getIn().getHeader(InfinispanConstants.RESULT, Integer.class), new Integer(2));
+        assertNotEquals(exchange.getIn().getHeader(InfinispanConstants.RESULT, Integer.class), new Integer(4));
+    }
 
     @Test
     public void publishKeyAndValueByExplicitlySpecifyingTheOperation() throws Exception {
@@ -509,6 +525,8 @@ public class InfinispanProducerTest extends InfinispanTestSupport {
                         .to("infinispan://localhost?cacheContainer=#cacheContainer&command=CONTAINSKEY");
                 from("direct:containsvalue")
                         .to("infinispan://localhost?cacheContainer=#cacheContainer&command=CONTAINSVALUE");
+                from("direct:size")
+                        .to("infinispan://localhost?cacheContainer=#cacheContainer&command=SIZE");
             }
         };
     }