camel git commit: CAMEL-8730 Camel-Hazelcast: Add replace operation to map producer

2015-05-03 Thread acosentino
Repository: camel
Updated Branches:
  refs/heads/master 9c628c284 - 8af7e6517


CAMEL-8730 Camel-Hazelcast: Add replace operation to map producer


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

Branch: refs/heads/master
Commit: 8af7e65170f6fe70969f0a75484269186b85cbc1
Parents: 9c628c2
Author: Andrea Cosentino anco...@gmail.com
Authored: Sun May 3 10:12:25 2015 +0200
Committer: Andrea Cosentino anco...@gmail.com
Committed: Sun May 3 10:12:25 2015 +0200

--
 .../component/hazelcast/HazelcastConstants.java |  3 +-
 .../hazelcast/map/HazelcastMapProducer.java | 42 
 .../hazelcast/HazelcastMapProducerTest.java | 14 ++-
 3 files changed, 21 insertions(+), 38 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/camel/blob/8af7e651/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 84521c3..dcdcf6f 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
@@ -57,8 +57,7 @@ public final class HazelcastConstants {
 public static final int UPDATE_OPERATION = 4;
 public static final int QUERY_OPERATION = 5;
 public static final int GET_ALL_OPERATION = 6;
-public static final int REPLACE_OPERATION = 7;
-public static final int CLEAR_OPERATION = 8;
+public static final int CLEAR_OPERATION = 7;
 
 // multimap
 public static final int REMOVEVALUE_OPERATION = 10;

http://git-wip-us.apache.org/repos/asf/camel/blob/8af7e651/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 ab59a6a..dfc917c 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
@@ -80,21 +80,17 @@ public class HazelcastMapProducer extends 
HazelcastDefaultProducer {
 break;
 
 case HazelcastConstants.UPDATE_OPERATION:
-this.update(oid, exchange);
-break;
-
-case HazelcastConstants.QUERY_OPERATION:
-this.query(query, exchange);
-break;
-
-case HazelcastConstants.REPLACE_OPERATION:
 if (ObjectHelper.isEmpty(ovalue)) {
-this.replace(oid, exchange);
+this.update(oid, exchange);
 } else {
-this.replace(oid, ovalue, exchange);
+this.update(oid, ovalue, exchange);
 }
 break;
 
+case HazelcastConstants.QUERY_OPERATION:
+this.query(query, exchange);
+break;
+
 case HazelcastConstants.CLEAR_OPERATION:
 this.clear(exchange);
 break;
@@ -130,6 +126,16 @@ public class HazelcastMapProducer extends 
HazelcastDefaultProducer {
 this.cache.replace(oid, body);
 this.cache.unlock(oid);
 }
+
+/**
+ * Replaces the entry for given id with a specific value in the body, only 
if currently mapped to a given value
+ */
+private void update(Object oid, Object ovalue, Exchange exchange) {
+Object body = exchange.getIn().getBody();
+this.cache.lock(oid);
+this.cache.replace(oid, ovalue, body);
+this.cache.unlock(oid);
+}
 
 /**
  * remove an object from the cache
@@ -162,22 +168,6 @@ public class HazelcastMapProducer extends 
HazelcastDefaultProducer {
 }
 
 /**
- * replace a value related to a specific key
- */
-private void replace(Object oid, Exchange exchange) {
-Object body = exchange.getIn().getBody();
-this.cache.replace(oid, body);
-}
-
-/**
- * Replaces the entry for given id with a specific value in the body, only 
if currently mapped to a given value
- */
-private void replace(Object oid, Object ovalue, 

camel git commit: CAMEL-8730 Camel-Hazelcast: Add replace operation to map producer

2015-05-02 Thread acosentino
Repository: camel
Updated Branches:
  refs/heads/master e63deab9a - 94ce9de81


CAMEL-8730 Camel-Hazelcast: Add replace operation to map producer


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

Branch: refs/heads/master
Commit: 94ce9de81ccea6ddf0e3e346537f547e32bffe3d
Parents: e63deab
Author: Andrea Cosentino anco...@gmail.com
Authored: Sat May 2 11:43:37 2015 +0200
Committer: Andrea Cosentino anco...@gmail.com
Committed: Sat May 2 11:43:37 2015 +0200

--
 .../component/hazelcast/HazelcastConstants.java |  4 ++-
 .../hazelcast/map/HazelcastMapProducer.java | 29 
 .../hazelcast/HazelcastMapProducerTest.java | 17 
 3 files changed, 49 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/camel/blob/94ce9de8/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 3caa167..7757f74 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
@@ -35,6 +35,7 @@ public final class HazelcastConstants {
  */
 public static final String OBJECT_ID = CamelHazelcastObjectId;
 public static final String OBJECT_POS = CamelHazelcastObjectIndex;
+public static final String OBJECT_VALUE = CamelHazelcastObjectValue;
 public static final String QUERY = CamelHazelcastQuery;
 
 /*
@@ -48,7 +49,7 @@ public final class HazelcastConstants {
 public static final String CACHE_NAME = CamelHazelcastCacheName;
 public static final String CACHE_TYPE = CamelHazelcastCacheType;
 
-// actions (put, delete, get, update)
+// actions (put, delete, get, getAll, replace, update)
 public static final String OPERATION = CamelHazelcastOperationType;
 public static final int PUT_OPERATION = 1;
 public static final int DELETE_OPERATION = 2;
@@ -56,6 +57,7 @@ public final class HazelcastConstants {
 public static final int UPDATE_OPERATION = 4;
 public static final int QUERY_OPERATION = 5;
 public static final int GET_ALL_OPERATION = 6;
+public static final int REPLACE_OPERATION = 7;
 
 // multimap
 public static final int REMOVEVALUE_OPERATION = 10;

http://git-wip-us.apache.org/repos/asf/camel/blob/94ce9de8/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 ec453a7..8b6cd69 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
@@ -45,11 +45,16 @@ public class HazelcastMapProducer extends 
HazelcastDefaultProducer {
 
 // get header parameters
 Object oid = null;
+Object ovalue = null;
 String query = null;
 
 if (headers.containsKey(HazelcastConstants.OBJECT_ID)) {
 oid = headers.get(HazelcastConstants.OBJECT_ID);
 }
+
+if (headers.containsKey(HazelcastConstants.OBJECT_VALUE)) {
+ovalue = headers.get(HazelcastConstants.OBJECT_VALUE);
+}
 
 if (headers.containsKey(HazelcastConstants.QUERY)) {
 query = (String) headers.get(HazelcastConstants.QUERY);
@@ -82,6 +87,14 @@ public class HazelcastMapProducer extends 
HazelcastDefaultProducer {
 this.query(query, exchange);
 break;
 
+case HazelcastConstants.REPLACE_OPERATION:
+if (ObjectHelper.isEmpty(ovalue)) {
+this.replace(oid, exchange);
+} else {
+this.replace(oid, ovalue, exchange);
+}
+break;
+
 default:
 throw new IllegalArgumentException(String.format(The value '%s' 
is not allowed for parameter '%s' on the MAP cache., operation, 
HazelcastConstants.OPERATION));
 }
@@ -143,4 +156,20 @@ public class HazelcastMapProducer