You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2017/02/22 20:27:36 UTC

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

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 <da...@apache.org>
Authored: Wed Feb 22 21:23:52 2017 +0100
Committer: Claus Ibsen <da...@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);
     }
 }