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");
}
};
}