Repository: camel
Updated Branches:
  refs/heads/master cdf97cb52 -> 33adccfd5


CAMEL-10882: camel-hazelcast - Allow to configure default operation as string 
value


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

Branch: refs/heads/master
Commit: 33adccfd5954a95791e74c947a6fcbccd67cccbf
Parents: cdf97cb
Author: Claus Ibsen <davscl...@apache.org>
Authored: Wed Feb 22 21:23:52 2017 +0100
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Wed Feb 22 21:23:52 2017 +0100

----------------------------------------------------------------------
 .../src/main/docs/hazelcast-component.adoc          |  4 ++--
 .../component/hazelcast/HazelcastComponent.java     | 16 +++++-----------
 .../hazelcast/HazelcastDefaultEndpoint.java         | 10 ++++++----
 .../hazelcast/HazelcastDefaultProducer.java         |  7 ++++++-
 4 files changed, 19 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/33adccfd/components/camel-hazelcast/src/main/docs/hazelcast-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-component.adoc 
b/components/camel-hazelcast/src/main/docs/hazelcast-component.adoc
index eee848b..2893c62 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-component.adoc
@@ -73,7 +73,7 @@ The Hazelcast component supports 13 endpoint options which 
are listed below:
 | Name | Group | Default | Java Type | Description
 | command | common |  | HazelcastCommand | *Required* What operation to 
perform.
 | cacheName | common |  | String | *Required* The name of the cache
-| defaultOperation | common |  | int | To specify a default operation to use 
if no operation header has been provided.
+| defaultOperation | common |  | String | To specify a default operation to 
use if no operation header has been provided.
 | hazelcastInstance | common |  | HazelcastInstance | The hazelcast instance 
reference which can be used for hazelcast endpoint.
 | hazelcastInstanceName | common |  | String | The hazelcast instance 
reference name which can be used for hazelcast endpoint. If you don't specify 
the instance reference camel use the default hazelcast instance from the 
camel-hazelcast instance.
 | bridgeErrorHandler | consumer | false | boolean | Allows for bridging the 
consumer to the Camel routing Error Handler which mean any exceptions occurred 
while the consumer is trying to pickup incoming messages or the likes will now 
be processed as a message and handled by the routing Error Handler. By default 
the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with 
exceptions that will be logged at WARN or ERROR level and ignored.
@@ -1387,4 +1387,4 @@ from("direct:get")
 .setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.READ_ONCE_HEAD_OPERATION))
 .toF("hazelcast:%sbar", HazelcastConstants.RINGBUFFER_PREFIX)
 .to("seda:out");
------------------------------------------------------------------------------------------------
\ No newline at end of file
+-----------------------------------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/33adccfd/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastComponent.java
 
b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastComponent.java
index 5feaf7d..5d2ff04 100644
--- 
a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastComponent.java
+++ 
b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastComponent.java
@@ -75,15 +75,11 @@ public class HazelcastComponent extends 
UriEndpointComponent {
         // use the given hazelcast Instance or create one if not given
         HazelcastInstance hzInstance = 
getOrCreateHzInstance(getCamelContext(), parameters);
 
-        int defaultOperation = -1;
-        Object operation = getAndRemoveOrResolveReferenceParameter(parameters, 
HazelcastConstants.OPERATION_PARAM, Object.class);
-        if (operation == null) {
-            operation = getAndRemoveOrResolveReferenceParameter(parameters, 
"defaultOperation", Object.class);
+        String defaultOperation = 
getAndRemoveOrResolveReferenceParameter(parameters, 
HazelcastConstants.OPERATION_PARAM, String.class);
+        if (defaultOperation == null) {
+            defaultOperation = 
getAndRemoveOrResolveReferenceParameter(parameters, "defaultOperation", 
String.class);
         }
-        if (operation != null) {
-            defaultOperation = 
HazelcastComponentHelper.extractOperationNumber(operation, -1);
-        }
-       
+
         HazelcastDefaultEndpoint endpoint = null;
 
         // check type of endpoint
@@ -176,9 +172,7 @@ public class HazelcastComponent extends 
UriEndpointComponent {
                     HazelcastConstants.SEDA_PREFIX, 
HazelcastConstants.LIST_PREFIX, HazelcastConstants.REPLICATEDMAP_PREFIX, 
HazelcastConstants.SET_PREFIX, HazelcastConstants.RINGBUFFER_PREFIX, uri));
         }
 
-        if (defaultOperation != -1) {
-            endpoint.setDefaultOperation(defaultOperation);
-        }
+        endpoint.setDefaultOperation(defaultOperation);
 
         return endpoint;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/33adccfd/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultEndpoint.java
----------------------------------------------------------------------
diff --git 
a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultEndpoint.java
 
b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultEndpoint.java
index 67fcf8d..c32ac15 100644
--- 
a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultEndpoint.java
+++ 
b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultEndpoint.java
@@ -42,8 +42,9 @@ public abstract class HazelcastDefaultEndpoint extends 
DefaultEndpoint {
     protected HazelcastInstance hazelcastInstance;
     @UriParam
     protected String hazelcastInstanceName;
-    @UriParam
-    private int defaultOperation = -1;
+    @UriParam(enums = 
"put,delete,get,update,query,getAll,clear,evict,evictAll,putIfAbsent,addAll,removeAll,retainAll,valueCount,containsKey,containsValue,keySet,removevalue,increment"
+        + 
",decrement,setvalue,destroy,compareAndSet,getAndAdd,add,offer,peek,poll,remainingCapacity,drainTo,publish,capacity,readonceHead,readonceTail")
+    private String defaultOperation;
     @UriParam
     private HazelcastSedaConfiguration hazelcastSedaConfiguration; // to 
include component schema docs
 
@@ -113,11 +114,12 @@ public abstract class HazelcastDefaultEndpoint extends 
DefaultEndpoint {
     /**
      * To specify a default operation to use, if no operation header has been 
provided.
      */
-    public void setDefaultOperation(int defaultOperation) {
+    public void setDefaultOperation(String defaultOperation) {
         this.defaultOperation = defaultOperation;
     }
 
-    public int getDefaultOperation() {
+    public String getDefaultOperation() {
         return defaultOperation;
     }
+
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/33adccfd/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultProducer.java
----------------------------------------------------------------------
diff --git 
a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultProducer.java
 
b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultProducer.java
index 5cb55dd..0f96c29 100644
--- 
a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultProducer.java
+++ 
b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultProducer.java
@@ -31,6 +31,11 @@ public abstract class HazelcastDefaultProducer extends 
DefaultProducer {
     }
 
     protected int lookupOperationNumber(Exchange exchange) {
-        return HazelcastComponentHelper.lookupOperationNumber(exchange, 
getEndpoint().getDefaultOperation());
+        int defaultNumber = -1;
+        // if there is a default operation we need to convert that first to a 
number
+        if (getEndpoint().getDefaultOperation() != null) {
+            defaultNumber = 
HazelcastComponentHelper.extractOperationNumber(getEndpoint().getDefaultOperation(),
 -1);
+        }
+        return HazelcastComponentHelper.lookupOperationNumber(exchange, 
defaultNumber);
     }
 }

Reply via email to