This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch on-header in repository https://gitbox.apache.org/repos/asf/camel.git
commit 9a72e1de2a27204cfe77a10596056bebc20ab366 Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Thu Feb 4 15:34:54 2021 +0100 CAMEL-16102: Source code generate @InvokeOnHeader for reflection free --- .../AtomixMapProducerInvokeOnHeaderFactory.java | 48 ++++++ ...omixMessagingProducerInvokeOnHeaderFactory.java | 28 ++++ ...tomixMultiMapProducerInvokeOnHeaderFactory.java | 40 +++++ .../AtomixQueueProducerInvokeOnHeaderFactory.java | 42 ++++++ .../AtomixSetProducerInvokeOnHeaderFactory.java | 36 +++++ .../AtomixValueProducerInvokeOnHeaderFactory.java | 32 ++++ ...l.component.atomix.client.map.AtomixMapProducer | 2 + ...atomix.client.messaging.AtomixMessagingProducer | 2 + ...t.atomix.client.multimap.AtomixMultiMapProducer | 2 + ...mponent.atomix.client.queue.AtomixQueueProducer | 2 + ...l.component.atomix.client.set.AtomixSetProducer | 2 + ...mponent.atomix.client.value.AtomixValueProducer | 2 + .../atomix/AtomixAsyncMessageProcessor.java | 8 +- .../client/AbstractAtomixClientProducer.java | 51 +------ ...CaffeineCacheProducerInvokeOnHeaderFactory.java | 38 +++++ ...eineLoadCacheProducerInvokeOnHeaderFactory.java | 38 +++++ ....component.caffeine.cache.CaffeineCacheProducer | 2 + ...mponent.caffeine.load.CaffeineLoadCacheProducer | 2 + ...ConsulCatalogProducerInvokeOnHeaderFactory.java | 38 +++++ ...ulCoordinatesProducerInvokeOnHeaderFactory.java | 28 ++++ .../ConsulEventProducerInvokeOnHeaderFactory.java | 28 ++++ .../ConsulHealthProducerInvokeOnHeaderFactory.java | 32 ++++ ...onsulKeyValueProducerInvokeOnHeaderFactory.java | 42 ++++++ ...PreparedQueryProducerInvokeOnHeaderFactory.java | 30 ++++ ...ConsulSessionProducerInvokeOnHeaderFactory.java | 34 +++++ ...component.consul.endpoint.ConsulCatalogProducer | 2 + ...onent.consul.endpoint.ConsulCoordinatesProducer | 2 + ...l.component.consul.endpoint.ConsulEventProducer | 2 + ....component.consul.endpoint.ConsulHealthProducer | 2 + ...omponent.consul.endpoint.ConsulKeyValueProducer | 2 + ...ent.consul.endpoint.ConsulPreparedQueryProducer | 2 + ...component.consul.endpoint.ConsulSessionProducer | 2 + .../corda/CordaProducerInvokeOnHeaderFactory.java | 100 ++++++++++++ .../org.apache.camel.component.corda.CordaProducer | 2 + .../EhcacheProducerInvokeOnHeaderFactory.java | 42 ++++++ ....apache.camel.component.ehcache.EhcacheProducer | 2 + ...spanEmbeddedProducerInvokeOnHeaderFactory.java} | 11 +- ....infinispan.embedded.InfinispanEmbeddedProducer | 2 + ...inispanRemoteProducerInvokeOnHeaderFactory.java | 3 +- .../web3j/Web3jProducerInvokeOnHeaderFactory.java | 168 +++++++++++++++++++++ .../org.apache.camel.component.web3j.Web3jProducer | 2 + .../java/org/apache/camel/spi/InvokeOnHeader.java | 11 ++ .../apache/camel/spi/InvokeOnHeaderStrategy.java | 4 +- .../camel/support/HeaderSelectorProducer.java | 2 + .../packaging/GenerateInvokeOnHeaderMojo.java | 21 ++- 45 files changed, 932 insertions(+), 61 deletions(-) diff --git a/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/map/AtomixMapProducerInvokeOnHeaderFactory.java b/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/map/AtomixMapProducerInvokeOnHeaderFactory.java new file mode 100644 index 0000000..2b4beca --- /dev/null +++ b/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/map/AtomixMapProducerInvokeOnHeaderFactory.java @@ -0,0 +1,48 @@ +/* Generated by camel build tools - do NOT edit this file! */ +package org.apache.camel.component.atomix.client.map; + +import org.apache.camel.AsyncCallback; +import org.apache.camel.Exchange; +import org.apache.camel.spi.InvokeOnHeaderStrategy; +import org.apache.camel.component.atomix.client.map.AtomixMapProducer; + +/** + * Generated by camel build tools - do NOT edit this file! + */ +@SuppressWarnings("unchecked") +public class AtomixMapProducerInvokeOnHeaderFactory implements InvokeOnHeaderStrategy { + + @Override + public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception { + org.apache.camel.component.atomix.client.map.AtomixMapProducer target = (org.apache.camel.component.atomix.client.map.AtomixMapProducer) obj; + switch (key) { + case "size": + case "SIZE": return target.onSize(exchange.getMessage(), callback); + case "entry_set": + case "ENTRY_SET": return target.onEntrySet(exchange.getMessage(), callback); + case "replace": + case "REPLACE": return target.onReplace(exchange.getMessage(), callback); + case "remove": + case "REMOVE": return target.onRemove(exchange.getMessage(), callback); + case "get": + case "GET": return target.onGet(exchange.getMessage(), callback); + case "put": + case "PUT": return target.onPut(exchange.getMessage(), callback); + case "contains_value": + case "CONTAINS_VALUE": return target.onContainsValue(exchange.getMessage(), callback); + case "values": + case "VALUES": return target.onValues(exchange.getMessage(), callback); + case "contains_key": + case "CONTAINS_KEY": return target.onContainsKey(exchange.getMessage(), callback); + case "clear": + case "CLEAR": return target.onClear(exchange.getMessage(), callback); + case "is_empty": + case "IS_EMPTY": return target.onIsEmpty(exchange.getMessage(), callback); + case "put_if_absent": + case "PUT_IF_ABSENT": return target.onPutIfAbsent(exchange.getMessage(), callback); + default: return null; + } + } + +} + diff --git a/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/messaging/AtomixMessagingProducerInvokeOnHeaderFactory.java b/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/messaging/AtomixMessagingProducerInvokeOnHeaderFactory.java new file mode 100644 index 0000000..2065291 --- /dev/null +++ b/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/messaging/AtomixMessagingProducerInvokeOnHeaderFactory.java @@ -0,0 +1,28 @@ +/* Generated by camel build tools - do NOT edit this file! */ +package org.apache.camel.component.atomix.client.messaging; + +import org.apache.camel.AsyncCallback; +import org.apache.camel.Exchange; +import org.apache.camel.spi.InvokeOnHeaderStrategy; +import org.apache.camel.component.atomix.client.messaging.AtomixMessagingProducer; + +/** + * Generated by camel build tools - do NOT edit this file! + */ +@SuppressWarnings("unchecked") +public class AtomixMessagingProducerInvokeOnHeaderFactory implements InvokeOnHeaderStrategy { + + @Override + public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception { + org.apache.camel.component.atomix.client.messaging.AtomixMessagingProducer target = (org.apache.camel.component.atomix.client.messaging.AtomixMessagingProducer) obj; + switch (key) { + case "broadcast": + case "BROADCAST": return target.onBroadcast(exchange.getMessage(), callback); + case "direct": + case "DIRECT": return target.onDirect(exchange.getMessage(), callback); + default: return null; + } + } + +} + diff --git a/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/multimap/AtomixMultiMapProducerInvokeOnHeaderFactory.java b/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/multimap/AtomixMultiMapProducerInvokeOnHeaderFactory.java new file mode 100644 index 0000000..b4d5979 --- /dev/null +++ b/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/multimap/AtomixMultiMapProducerInvokeOnHeaderFactory.java @@ -0,0 +1,40 @@ +/* Generated by camel build tools - do NOT edit this file! */ +package org.apache.camel.component.atomix.client.multimap; + +import org.apache.camel.AsyncCallback; +import org.apache.camel.Exchange; +import org.apache.camel.spi.InvokeOnHeaderStrategy; +import org.apache.camel.component.atomix.client.multimap.AtomixMultiMapProducer; + +/** + * Generated by camel build tools - do NOT edit this file! + */ +@SuppressWarnings("unchecked") +public class AtomixMultiMapProducerInvokeOnHeaderFactory implements InvokeOnHeaderStrategy { + + @Override + public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception { + org.apache.camel.component.atomix.client.multimap.AtomixMultiMapProducer target = (org.apache.camel.component.atomix.client.multimap.AtomixMultiMapProducer) obj; + switch (key) { + case "get": + case "GET": return target.onGet(exchange.getMessage(), callback); + case "remove": + case "REMOVE": return target.onRemove(exchange.getMessage(), callback); + case "is_empty": + case "IS_EMPTY": return target.onIsEmpty(exchange.getMessage(), callback); + case "contains_key": + case "CONTAINS_KEY": return target.onContainsKey(exchange.getMessage(), callback); + case "put": + case "PUT": return target.onPut(exchange.getMessage(), callback); + case "clear": + case "CLEAR": return target.onClear(exchange.getMessage(), callback); + case "size": + case "SIZE": return target.onSize(exchange.getMessage(), callback); + case "remove_value": + case "REMOVE_VALUE": return target.onRemoveValue(exchange.getMessage(), callback); + default: return null; + } + } + +} + diff --git a/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/queue/AtomixQueueProducerInvokeOnHeaderFactory.java b/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/queue/AtomixQueueProducerInvokeOnHeaderFactory.java new file mode 100644 index 0000000..be270c7 --- /dev/null +++ b/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/queue/AtomixQueueProducerInvokeOnHeaderFactory.java @@ -0,0 +1,42 @@ +/* Generated by camel build tools - do NOT edit this file! */ +package org.apache.camel.component.atomix.client.queue; + +import org.apache.camel.AsyncCallback; +import org.apache.camel.Exchange; +import org.apache.camel.spi.InvokeOnHeaderStrategy; +import org.apache.camel.component.atomix.client.queue.AtomixQueueProducer; + +/** + * Generated by camel build tools - do NOT edit this file! + */ +@SuppressWarnings("unchecked") +public class AtomixQueueProducerInvokeOnHeaderFactory implements InvokeOnHeaderStrategy { + + @Override + public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception { + org.apache.camel.component.atomix.client.queue.AtomixQueueProducer target = (org.apache.camel.component.atomix.client.queue.AtomixQueueProducer) obj; + switch (key) { + case "clear": + case "CLEAR": return target.onClear(exchange.getMessage(), callback); + case "add": + case "ADD": return target.onAdd(exchange.getMessage(), callback); + case "contains": + case "CONTAINS": return target.onContains(exchange.getMessage(), callback); + case "peek": + case "PEEK": return target.onPeek(exchange.getMessage(), callback); + case "is_empty": + case "IS_EMPTY": return target.onIsEmpty(exchange.getMessage(), callback); + case "offer": + case "OFFER": return target.onOffer(exchange.getMessage(), callback); + case "poll": + case "POLL": return target.onPoll(exchange.getMessage(), callback); + case "remove": + case "REMOVE": return target.onRemove(exchange.getMessage(), callback); + case "size": + case "SIZE": return target.onSize(exchange.getMessage(), callback); + default: return null; + } + } + +} + diff --git a/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/set/AtomixSetProducerInvokeOnHeaderFactory.java b/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/set/AtomixSetProducerInvokeOnHeaderFactory.java new file mode 100644 index 0000000..fd9669e --- /dev/null +++ b/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/set/AtomixSetProducerInvokeOnHeaderFactory.java @@ -0,0 +1,36 @@ +/* Generated by camel build tools - do NOT edit this file! */ +package org.apache.camel.component.atomix.client.set; + +import org.apache.camel.AsyncCallback; +import org.apache.camel.Exchange; +import org.apache.camel.spi.InvokeOnHeaderStrategy; +import org.apache.camel.component.atomix.client.set.AtomixSetProducer; + +/** + * Generated by camel build tools - do NOT edit this file! + */ +@SuppressWarnings("unchecked") +public class AtomixSetProducerInvokeOnHeaderFactory implements InvokeOnHeaderStrategy { + + @Override + public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception { + org.apache.camel.component.atomix.client.set.AtomixSetProducer target = (org.apache.camel.component.atomix.client.set.AtomixSetProducer) obj; + switch (key) { + case "is_empty": + case "IS_EMPTY": return target.onIsEmpty(exchange.getMessage(), callback); + case "remove": + case "REMOVE": return target.onRemove(exchange.getMessage(), callback); + case "add": + case "ADD": return target.onAdd(exchange.getMessage(), callback); + case "clear": + case "CLEAR": return target.onClear(exchange.getMessage(), callback); + case "size": + case "SIZE": return target.onSize(exchange.getMessage(), callback); + case "contains": + case "CONTAINS": return target.onContains(exchange.getMessage(), callback); + default: return null; + } + } + +} + diff --git a/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/value/AtomixValueProducerInvokeOnHeaderFactory.java b/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/value/AtomixValueProducerInvokeOnHeaderFactory.java new file mode 100644 index 0000000..4ae1809 --- /dev/null +++ b/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/value/AtomixValueProducerInvokeOnHeaderFactory.java @@ -0,0 +1,32 @@ +/* Generated by camel build tools - do NOT edit this file! */ +package org.apache.camel.component.atomix.client.value; + +import org.apache.camel.AsyncCallback; +import org.apache.camel.Exchange; +import org.apache.camel.spi.InvokeOnHeaderStrategy; +import org.apache.camel.component.atomix.client.value.AtomixValueProducer; + +/** + * Generated by camel build tools - do NOT edit this file! + */ +@SuppressWarnings("unchecked") +public class AtomixValueProducerInvokeOnHeaderFactory implements InvokeOnHeaderStrategy { + + @Override + public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception { + org.apache.camel.component.atomix.client.value.AtomixValueProducer target = (org.apache.camel.component.atomix.client.value.AtomixValueProducer) obj; + switch (key) { + case "compare_and_set": + case "COMPARE_AND_SET": return target.onCompareAndSet(exchange.getMessage(), callback); + case "set": + case "SET": return target.onSet(exchange.getMessage(), callback); + case "get": + case "GET": return target.onGet(exchange.getMessage(), callback); + case "get_and_set": + case "GET_AND_SET": return target.onGetAndSet(exchange.getMessage(), callback); + default: return null; + } + } + +} + diff --git a/components/camel-atomix/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.atomix.client.map.AtomixMapProducer b/components/camel-atomix/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.atomix.client.map.AtomixMapProducer new file mode 100644 index 0000000..457bff1 --- /dev/null +++ b/components/camel-atomix/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.atomix.client.map.AtomixMapProducer @@ -0,0 +1,2 @@ +# Generated by camel build tools - do NOT edit this file! +class=org.apache.camel.component.atomix.client.map.AtomixMapProducer.AtomixMapProducerInvokeOnHeaderFactory diff --git a/components/camel-atomix/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.atomix.client.messaging.AtomixMessagingProducer b/components/camel-atomix/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.atomix.client.messaging.AtomixMessagingProducer new file mode 100644 index 0000000..ab52975 --- /dev/null +++ b/components/camel-atomix/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.atomix.client.messaging.AtomixMessagingProducer @@ -0,0 +1,2 @@ +# Generated by camel build tools - do NOT edit this file! +class=org.apache.camel.component.atomix.client.messaging.AtomixMessagingProducer.AtomixMessagingProducerInvokeOnHeaderFactory diff --git a/components/camel-atomix/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.atomix.client.multimap.AtomixMultiMapProducer b/components/camel-atomix/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.atomix.client.multimap.AtomixMultiMapProducer new file mode 100644 index 0000000..0ffdfe3 --- /dev/null +++ b/components/camel-atomix/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.atomix.client.multimap.AtomixMultiMapProducer @@ -0,0 +1,2 @@ +# Generated by camel build tools - do NOT edit this file! +class=org.apache.camel.component.atomix.client.multimap.AtomixMultiMapProducer.AtomixMultiMapProducerInvokeOnHeaderFactory diff --git a/components/camel-atomix/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.atomix.client.queue.AtomixQueueProducer b/components/camel-atomix/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.atomix.client.queue.AtomixQueueProducer new file mode 100644 index 0000000..4c242db --- /dev/null +++ b/components/camel-atomix/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.atomix.client.queue.AtomixQueueProducer @@ -0,0 +1,2 @@ +# Generated by camel build tools - do NOT edit this file! +class=org.apache.camel.component.atomix.client.queue.AtomixQueueProducer.AtomixQueueProducerInvokeOnHeaderFactory diff --git a/components/camel-atomix/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.atomix.client.set.AtomixSetProducer b/components/camel-atomix/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.atomix.client.set.AtomixSetProducer new file mode 100644 index 0000000..0c00cc8 --- /dev/null +++ b/components/camel-atomix/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.atomix.client.set.AtomixSetProducer @@ -0,0 +1,2 @@ +# Generated by camel build tools - do NOT edit this file! +class=org.apache.camel.component.atomix.client.set.AtomixSetProducer.AtomixSetProducerInvokeOnHeaderFactory diff --git a/components/camel-atomix/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.atomix.client.value.AtomixValueProducer b/components/camel-atomix/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.atomix.client.value.AtomixValueProducer new file mode 100644 index 0000000..0bbabf2 --- /dev/null +++ b/components/camel-atomix/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.atomix.client.value.AtomixValueProducer @@ -0,0 +1,2 @@ +# Generated by camel build tools - do NOT edit this file! +class=org.apache.camel.component.atomix.client.value.AtomixValueProducer.AtomixValueProducerInvokeOnHeaderFactory diff --git a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/AtomixAsyncMessageProcessor.java b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/AtomixAsyncMessageProcessor.java index 3d25a9e..246ad32 100644 --- a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/AtomixAsyncMessageProcessor.java +++ b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/AtomixAsyncMessageProcessor.java @@ -21,11 +21,7 @@ import org.apache.camel.Message; @FunctionalInterface public interface AtomixAsyncMessageProcessor { - /** - * @param message - * @param callback - * @return - * @throws Exception - */ + boolean process(Message message, AsyncCallback callback) throws Exception; + } diff --git a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/AbstractAtomixClientProducer.java b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/AbstractAtomixClientProducer.java index f11ada9..cfdfa42 100644 --- a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/AbstractAtomixClientProducer.java +++ b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/AbstractAtomixClientProducer.java @@ -16,7 +16,6 @@ */ package org.apache.camel.component.atomix.client; -import java.lang.reflect.Method; import java.util.HashMap; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @@ -26,9 +25,7 @@ import io.atomix.resource.Resource; import org.apache.camel.AsyncCallback; import org.apache.camel.Exchange; import org.apache.camel.Message; -import org.apache.camel.RuntimeCamelException; import org.apache.camel.component.atomix.AtomixAsyncMessageProcessor; -import org.apache.camel.spi.InvokeOnHeader; import org.apache.camel.support.DefaultAsyncProducer; import org.apache.camel.util.ObjectHelper; import org.slf4j.Logger; @@ -36,7 +33,6 @@ import org.slf4j.LoggerFactory; import static org.apache.camel.component.atomix.client.AtomixClientConstants.RESOURCE_ACTION_HAS_RESULT; import static org.apache.camel.component.atomix.client.AtomixClientConstants.RESOURCE_NAME; -import static org.apache.camel.support.ObjectHelper.invokeMethodSafe; public abstract class AbstractAtomixClientProducer<E extends AbstractAtomixClientEndpoint, R extends Resource> extends DefaultAsyncProducer { @@ -54,20 +50,6 @@ public abstract class AbstractAtomixClientProducer<E extends AbstractAtomixClien } @Override - protected void doInit() throws Exception { - for (final Method method : getClass().getDeclaredMethods()) { - InvokeOnHeader[] annotations = method.getAnnotationsByType(InvokeOnHeader.class); - if (annotations != null && annotations.length > 0) { - for (InvokeOnHeader annotation : annotations) { - bind(annotation, method); - } - } - } - - super.doInit(); - } - - @Override public boolean process(Exchange exchange, AsyncCallback callback) { final Message message = exchange.getIn(); final String key = getProcessorKey(message); @@ -77,11 +59,14 @@ public abstract class AbstractAtomixClientProducer<E extends AbstractAtomixClien try { return processor.process(message, callback); } catch (Exception e) { - throw new RuntimeCamelException(e); + exchange.setException(e); } } else { - throw new RuntimeCamelException("No handler for action " + key); + exchange.setException(new IllegalArgumentException("No handler for action " + key)); } + + callback.done(true); + return true; } // ********************************** @@ -124,30 +109,4 @@ public abstract class AbstractAtomixClientProducer<E extends AbstractAtomixClien protected abstract R createResource(String name); - // ************************************ - // Binding helpers - // ************************************ - - private void bind(InvokeOnHeader annotation, final Method method) { - if (method.getParameterCount() == 2) { - - if (!Message.class.isAssignableFrom(method.getParameterTypes()[0])) { - throw new IllegalArgumentException("First argument should be of type Message"); - } - if (!AsyncCallback.class.isAssignableFrom(method.getParameterTypes()[1])) { - throw new IllegalArgumentException("Second argument should be of type AsyncCallback"); - } - - if (LOG.isDebugEnabled()) { - LOG.debug("bind key={}, class={}, method={}", - annotation.value(), this.getClass(), method.getName()); - } - - this.processors.put(annotation.value(), (m, c) -> (boolean) invokeMethodSafe(method, this, m, c)); - } else { - throw new IllegalArgumentException( - "Illegal number of parameters for method: " + method.getName() + ", required: 2, found: " - + method.getParameterCount()); - } - } } diff --git a/components/camel-caffeine/src/generated/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducerInvokeOnHeaderFactory.java b/components/camel-caffeine/src/generated/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducerInvokeOnHeaderFactory.java new file mode 100644 index 0000000..000bb11 --- /dev/null +++ b/components/camel-caffeine/src/generated/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducerInvokeOnHeaderFactory.java @@ -0,0 +1,38 @@ +/* Generated by camel build tools - do NOT edit this file! */ +package org.apache.camel.component.caffeine.cache; + +import org.apache.camel.AsyncCallback; +import org.apache.camel.Exchange; +import org.apache.camel.spi.InvokeOnHeaderStrategy; +import org.apache.camel.component.caffeine.cache.CaffeineCacheProducer; + +/** + * Generated by camel build tools - do NOT edit this file! + */ +@SuppressWarnings("unchecked") +public class CaffeineCacheProducerInvokeOnHeaderFactory implements InvokeOnHeaderStrategy { + + @Override + public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception { + org.apache.camel.component.caffeine.cache.CaffeineCacheProducer target = (org.apache.camel.component.caffeine.cache.CaffeineCacheProducer) obj; + switch (key) { + case "invalidate_all": + case "INVALIDATE_ALL": target.onInvalidateAll(exchange.getMessage()); return null; + case "put": + case "PUT": target.onPut(exchange.getMessage()); return null; + case "cleanup": + case "CLEANUP": target.onCleanUp(exchange.getMessage()); return null; + case "get": + case "GET": target.onGet(exchange.getMessage()); return null; + case "put_all": + case "PUT_ALL": target.onPutAll(exchange.getMessage()); return null; + case "get_all": + case "GET_ALL": target.onGetAll(exchange.getMessage()); return null; + case "invalidate": + case "INVALIDATE": target.onInvalidate(exchange.getMessage()); return null; + default: return null; + } + } + +} + diff --git a/components/camel-caffeine/src/generated/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducerInvokeOnHeaderFactory.java b/components/camel-caffeine/src/generated/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducerInvokeOnHeaderFactory.java new file mode 100644 index 0000000..88c8473 --- /dev/null +++ b/components/camel-caffeine/src/generated/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducerInvokeOnHeaderFactory.java @@ -0,0 +1,38 @@ +/* Generated by camel build tools - do NOT edit this file! */ +package org.apache.camel.component.caffeine.load; + +import org.apache.camel.AsyncCallback; +import org.apache.camel.Exchange; +import org.apache.camel.spi.InvokeOnHeaderStrategy; +import org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer; + +/** + * Generated by camel build tools - do NOT edit this file! + */ +@SuppressWarnings("unchecked") +public class CaffeineLoadCacheProducerInvokeOnHeaderFactory implements InvokeOnHeaderStrategy { + + @Override + public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception { + org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer target = (org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer) obj; + switch (key) { + case "get_all": + case "GET_ALL": target.onGetAll(exchange.getMessage()); return null; + case "cleanup": + case "CLEANUP": target.onCleanUp(exchange.getMessage()); return null; + case "put": + case "PUT": target.onPut(exchange.getMessage()); return null; + case "invalidate_all": + case "INVALIDATE_ALL": target.onInvalidateAll(exchange.getMessage()); return null; + case "put_all": + case "PUT_ALL": target.onPutAll(exchange.getMessage()); return null; + case "get": + case "GET": target.onGet(exchange.getMessage()); return null; + case "invalidate": + case "INVALIDATE": target.onInvalidate(exchange.getMessage()); return null; + default: return null; + } + } + +} + diff --git a/components/camel-caffeine/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.caffeine.cache.CaffeineCacheProducer b/components/camel-caffeine/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.caffeine.cache.CaffeineCacheProducer new file mode 100644 index 0000000..30a4448 --- /dev/null +++ b/components/camel-caffeine/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.caffeine.cache.CaffeineCacheProducer @@ -0,0 +1,2 @@ +# Generated by camel build tools - do NOT edit this file! +class=org.apache.camel.component.caffeine.cache.CaffeineCacheProducer.CaffeineCacheProducerInvokeOnHeaderFactory diff --git a/components/camel-caffeine/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer b/components/camel-caffeine/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer new file mode 100644 index 0000000..3cf2b9e --- /dev/null +++ b/components/camel-caffeine/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer @@ -0,0 +1,2 @@ +# Generated by camel build tools - do NOT edit this file! +class=org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer.CaffeineLoadCacheProducerInvokeOnHeaderFactory diff --git a/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulCatalogProducerInvokeOnHeaderFactory.java b/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulCatalogProducerInvokeOnHeaderFactory.java new file mode 100644 index 0000000..d5821d2 --- /dev/null +++ b/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulCatalogProducerInvokeOnHeaderFactory.java @@ -0,0 +1,38 @@ +/* Generated by camel build tools - do NOT edit this file! */ +package org.apache.camel.component.consul.endpoint; + +import org.apache.camel.AsyncCallback; +import org.apache.camel.Exchange; +import org.apache.camel.spi.InvokeOnHeaderStrategy; +import org.apache.camel.component.consul.endpoint.ConsulCatalogProducer; + +/** + * Generated by camel build tools - do NOT edit this file! + */ +@SuppressWarnings("unchecked") +public class ConsulCatalogProducerInvokeOnHeaderFactory implements InvokeOnHeaderStrategy { + + @Override + public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception { + org.apache.camel.component.consul.endpoint.ConsulCatalogProducer target = (org.apache.camel.component.consul.endpoint.ConsulCatalogProducer) obj; + switch (key) { + case "get_service": + case "GET_SERVICE": target.getService(exchange.getMessage()); return null; + case "get_node": + case "GET_NODE": target.getNode(exchange.getMessage()); return null; + case "list_datacenters": + case "LIST_DATACENTERS": target.listDatacenters(exchange.getMessage()); return null; + case "list_nodes": + case "LIST_NODES": target.listNodes(exchange.getMessage()); return null; + case "register": + case "REGISTER": target.register(exchange.getMessage()); return null; + case "deregister": + case "DEREGISTER": target.deregister(exchange.getMessage()); return null; + case "list_services": + case "LIST_SERVICES": target.listServices(exchange.getMessage()); return null; + default: return null; + } + } + +} + diff --git a/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulCoordinatesProducerInvokeOnHeaderFactory.java b/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulCoordinatesProducerInvokeOnHeaderFactory.java new file mode 100644 index 0000000..4bac375 --- /dev/null +++ b/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulCoordinatesProducerInvokeOnHeaderFactory.java @@ -0,0 +1,28 @@ +/* Generated by camel build tools - do NOT edit this file! */ +package org.apache.camel.component.consul.endpoint; + +import org.apache.camel.AsyncCallback; +import org.apache.camel.Exchange; +import org.apache.camel.spi.InvokeOnHeaderStrategy; +import org.apache.camel.component.consul.endpoint.ConsulCoordinatesProducer; + +/** + * Generated by camel build tools - do NOT edit this file! + */ +@SuppressWarnings("unchecked") +public class ConsulCoordinatesProducerInvokeOnHeaderFactory implements InvokeOnHeaderStrategy { + + @Override + public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception { + org.apache.camel.component.consul.endpoint.ConsulCoordinatesProducer target = (org.apache.camel.component.consul.endpoint.ConsulCoordinatesProducer) obj; + switch (key) { + case "nodes": + case "NODES": target.nodes(exchange.getMessage()); return null; + case "datacenters": + case "DATACENTERS": target.datacenters(exchange.getMessage()); return null; + default: return null; + } + } + +} + diff --git a/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulEventProducerInvokeOnHeaderFactory.java b/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulEventProducerInvokeOnHeaderFactory.java new file mode 100644 index 0000000..04d6159 --- /dev/null +++ b/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulEventProducerInvokeOnHeaderFactory.java @@ -0,0 +1,28 @@ +/* Generated by camel build tools - do NOT edit this file! */ +package org.apache.camel.component.consul.endpoint; + +import org.apache.camel.AsyncCallback; +import org.apache.camel.Exchange; +import org.apache.camel.spi.InvokeOnHeaderStrategy; +import org.apache.camel.component.consul.endpoint.ConsulEventProducer; + +/** + * Generated by camel build tools - do NOT edit this file! + */ +@SuppressWarnings("unchecked") +public class ConsulEventProducerInvokeOnHeaderFactory implements InvokeOnHeaderStrategy { + + @Override + public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception { + org.apache.camel.component.consul.endpoint.ConsulEventProducer target = (org.apache.camel.component.consul.endpoint.ConsulEventProducer) obj; + switch (key) { + case "fire": + case "FIRE": target.fire(exchange.getMessage()); return null; + case "list": + case "LIST": target.list(exchange.getMessage()); return null; + default: return null; + } + } + +} + diff --git a/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulHealthProducerInvokeOnHeaderFactory.java b/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulHealthProducerInvokeOnHeaderFactory.java new file mode 100644 index 0000000..8b65e37 --- /dev/null +++ b/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulHealthProducerInvokeOnHeaderFactory.java @@ -0,0 +1,32 @@ +/* Generated by camel build tools - do NOT edit this file! */ +package org.apache.camel.component.consul.endpoint; + +import org.apache.camel.AsyncCallback; +import org.apache.camel.Exchange; +import org.apache.camel.spi.InvokeOnHeaderStrategy; +import org.apache.camel.component.consul.endpoint.ConsulHealthProducer; + +/** + * Generated by camel build tools - do NOT edit this file! + */ +@SuppressWarnings("unchecked") +public class ConsulHealthProducerInvokeOnHeaderFactory implements InvokeOnHeaderStrategy { + + @Override + public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception { + org.apache.camel.component.consul.endpoint.ConsulHealthProducer target = (org.apache.camel.component.consul.endpoint.ConsulHealthProducer) obj; + switch (key) { + case "node_checks": + case "NODE_CHECKS": target.nodeChecks(exchange.getMessage()); return null; + case "checks": + case "CHECKS": target.checks(exchange.getMessage()); return null; + case "service_checks": + case "SERVICE_CHECKS": target.serviceChecks(exchange.getMessage()); return null; + case "service_instances": + case "SERVICE_INSTANCES": target.serviceInstances(exchange.getMessage()); return null; + default: return null; + } + } + +} + diff --git a/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulKeyValueProducerInvokeOnHeaderFactory.java b/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulKeyValueProducerInvokeOnHeaderFactory.java new file mode 100644 index 0000000..7f5a8dd --- /dev/null +++ b/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulKeyValueProducerInvokeOnHeaderFactory.java @@ -0,0 +1,42 @@ +/* Generated by camel build tools - do NOT edit this file! */ +package org.apache.camel.component.consul.endpoint; + +import org.apache.camel.AsyncCallback; +import org.apache.camel.Exchange; +import org.apache.camel.spi.InvokeOnHeaderStrategy; +import org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer; + +/** + * Generated by camel build tools - do NOT edit this file! + */ +@SuppressWarnings("unchecked") +public class ConsulKeyValueProducerInvokeOnHeaderFactory implements InvokeOnHeaderStrategy { + + @Override + public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception { + org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer target = (org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer) obj; + switch (key) { + case "get_sessions": + case "GET_SESSIONS": target.getSessions(exchange.getMessage()); return null; + case "lock": + case "LOCK": target.lock(exchange.getMessage()); return null; + case "delete_key": + case "DELETE_KEY": target.deleteKey(exchange.getMessage()); return null; + case "get_value": + case "GET_VALUE": target.getValue(exchange.getMessage()); return null; + case "delete_keys": + case "DELETE_KEYS": target.deleteKeys(exchange.getMessage()); return null; + case "get_values": + case "GET_VALUES": target.getValues(exchange.getMessage()); return null; + case "put": + case "PUT": target.put(exchange.getMessage()); return null; + case "get_keys": + case "GET_KEYS": target.getKeys(exchange.getMessage()); return null; + case "unlock": + case "UNLOCK": target.unlock(exchange.getMessage()); return null; + default: return null; + } + } + +} + diff --git a/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulPreparedQueryProducerInvokeOnHeaderFactory.java b/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulPreparedQueryProducerInvokeOnHeaderFactory.java new file mode 100644 index 0000000..cb374cb --- /dev/null +++ b/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulPreparedQueryProducerInvokeOnHeaderFactory.java @@ -0,0 +1,30 @@ +/* Generated by camel build tools - do NOT edit this file! */ +package org.apache.camel.component.consul.endpoint; + +import org.apache.camel.AsyncCallback; +import org.apache.camel.Exchange; +import org.apache.camel.spi.InvokeOnHeaderStrategy; +import org.apache.camel.component.consul.endpoint.ConsulPreparedQueryProducer; + +/** + * Generated by camel build tools - do NOT edit this file! + */ +@SuppressWarnings("unchecked") +public class ConsulPreparedQueryProducerInvokeOnHeaderFactory implements InvokeOnHeaderStrategy { + + @Override + public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception { + org.apache.camel.component.consul.endpoint.ConsulPreparedQueryProducer target = (org.apache.camel.component.consul.endpoint.ConsulPreparedQueryProducer) obj; + switch (key) { + case "get": + case "GET": target.get(exchange.getMessage()); return null; + case "execute": + case "EXECUTE": target.execute(exchange.getMessage()); return null; + case "create": + case "CREATE": target.create(exchange.getMessage()); return null; + default: return null; + } + } + +} + diff --git a/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulSessionProducerInvokeOnHeaderFactory.java b/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulSessionProducerInvokeOnHeaderFactory.java new file mode 100644 index 0000000..05617e0 --- /dev/null +++ b/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulSessionProducerInvokeOnHeaderFactory.java @@ -0,0 +1,34 @@ +/* Generated by camel build tools - do NOT edit this file! */ +package org.apache.camel.component.consul.endpoint; + +import org.apache.camel.AsyncCallback; +import org.apache.camel.Exchange; +import org.apache.camel.spi.InvokeOnHeaderStrategy; +import org.apache.camel.component.consul.endpoint.ConsulSessionProducer; + +/** + * Generated by camel build tools - do NOT edit this file! + */ +@SuppressWarnings("unchecked") +public class ConsulSessionProducerInvokeOnHeaderFactory implements InvokeOnHeaderStrategy { + + @Override + public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception { + org.apache.camel.component.consul.endpoint.ConsulSessionProducer target = (org.apache.camel.component.consul.endpoint.ConsulSessionProducer) obj; + switch (key) { + case "info": + case "INFO": target.info(exchange.getMessage()); return null; + case "create": + case "CREATE": target.create(exchange.getMessage()); return null; + case "renew": + case "RENEW": target.renew(exchange.getMessage()); return null; + case "list": + case "LIST": target.list(exchange.getMessage()); return null; + case "destroy": + case "DESTROY": target.destroy(exchange.getMessage()); return null; + default: return null; + } + } + +} + diff --git a/components/camel-consul/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.consul.endpoint.ConsulCatalogProducer b/components/camel-consul/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.consul.endpoint.ConsulCatalogProducer new file mode 100644 index 0000000..27ce6b7 --- /dev/null +++ b/components/camel-consul/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.consul.endpoint.ConsulCatalogProducer @@ -0,0 +1,2 @@ +# Generated by camel build tools - do NOT edit this file! +class=org.apache.camel.component.consul.endpoint.ConsulCatalogProducer.ConsulCatalogProducerInvokeOnHeaderFactory diff --git a/components/camel-consul/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.consul.endpoint.ConsulCoordinatesProducer b/components/camel-consul/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.consul.endpoint.ConsulCoordinatesProducer new file mode 100644 index 0000000..d1906cb --- /dev/null +++ b/components/camel-consul/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.consul.endpoint.ConsulCoordinatesProducer @@ -0,0 +1,2 @@ +# Generated by camel build tools - do NOT edit this file! +class=org.apache.camel.component.consul.endpoint.ConsulCoordinatesProducer.ConsulCoordinatesProducerInvokeOnHeaderFactory diff --git a/components/camel-consul/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.consul.endpoint.ConsulEventProducer b/components/camel-consul/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.consul.endpoint.ConsulEventProducer new file mode 100644 index 0000000..a46e21e --- /dev/null +++ b/components/camel-consul/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.consul.endpoint.ConsulEventProducer @@ -0,0 +1,2 @@ +# Generated by camel build tools - do NOT edit this file! +class=org.apache.camel.component.consul.endpoint.ConsulEventProducer.ConsulEventProducerInvokeOnHeaderFactory diff --git a/components/camel-consul/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.consul.endpoint.ConsulHealthProducer b/components/camel-consul/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.consul.endpoint.ConsulHealthProducer new file mode 100644 index 0000000..ddd4593 --- /dev/null +++ b/components/camel-consul/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.consul.endpoint.ConsulHealthProducer @@ -0,0 +1,2 @@ +# Generated by camel build tools - do NOT edit this file! +class=org.apache.camel.component.consul.endpoint.ConsulHealthProducer.ConsulHealthProducerInvokeOnHeaderFactory diff --git a/components/camel-consul/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer b/components/camel-consul/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer new file mode 100644 index 0000000..d1464a5 --- /dev/null +++ b/components/camel-consul/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer @@ -0,0 +1,2 @@ +# Generated by camel build tools - do NOT edit this file! +class=org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer.ConsulKeyValueProducerInvokeOnHeaderFactory diff --git a/components/camel-consul/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.consul.endpoint.ConsulPreparedQueryProducer b/components/camel-consul/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.consul.endpoint.ConsulPreparedQueryProducer new file mode 100644 index 0000000..be8e52b --- /dev/null +++ b/components/camel-consul/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.consul.endpoint.ConsulPreparedQueryProducer @@ -0,0 +1,2 @@ +# Generated by camel build tools - do NOT edit this file! +class=org.apache.camel.component.consul.endpoint.ConsulPreparedQueryProducer.ConsulPreparedQueryProducerInvokeOnHeaderFactory diff --git a/components/camel-consul/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.consul.endpoint.ConsulSessionProducer b/components/camel-consul/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.consul.endpoint.ConsulSessionProducer new file mode 100644 index 0000000..ab8e68b --- /dev/null +++ b/components/camel-consul/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.consul.endpoint.ConsulSessionProducer @@ -0,0 +1,2 @@ +# Generated by camel build tools - do NOT edit this file! +class=org.apache.camel.component.consul.endpoint.ConsulSessionProducer.ConsulSessionProducerInvokeOnHeaderFactory diff --git a/components/camel-corda/src/generated/java/org/apache/camel/component/corda/CordaProducerInvokeOnHeaderFactory.java b/components/camel-corda/src/generated/java/org/apache/camel/component/corda/CordaProducerInvokeOnHeaderFactory.java new file mode 100644 index 0000000..57575e8 --- /dev/null +++ b/components/camel-corda/src/generated/java/org/apache/camel/component/corda/CordaProducerInvokeOnHeaderFactory.java @@ -0,0 +1,100 @@ +/* Generated by camel build tools - do NOT edit this file! */ +package org.apache.camel.component.corda; + +import org.apache.camel.AsyncCallback; +import org.apache.camel.Exchange; +import org.apache.camel.spi.InvokeOnHeaderStrategy; +import org.apache.camel.component.corda.CordaProducer; + +/** + * Generated by camel build tools - do NOT edit this file! + */ +@SuppressWarnings("unchecked") +public class CordaProducerInvokeOnHeaderFactory implements InvokeOnHeaderStrategy { + + @Override + public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception { + org.apache.camel.component.corda.CordaProducer target = (org.apache.camel.component.corda.CordaProducer) obj; + switch (key) { + case "accept_newnetwork_parameters": + case "ACCEPT_NEWNETWORK_PARAMETERS": target.acceptNewNetworkParameters(exchange.getMessage()); return null; + case "network_map_snapshot": + case "NETWORK_MAP_SNAPSHOT": target.networkMapSnapshot(exchange.getMessage()); return null; + case "parties_from_key": + case "PARTIES_FROM_KEY": target.partyFromKey(exchange.getMessage()); return null; + case "get_protocol_version": + case "GET_PROTOCOL_VERSION": target.getProtocolVersion(exchange.getMessage()); return null; + case "parties_from_name": + case "PARTIES_FROM_NAME": target.partiesFromName(exchange.getMessage()); return null; + case "node_info": + case "NODE_INFO": target.nodeInfo(exchange.getMessage()); return null; + case "notary_party_from_x500_name": + case "NOTARY_PARTY_FROM_X500_NAME": target.notaryPartyFromX500Name(exchange.getMessage()); return null; + case "start_flow_dynamic": + case "START_FLOW_DYNAMIC": target.startFlowDynamic(exchange.getMessage()); return null; + case "terminate": + case "TERMINATE": target.terminate(exchange.getMessage()); return null; + case "attachment_exists": + case "ATTACHMENT_EXISTS": target.attachmentExists(exchange.getMessage()); return null; + case "node_info_from_party": + case "NODE_INFO_FROM_PARTY": target.nodeInfoFromParty(exchange.getMessage()); return null; + case "registered_flows": + case "REGISTERED_FLOWS": target.registeredFlows(exchange.getMessage()); return null; + case "well_known_party_from_anonymous": + case "WELL_KNOWN_PARTY_FROM_ANONYMOUS": target.wellKnownPartyFromAnonymous(exchange.getMessage()); return null; + case "vault_query": + case "VAULT_QUERY": target.vaultQuery(exchange.getMessage()); return null; + case "upload_attachment": + case "UPLOAD_ATTACHMENT": target.uploadAttachment(exchange.getMessage()); return null; + case "set_flows_draining_mode_enabled": + case "SET_FLOWS_DRAINING_MODE_ENABLED": target.setFlowsDrainingModeEnabled(exchange.getMessage()); return null; + case "vault_query_by_criteria": + case "VAULT_QUERY_BY_CRITERIA": target.vaultQueryByCriteria(exchange.getMessage()); return null; + case "open_attachment": + case "OPEN_ATTACHMENT": target.openAttachment(exchange.getMessage()); return null; + case "state_machine_recorded_transaction_mapping_snapshot": + case "STATE_MACHINE_RECORDED_TRANSACTION_MAPPING_SNAPSHOT": target.stateMachineRecordedTransactionMappingSnapshot(exchange.getMessage()); return null; + case "get_vault_transaction_notes": + case "GET_VAULT_TRANSACTION_NOTES": target.getVaultTransactionNotes(exchange.getMessage()); return null; + case "kill_flow": + case "KILL_FLOW": target.killFlow(exchange.getMessage()); return null; + case "clear_network_map_cache": + case "CLEAR_NETWORK_MAP_CACHE": target.clearNetworkMapCache(exchange.getMessage()); return null; + case "is_flows_draining_mode_enabled": + case "IS_FLOWS_DRAINING_MODE_ENABLED": target.isFlowsDrainingModeEnabled(exchange.getMessage()); return null; + case "add_vault_transaction_note": + case "ADD_VAULT_TRANSACTION_NOTE": target.addVaultTransactionNote(exchange.getMessage()); return null; + case "is_waiting_for_shutdown": + case "IS_WAITING_FOR_SHUTDOWN": target.isWaitingForShutdown(exchange.getMessage()); return null; + case "network_parameters_feed": + case "NETWORK_PARAMETERS_FEED": target.networkParametersFeed(exchange.getMessage()); return null; + case "refresh_network_map_cache": + case "REFRESH_NETWORK_MAP_CACHE": target.refreshNetworkMapCache(exchange.getMessage()); return null; + case "state_machine_snapshot": + case "STATE_MACHINE_SNAPSHOT": target.stateMachinesSnapshot(exchange.getMessage()); return null; + case "query_attachments": + case "QUERY_ATTACHMENTS": target.queryAttachments(exchange.getMessage()); return null; + case "vault_query_by": + case "VAULT_QUERY_BY": target.vaultQueryBy(exchange.getMessage()); return null; + case "wait_until_network_ready": + case "WAIT_UNTIL_NETWORK_READY": target.waitUntilNetworkReady(exchange.getMessage()); return null; + case "shutdown": + case "SHUTDOWN": target.shutdown(exchange.getMessage()); return null; + case "upload_attachment_with_meta_data": + case "UPLOAD_ATTACHMENT_WITH_META_DATA": target.uploadAttachmentWithMetadata(exchange.getMessage()); return null; + case "vault_query_by_with_paging_spec": + case "VAULT_QUERY_BY_WITH_PAGING_SPEC": target.vaultQueryByWithPagingSpec(exchange.getMessage()); return null; + case "vault_query_by_with_sorting": + case "VAULT_QUERY_BY_WITH_SORTING": target.vaultQueryByWithSorting(exchange.getMessage()); return null; + case "current_node_time": + case "CURRENT_NODE_TIME": target.currentNodeTime(exchange.getMessage()); return null; + case "well_known_party_from_x500_name": + case "WELL_KNOWN_PARTY_FROM_X500_NAME": target.wellKnownPartyFromX500Name(exchange.getMessage()); return null; + case "notary_identities": + case "NOTARY_IDENTITIES": target.notaryIdentities(exchange.getMessage()); return null; + default: return null; + } + } + +} + diff --git a/components/camel-corda/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.corda.CordaProducer b/components/camel-corda/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.corda.CordaProducer new file mode 100644 index 0000000..2197873 --- /dev/null +++ b/components/camel-corda/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.corda.CordaProducer @@ -0,0 +1,2 @@ +# Generated by camel build tools - do NOT edit this file! +class=org.apache.camel.component.corda.CordaProducer.CordaProducerInvokeOnHeaderFactory diff --git a/components/camel-ehcache/src/generated/java/org/apache/camel/component/ehcache/EhcacheProducerInvokeOnHeaderFactory.java b/components/camel-ehcache/src/generated/java/org/apache/camel/component/ehcache/EhcacheProducerInvokeOnHeaderFactory.java new file mode 100644 index 0000000..3f42f53 --- /dev/null +++ b/components/camel-ehcache/src/generated/java/org/apache/camel/component/ehcache/EhcacheProducerInvokeOnHeaderFactory.java @@ -0,0 +1,42 @@ +/* Generated by camel build tools - do NOT edit this file! */ +package org.apache.camel.component.ehcache; + +import org.apache.camel.AsyncCallback; +import org.apache.camel.Exchange; +import org.apache.camel.spi.InvokeOnHeaderStrategy; +import org.apache.camel.component.ehcache.EhcacheProducer; + +/** + * Generated by camel build tools - do NOT edit this file! + */ +@SuppressWarnings("unchecked") +public class EhcacheProducerInvokeOnHeaderFactory implements InvokeOnHeaderStrategy { + + @Override + public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception { + org.apache.camel.component.ehcache.EhcacheProducer target = (org.apache.camel.component.ehcache.EhcacheProducer) obj; + switch (key) { + case "get_all": + case "GET_ALL": target.onGetAll(exchange.getMessage()); return null; + case "clear": + case "CLEAR": target.onClear(exchange.getMessage()); return null; + case "put_if_absent": + case "PUT_IF_ABSENT": target.onPutIfAbsent(exchange.getMessage()); return null; + case "remove": + case "REMOVE": target.onRemove(exchange.getMessage()); return null; + case "get": + case "GET": target.onGet(exchange.getMessage()); return null; + case "put": + case "PUT": target.onPut(exchange.getMessage()); return null; + case "put_all": + case "PUT_ALL": target.onPutAll(exchange.getMessage()); return null; + case "remove_all": + case "REMOVE_ALL": target.onRemoveAll(exchange.getMessage()); return null; + case "replace": + case "REPLACE": target.onReplace(exchange.getMessage()); return null; + default: return null; + } + } + +} + diff --git a/components/camel-ehcache/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.ehcache.EhcacheProducer b/components/camel-ehcache/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.ehcache.EhcacheProducer new file mode 100644 index 0000000..54a6d20 --- /dev/null +++ b/components/camel-ehcache/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.ehcache.EhcacheProducer @@ -0,0 +1,2 @@ +# Generated by camel build tools - do NOT edit this file! +class=org.apache.camel.component.ehcache.EhcacheProducer.EhcacheProducerInvokeOnHeaderFactory diff --git a/components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteProducerInvokeOnHeaderFactory.java b/components/camel-infinispan/camel-infinispan-embedded/src/generated/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedProducerInvokeOnHeaderFactory.java similarity index 54% copy from components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteProducerInvokeOnHeaderFactory.java copy to components/camel-infinispan/camel-infinispan-embedded/src/generated/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedProducerInvokeOnHeaderFactory.java index ff5b63b..87f0538 100644 --- a/components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteProducerInvokeOnHeaderFactory.java +++ b/components/camel-infinispan/camel-infinispan-embedded/src/generated/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedProducerInvokeOnHeaderFactory.java @@ -1,19 +1,20 @@ /* Generated by camel build tools - do NOT edit this file! */ -package org.apache.camel.component.infinispan.remote; +package org.apache.camel.component.infinispan.embedded; +import org.apache.camel.AsyncCallback; import org.apache.camel.Exchange; import org.apache.camel.spi.InvokeOnHeaderStrategy; -import org.apache.camel.component.infinispan.remote.InfinispanRemoteProducer; +import org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedProducer; /** * Generated by camel build tools - do NOT edit this file! */ @SuppressWarnings("unchecked") -public class InfinispanRemoteProducerInvokeOnHeaderFactory implements InvokeOnHeaderStrategy { +public class InfinispanEmbeddedProducerInvokeOnHeaderFactory implements InvokeOnHeaderStrategy { @Override - public Object invoke(Object obj, String key, Exchange exchange) throws Exception { - org.apache.camel.component.infinispan.remote.InfinispanRemoteProducer target = (org.apache.camel.component.infinispan.remote.InfinispanRemoteProducer) obj; + public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception { + org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedProducer target = (org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedProducer) obj; switch (key) { case "query": case "QUERY": target.onQuery(exchange.getMessage()); return null; diff --git a/components/camel-infinispan/camel-infinispan-embedded/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedProducer b/components/camel-infinispan/camel-infinispan-embedded/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedProducer new file mode 100644 index 0000000..86e7776 --- /dev/null +++ b/components/camel-infinispan/camel-infinispan-embedded/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedProducer @@ -0,0 +1,2 @@ +# Generated by camel build tools - do NOT edit this file! +class=org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedProducer.InfinispanEmbeddedProducerInvokeOnHeaderFactory diff --git a/components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteProducerInvokeOnHeaderFactory.java b/components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteProducerInvokeOnHeaderFactory.java index ff5b63b..0ddf4fb 100644 --- a/components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteProducerInvokeOnHeaderFactory.java +++ b/components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteProducerInvokeOnHeaderFactory.java @@ -1,6 +1,7 @@ /* Generated by camel build tools - do NOT edit this file! */ package org.apache.camel.component.infinispan.remote; +import org.apache.camel.AsyncCallback; import org.apache.camel.Exchange; import org.apache.camel.spi.InvokeOnHeaderStrategy; import org.apache.camel.component.infinispan.remote.InfinispanRemoteProducer; @@ -12,7 +13,7 @@ import org.apache.camel.component.infinispan.remote.InfinispanRemoteProducer; public class InfinispanRemoteProducerInvokeOnHeaderFactory implements InvokeOnHeaderStrategy { @Override - public Object invoke(Object obj, String key, Exchange exchange) throws Exception { + public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception { org.apache.camel.component.infinispan.remote.InfinispanRemoteProducer target = (org.apache.camel.component.infinispan.remote.InfinispanRemoteProducer) obj; switch (key) { case "query": diff --git a/components/camel-web3j/src/generated/java/org/apache/camel/component/web3j/Web3jProducerInvokeOnHeaderFactory.java b/components/camel-web3j/src/generated/java/org/apache/camel/component/web3j/Web3jProducerInvokeOnHeaderFactory.java new file mode 100644 index 0000000..1ee084b --- /dev/null +++ b/components/camel-web3j/src/generated/java/org/apache/camel/component/web3j/Web3jProducerInvokeOnHeaderFactory.java @@ -0,0 +1,168 @@ +/* Generated by camel build tools - do NOT edit this file! */ +package org.apache.camel.component.web3j; + +import org.apache.camel.AsyncCallback; +import org.apache.camel.Exchange; +import org.apache.camel.spi.InvokeOnHeaderStrategy; +import org.apache.camel.component.web3j.Web3jProducer; + +/** + * Generated by camel build tools - do NOT edit this file! + */ +@SuppressWarnings("unchecked") +public class Web3jProducerInvokeOnHeaderFactory implements InvokeOnHeaderStrategy { + + @Override + public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception { + org.apache.camel.component.web3j.Web3jProducer target = (org.apache.camel.component.web3j.Web3jProducer) obj; + switch (key) { + case "quorum_make_block": + case "QUORUM_MAKE_BLOCK": target.quorumMakeBlock(exchange.getMessage()); return null; + case "quorum_is_block_maker": + case "QUORUM_IS_BLOCK_MAKER": target.quorumIsBlockMaker(exchange.getMessage()); return null; + case "shh_has_identity": + case "SHH_HAS_IDENTITY": target.shhHasIdentity(exchange.getMessage()); return null; + case "shh_add_to_group": + case "SHH_ADD_TO_GROUP": target.shhAddToGroup(exchange.getMessage()); return null; + case "eth_get_storage_at": + case "ETH_GET_STORAGE_AT": target.ethGetStorageAt(exchange.getMessage()); return null; + case "eth_uninstall_filter": + case "ETH_UNINSTALL_FILTER": target.ethUninstallFilter(exchange.getMessage()); return null; + case "eth_get_filter_changes": + case "ETH_GET_FILTER_CHANGES": target.ethGetFilterChanges(exchange.getMessage()); return null; + case "eth_get_logs": + case "ETH_GET_LOGS": target.ethGetLogs(exchange.getMessage()); return null; + case "net_listening": + case "NET_LISTENING": target.netListening(exchange.getMessage()); return null; + case "eth_get_transaction_by_hash": + case "ETH_GET_TRANSACTION_BY_HASH": target.ethGetTransactionByHash(exchange.getMessage()); return null; + case "shh_get_filter_changes": + case "SHH_GET_FILTER_CHANGES": target.shhGetFilterChanges(exchange.getMessage()); return null; + case "eth_hashrate": + case "ETH_HASHRATE": target.ethHashrate(exchange.getMessage()); return null; + case "eth_syncing": + case "ETH_SYNCING": target.ethSyncing(exchange.getMessage()); return null; + case "eth_get_block_transaction_count_by_hash": + case "ETH_GET_BLOCK_TRANSACTION_COUNT_BY_HASH": target.ethGetBlockTransactionCountByHash(exchange.getMessage()); return null; + case "eth_get_transaction_receipt": + case "ETH_GET_TRANSACTION_RECEIPT": target.ethGetTransactionReceipt(exchange.getMessage()); return null; + case "eth_estimate_gas": + case "ETH_ESTIMATE_GAS": target.ethEstimateGas(exchange.getMessage()); return null; + case "eth_send_transaction": + case "ETH_SEND_TRANSACTION": target.ethSendTransaction(exchange.getMessage()); return null; + case "eth_compile_lll": + case "ETH_COMPILE_LLL": target.ethCompileLLL(exchange.getMessage()); return null; + case "eth_gas_price": + case "ETH_GAS_PRICE": target.ethGasPrice(exchange.getMessage()); return null; + case "eth_submit_hashrate": + case "ETH_SUBMIT_HASHRATE": target.ethSubmitHashrate(exchange.getMessage()); return null; + case "eth_get_balance": + case "ETH_GET_BALANCE": target.ethGetBalance(exchange.getMessage()); return null; + case "eth_get_block_by_number": + case "ETH_GET_BLOCK_BY_NUMBER": target.ethGetBlockByNumber(exchange.getMessage()); return null; + case "eth_new_pending_transaction_filter": + case "ETH_NEW_PENDING_TRANSACTION_FILTER": target.ethNewPendingTransactionFilter(exchange.getMessage()); return null; + case "eth_sign": + case "ETH_SIGN": target.ethSign(exchange.getMessage()); return null; + case "quorum_pause_block_maker": + case "QUORUM_PAUSE_BLOCK_MAKER": target.quorumPauseBlockMaker(exchange.getMessage()); return null; + case "eth_block_number": + case "ETH_BLOCK_NUMBER": target.ethBlockNumber(exchange.getMessage()); return null; + case "eth_new_filter": + case "ETH_NEW_FILTER": target.ethNewFilter(exchange.getMessage()); return null; + case "web3_client_version": + case "WEB3_CLIENT_VERSION": target.web3ClientVersion(exchange.getMessage()); return null; + case "eth_new_block_filter": + case "ETH_NEW_BLOCK_FILTER": target.ethNewBlockFilter(exchange.getMessage()); return null; + case "quorum_is_voter": + case "QUORUM_IS_VOTER": target.quorumIsVoter(exchange.getMessage()); return null; + case "eth_get_block_transaction_count_by_number": + case "ETH_GET_BLOCK_TRANSACTION_COUNT_BY_NUMBER": target.ethGetBlockTransactionCountByNumber(exchange.getMessage()); return null; + case "eth_compile_solidity": + case "ETH_COMPILE_SOLIDITY": target.ethCompileSolidity(exchange.getMessage()); return null; + case "db_put_hex": + case "DB_PUT_HEX": target.dbPutHex(exchange.getMessage()); return null; + case "eth_get_code": + case "ETH_GET_CODE": target.ethGetCode(exchange.getMessage()); return null; + case "shh_version": + case "SHH_VERSION": target.shhVersion(exchange.getMessage()); return null; + case "net_peer_count": + case "NET_PEER_COUNT": target.netPeerCount(exchange.getMessage()); return null; + case "quorum_node_info": + case "QUORUM_NODE_INFO": target.quorumNodeInfo(exchange.getMessage()); return null; + case "quorum_eth_send_transaction": + case "QUORUM_ETH_SEND_TRANSACTION": target.quorumEthSendTransaction(exchange.getMessage()); return null; + case "eth_call": + case "ETH_CALL": target.ethCall(exchange.getMessage()); return null; + case "quorum_get_private_payload": + case "QUORUM_GET_PRIVATE_PAYLOAD": target.quorumGetPrivatePayload(exchange.getMessage()); return null; + case "ethprotocolversion": + case "ethProtocolVersion": target.ethProtocolVersion(exchange.getMessage()); return null; + case "eth_get_work": + case "ETH_GET_WORK": target.ethGetWork(exchange.getMessage()); return null; + case "db_get_hex": + case "DB_GET_HEX": target.dbGetHex(exchange.getMessage()); return null; + case "shh_new_group": + case "SHH_NEW_GROUP": target.shhNewGroup(exchange.getMessage()); return null; + case "web3_sha3": + case "WEB3_SHA3": target.web3Sha3(exchange.getMessage()); return null; + case "eth_get_compilers": + case "ETH_GET_COMPILERS": target.ethGetCompilers(exchange.getMessage()); return null; + case "eth_get_uncle_by_block_hash_and_index": + case "ETH_GET_UNCLE_BY_BLOCK_HASH_AND_INDEX": target.ethGetUncleByBlockHashAndIndex(exchange.getMessage()); return null; + case "eth_get_block_by_hash": + case "ETH_GET_BLOCK_BY_HASH": target.ethGetBlockByHash(exchange.getMessage()); return null; + case "quorum_resume_block_maker": + case "QUORUM_RESUME_BLOCK_MAKER": target.quorumResumeBlockMaker(exchange.getMessage()); return null; + case "eth_get_transaction_count": + case "ETH_GET_TRANSACTION_COUNT": target.ethGetTransactionCount(exchange.getMessage()); return null; + case "shh_new_identity": + case "SHH_NEW_IDENTITY": target.shhNewIdentity(exchange.getMessage()); return null; + case "quorum_canonical_hash": + case "QUORUM_CANONICAL_HASH": target.quorumCanonicalHash(exchange.getMessage()); return null; + case "shh_uninstall_filter": + case "SHH_UNINSTALL_FILTER": target.shhUninstallFilter(exchange.getMessage()); return null; + case "eth_mining": + case "ETH_MINING": target.ethMining(exchange.getMessage()); return null; + case "eth_get_uncle_count_by_block_number": + case "ETH_GET_UNCLE_COUNT_BY_BLOCK_NUMBER": target.ethGetUncleCountByBlockNumber(exchange.getMessage()); return null; + case "db_put_string": + case "DB_PUT_STRING": target.dbPutString(exchange.getMessage()); return null; + case "eth_get_filter_logs": + case "ETH_GET_FILTER_LOGS": target.ethGetFilterLogs(exchange.getMessage()); return null; + case "shh_post": + case "SHH_POST": target.shhPost(exchange.getMessage()); return null; + case "net_version": + case "NET_VERSION": target.netVersion(exchange.getMessage()); return null; + case "eth_accounts": + case "ETH_ACCOUNTS": target.ethAccounts(exchange.getMessage()); return null; + case "eth_submit_work": + case "ETH_SUBMIT_WORK": target.ethSubmitWork(exchange.getMessage()); return null; + case "eth_get_transaction_by_block_hash_and_index": + case "ETH_GET_TRANSACTION_BY_BLOCK_HASH_AND_INDEX": target.ethGetTransactionByBlockHashAndIndex(exchange.getMessage()); return null; + case "eth_get_uncle_by_block_number_and_index": + case "ETH_GET_UNCLE_BY_BLOCK_NUMBER_AND_INDEX": target.ethGetUncleByBlockNumberAndIndex(exchange.getMessage()); return null; + case "eth_compile_serpent": + case "ETH_COMPILE_SERPENT": target.ethCompileSerpent(exchange.getMessage()); return null; + case "eth_get_uncle_count_by_block_hash": + case "ETH_GET_UNCLE_COUNT_BY_BLOCK_HASH": target.ethGetUncleCountByBlockHash(exchange.getMessage()); return null; + case "db_get_string": + case "DB_GET_STRING": target.dbGetString(exchange.getMessage()); return null; + case "eth_get_transaction_by_block_number_and_index": + case "ETH_GET_TRANSACTION_BY_BLOCK_NUMBER_AND_INDEX": target.ethGetTransactionByBlockNumberAndIndex(exchange.getMessage()); return null; + case "eth_coinbase": + case "ETH_COINBASE": target.ethCoinbase(exchange.getMessage()); return null; + case "shh_new_filter": + case "SHH_NEW_FILTER": target.shhNewFilter(exchange.getMessage()); return null; + case "eth_send_raw_transaction": + case "ETH_SEND_RAW_TRANSACTION": target.ethSendRawTransaction(exchange.getMessage()); return null; + case "quorum_vote": + case "QUORUM_VOTE": target.quorumVote(exchange.getMessage()); return null; + case "shh_get_messages": + case "SHH_GET_MESSAGES": target.shhGetMessages(exchange.getMessage()); return null; + default: return null; + } + } + +} + diff --git a/components/camel-web3j/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.web3j.Web3jProducer b/components/camel-web3j/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.web3j.Web3jProducer new file mode 100644 index 0000000..4b4e03b --- /dev/null +++ b/components/camel-web3j/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.web3j.Web3jProducer @@ -0,0 +1,2 @@ +# Generated by camel build tools - do NOT edit this file! +class=org.apache.camel.component.web3j.Web3jProducer.Web3jProducerInvokeOnHeaderFactory diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/InvokeOnHeader.java b/core/camel-api/src/main/java/org/apache/camel/spi/InvokeOnHeader.java index 3a3441c..fc0e977 100644 --- a/core/camel-api/src/main/java/org/apache/camel/spi/InvokeOnHeader.java +++ b/core/camel-api/src/main/java/org/apache/camel/spi/InvokeOnHeader.java @@ -21,11 +21,22 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import org.apache.camel.AsyncCallback; import org.apache.camel.Message; /** * Marks a method as being invoked for a specific header value. * <p/> + * The method must have either of the following method signatures: + * <pre> + * void theMethodName(Message message) throws Exception; + * Object theMethodName(Message message) throws Exception; + * boolean theMethodName(Message message, AsyncCallback callback) throws Exception; + * </pre> + * If the method includes the {@link AsyncCallback} type, then the return value must be boolean, + * as part of the async callback contract. + * Throwing exceptions is optional and can be omitted. + * <p/> * This can be used by Component implementations that uses org.apache.camel.support.HeaderSelectorProducer. * * @see Message#getHeader(String) diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/InvokeOnHeaderStrategy.java b/core/camel-api/src/main/java/org/apache/camel/spi/InvokeOnHeaderStrategy.java index 57edc45..83f6b8d 100644 --- a/core/camel-api/src/main/java/org/apache/camel/spi/InvokeOnHeaderStrategy.java +++ b/core/camel-api/src/main/java/org/apache/camel/spi/InvokeOnHeaderStrategy.java @@ -16,6 +16,7 @@ */ package org.apache.camel.spi; +import org.apache.camel.AsyncCallback; import org.apache.camel.Exchange; /** @@ -31,8 +32,9 @@ public interface InvokeOnHeaderStrategy { * @param target the target such as HeaderSelectorProducer * @param key the header key * @param exchange the exchange + * @param callback the async callback * @return option response from invoking the method, or <tt>null</tt> if the method is void * @throws Exception is thrown if error invoking the method. */ - Object invoke(Object target, String key, Exchange exchange) throws Exception; + Object invoke(Object target, String key, Exchange exchange, AsyncCallback callback) throws Exception; } diff --git a/core/camel-support/src/main/java/org/apache/camel/support/HeaderSelectorProducer.java b/core/camel-support/src/main/java/org/apache/camel/support/HeaderSelectorProducer.java index 96a9ebf..fbcb0c8 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/HeaderSelectorProducer.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/HeaderSelectorProducer.java @@ -159,6 +159,8 @@ public abstract class HeaderSelectorProducer extends BaseSelectorProducer { "Unsupported operation " + exchange.getIn().getHeader(headerSupplier.get())); } + // TODO: bind should use factory finder and use reflection free + // TODO: And setup this as part of doBuild as its loaded via classpath so we can build time optimize this protected void bind() { for (final Method method : getTarget().getClass().getDeclaredMethods()) { bind(method.getAnnotation(InvokeOnHeader.class), method); diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateInvokeOnHeaderMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateInvokeOnHeaderMojo.java index 93431ba..e96871b 100644 --- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateInvokeOnHeaderMojo.java +++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateInvokeOnHeaderMojo.java @@ -68,6 +68,7 @@ public class GenerateInvokeOnHeaderMojo extends AbstractGeneratorMojo { private String key; private String methodName; private boolean isVoid; + private boolean callback; public String getKey() { return key; @@ -92,6 +93,14 @@ public class GenerateInvokeOnHeaderMojo extends AbstractGeneratorMojo { public void setVoid(boolean aVoid) { isVoid = aVoid; } + + public boolean isCallback() { + return callback; + } + + public void setCallback(boolean callback) { + this.callback = callback; + } } public GenerateInvokeOnHeaderMojo() { @@ -127,11 +136,13 @@ public class GenerateInvokeOnHeaderMojo extends AbstractGeneratorMojo { String value = a.value().asString(); String methodName = a.target().asMethod().name(); boolean isVoid = Type.Kind.VOID == a.target().asMethod().returnType().kind(); + boolean callback = a.target().asMethod().parameters().size() == 2; Set<InvokeOnHeaderModel> set = classes.computeIfAbsent(currentClass, k -> new HashSet<>()); InvokeOnHeaderModel model = new InvokeOnHeaderModel(); model.setKey(value); model.setMethodName(methodName); model.setVoid(isVoid); + model.setCallback(callback); set.add(model); }); @@ -181,6 +192,7 @@ public class GenerateInvokeOnHeaderMojo extends AbstractGeneratorMojo { w.write("/* " + AbstractGeneratorMojo.GENERATED_MSG + " */\n"); w.write("package " + pn + ";\n"); w.write("\n"); + w.write("import org.apache.camel.AsyncCallback;\n"); w.write("import org.apache.camel.Exchange;\n"); w.write("import org.apache.camel.spi.InvokeOnHeaderStrategy;\n"); w.write("import " + pfqn + ";\n"); @@ -199,12 +211,17 @@ public class GenerateInvokeOnHeaderMojo extends AbstractGeneratorMojo { } w.write(" @Override\n"); - w.write(" public Object invoke(Object obj, String key, Exchange exchange) throws Exception {\n"); + w.write(" public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {\n"); w.write(" " + en + " target = (" + en + ") obj;\n"); if (!models.isEmpty()) { w.write(" switch (key) {\n"); for (InvokeOnHeaderModel option : models) { - String invoke = "target." + option.getMethodName() + "(exchange.getMessage())"; + String invoke; + if (option.isCallback()) { + invoke = "target." + option.getMethodName() + "(exchange.getMessage(), callback)"; + } else { + invoke = "target." + option.getMethodName() + "(exchange.getMessage())"; + } if (!option.getKey().toLowerCase().equals(option.getKey())) { w.write(String.format(" case \"%s\":\n", option.getKey().toLowerCase())); }