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 2020/10/12 11:24:50 UTC
[camel] 02/03: CAMEL-15622: Prefer bean instance in endpoint DSL
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 2b13a0138e42b4f27623cb637845d970c907ad96
Author: Adam Ostrožlík <ad...@yandex.com>
AuthorDate: Sat Oct 10 19:26:44 2020 +0200
CAMEL-15622: Prefer bean instance in endpoint DSL
Do not search in registry using wrong string representation of a bean, return the bean directly instead
---
.../src/main/java/org/apache/camel/support/DefaultComponent.java | 3 +++
1 file changed, 3 insertions(+)
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/DefaultComponent.java b/core/camel-support/src/main/java/org/apache/camel/support/DefaultComponent.java
index 15cafd2..0161c32 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/DefaultComponent.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/DefaultComponent.java
@@ -551,6 +551,9 @@ public abstract class DefaultComponent extends ServiceSupport implements Compone
* @throws IllegalArgumentException if referenced object was not found in registry.
*/
public <T> T resolveAndRemoveReferenceParameter(Map<String, Object> parameters, String key, Class<T> type, T defaultValue) {
+ if (parameters.containsKey(key) && type.isInstance(parameters.get(key).getClass())) {
+ return type.cast(parameters.remove(key));
+ }
String value = getAndRemoveParameter(parameters, key, String.class);
if (value == null) {
return defaultValue;