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/06/12 17:41:58 UTC

[3/3] camel git commit: CAMEL-8863 Camel-Hazelcast: Add valueCount operation to multimap

CAMEL-8863 Camel-Hazelcast: Add valueCount operation to multimap


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

Branch: refs/heads/master
Commit: 9dd309a40b1e8637ff7cd41f992c6a495f6fcd24
Parents: 2217291
Author: Andrea Cosentino <an...@gmail.com>
Authored: Fri Jun 12 10:32:16 2015 +0200
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Fri Jun 12 17:41:23 2015 +0200

----------------------------------------------------------------------
 .../apache/camel/component/hazelcast/HazelcastConstants.java | 3 ++-
 .../hazelcast/multimap/HazelcastMultimapProducer.java        | 8 ++++++++
 .../component/hazelcast/HazelcastMultimapProducerTest.java   | 8 ++++++++
 3 files changed, 18 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/9dd309a4/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastConstants.java
----------------------------------------------------------------------
diff --git a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastConstants.java b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastConstants.java
index 3da468f..fcc7256 100644
--- a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastConstants.java
+++ b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastConstants.java
@@ -67,9 +67,10 @@ public final class HazelcastConstants {
     public static final int RETAIN_ALL_OPERATION = 11;
     public static final int EVICT_OPERATION = 12;
     public static final int EVICT_ALL_OPERATION = 13;
+    public static final int VALUE_COUNT_OPERATION = 14;
     
     // multimap
-    public static final int REMOVEVALUE_OPERATION = 14;
+    public static final int REMOVEVALUE_OPERATION = 15;
 
     // atomic numbers
     public static final int INCREMENT_OPERATION = 20;

http://git-wip-us.apache.org/repos/asf/camel/blob/9dd309a4/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/multimap/HazelcastMultimapProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/multimap/HazelcastMultimapProducer.java b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/multimap/HazelcastMultimapProducer.java
index 4e9ff53..b5ebb2e 100644
--- a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/multimap/HazelcastMultimapProducer.java
+++ b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/multimap/HazelcastMultimapProducer.java
@@ -70,6 +70,10 @@ public class HazelcastMultimapProducer extends HazelcastDefaultProducer {
             this.clear(exchange);
             break;
             
+        case HazelcastConstants.VALUE_COUNT_OPERATION:
+            this.valuecount(oid, exchange);
+            break;
+            
         default:
             throw new IllegalArgumentException(String.format("The value '%s' is not allowed for parameter '%s' on the MULTIMAP cache.", operation, HazelcastConstants.OPERATION));
         }
@@ -94,6 +98,10 @@ public class HazelcastMultimapProducer extends HazelcastDefaultProducer {
     private void removevalue(Object oid, Exchange exchange) {
         this.cache.remove(oid, exchange.getIn().getBody());
     }
+    
+    private void valuecount(Object oid, Exchange exchange) {
+        exchange.getOut().setBody(this.cache.valueCount(oid));
+    }
 
     private void clear(Exchange exchange) {
         this.cache.clear();

http://git-wip-us.apache.org/repos/asf/camel/blob/9dd309a4/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMultimapProducerTest.java
----------------------------------------------------------------------
diff --git a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMultimapProducerTest.java b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMultimapProducerTest.java
index 95f357f..65a9e11 100644
--- a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMultimapProducerTest.java
+++ b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMultimapProducerTest.java
@@ -98,6 +98,12 @@ public class HazelcastMultimapProducerTest extends HazelcastCamelTestSupport {
         template.sendBody("direct:clear", "test");
         verify(map).clear();
     }
+    
+    @Test
+    public void testValueCount() {
+        template.sendBodyAndHeader("direct:valueCount", "test", HazelcastConstants.OBJECT_ID, "4711");
+        verify(map).valueCount("4711");
+    }
 
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
@@ -119,6 +125,8 @@ public class HazelcastMultimapProducerTest extends HazelcastCamelTestSupport {
 
                 from("direct:clear").setHeader(HazelcastConstants.OPERATION, constant(HazelcastConstants.CLEAR_OPERATION)).to(String.format("hazelcast:%sbar", HazelcastConstants.MULTIMAP_PREFIX));
                 
+                from("direct:valueCount").setHeader(HazelcastConstants.OPERATION, constant(HazelcastConstants.VALUE_COUNT_OPERATION)).to(String.format("hazelcast:%sbar", HazelcastConstants.MULTIMAP_PREFIX));
+                
                 from("direct:putWithOperationNumber").toF("hazelcast:%sbar?operation=%s", HazelcastConstants.MULTIMAP_PREFIX, HazelcastConstants.PUT_OPERATION);
                 from("direct:putWithOperationName").toF("hazelcast:%sbar?operation=put", HazelcastConstants.MULTIMAP_PREFIX);
             }