Repository: camel Updated Branches: refs/heads/master e78476132 -> 241cc204e
CAMEL-10068: Distribuited map, retrieve hashmap keys. Thanks to Fabrizio Spataro for the patch. Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/241cc204 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/241cc204 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/241cc204 Branch: refs/heads/master Commit: 241cc204eb694a43712822985e277bae31f2ba92 Parents: e784761 Author: Andrea Cosentino <anco...@gmail.com> Authored: Fri Jun 17 16:56:29 2016 +0200 Committer: Andrea Cosentino <anco...@gmail.com> Committed: Fri Jun 17 16:56:29 2016 +0200 ---------------------------------------------------------------------- .../camel-hazelcast/src/main/docs/hazelcast.adoc | 2 +- .../hazelcast/HazelcastComponentHelper.java | 1 + .../component/hazelcast/HazelcastConstants.java | 1 + .../hazelcast/map/HazelcastMapProducer.java | 15 +++++++++++++-- 4 files changed, 16 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/241cc204/components/camel-hazelcast/src/main/docs/hazelcast.adoc ---------------------------------------------------------------------- diff --git a/components/camel-hazelcast/src/main/docs/hazelcast.adoc b/components/camel-hazelcast/src/main/docs/hazelcast.adoc index ea6ac69..f14620d 100644 --- a/components/camel-hazelcast/src/main/docs/hazelcast.adoc +++ b/components/camel-hazelcast/src/main/docs/hazelcast.adoc @@ -128,7 +128,7 @@ Header Variables for the request message: [width="100%",cols="10%,10%,80%",options="header",] |======================================================================= |Name |Type |Description -|`CamelHazelcastOperationType` |`String` |valid values are: put, delete, get, update, query, getAll, putIfAbsent, clear. +|`CamelHazelcastOperationType` |`String` |valid values are: put, delete, get, update, query, getAll, putIfAbsent, clear, keySet. |`CamelHazelcastObjectId` |`String` |the object id to store / find your object inside the cache (not needed for the query operation) |======================================================================= http://git-wip-us.apache.org/repos/asf/camel/blob/241cc204/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastComponentHelper.java ---------------------------------------------------------------------- diff --git a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastComponentHelper.java b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastComponentHelper.java index a2d63e9..ba7c6de 100644 --- a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastComponentHelper.java +++ b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastComponentHelper.java @@ -103,6 +103,7 @@ public final class HazelcastComponentHelper { addMapping("valueCount", HazelcastConstants.VALUE_COUNT_OPERATION); addMapping("containsKey", HazelcastConstants.CONTAINS_KEY_OPERATION); addMapping("containsValue", HazelcastConstants.CONTAINS_VALUE_OPERATION); + addMapping("keySet", HazelcastConstants.GET_KEYS_OPERATION); // multimap addMapping("removevalue", HazelcastConstants.REMOVEVALUE_OPERATION); http://git-wip-us.apache.org/repos/asf/camel/blob/241cc204/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 e4e8405..f2ef662 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 @@ -74,6 +74,7 @@ public final class HazelcastConstants { public static final int VALUE_COUNT_OPERATION = 14; public static final int CONTAINS_KEY_OPERATION = 15; public static final int CONTAINS_VALUE_OPERATION = 16; + public static final int GET_KEYS_OPERATION = 41; // multimap public static final int REMOVEVALUE_OPERATION = 17; http://git-wip-us.apache.org/repos/asf/camel/blob/241cc204/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/map/HazelcastMapProducer.java ---------------------------------------------------------------------- diff --git a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/map/HazelcastMapProducer.java b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/map/HazelcastMapProducer.java index 563fe75..8d01721 100644 --- a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/map/HazelcastMapProducer.java +++ b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/map/HazelcastMapProducer.java @@ -97,7 +97,11 @@ public class HazelcastMapProducer extends HazelcastDefaultProducer { case HazelcastConstants.GET_ALL_OPERATION: this.getAll(oid, exchange); break; - + + case HazelcastConstants.GET_KEYS_OPERATION: + this.getKeys(exchange); + break; + case HazelcastConstants.CONTAINS_KEY_OPERATION: this.containsKey(oid, exchange); break; @@ -264,4 +268,11 @@ public class HazelcastMapProducer extends HazelcastDefaultProducer { Object body = exchange.getIn().getBody(); exchange.getOut().setBody(this.cache.containsValue(body)); } -} \ No newline at end of file + + /** + * get keys set of objects and give it back + */ + private void getKeys(Exchange exchange) { + exchange.getOut().setBody(this.cache.keySet()); + } +}