This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch lang4 in repository https://gitbox.apache.org/repos/asf/camel.git
commit 74d59b7afd7c75eb5078df2f46d58af318c7c12b Author: Claus Ibsen <[email protected]> AuthorDate: Sat Feb 3 12:42:44 2024 +0100 CAMEL-20378: Languages should be thread-safe and be configured only via properties array, all in the same way. --- .../org/apache/camel/catalog/impl/AbstractCamelCatalog.java | 3 +-- .../main/java/org/apache/camel/support/LanguageSupport.java | 13 ++++++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java b/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java index acd2447db37..0a6126ac729 100644 --- a/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java +++ b/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java @@ -1457,9 +1457,8 @@ public abstract class AbstractCamelCatalog { } return answer; } catch (NoSuchMethodException e) { - // ignore + // ignore } - // optional validate if (predicate) { instance.getClass().getMethod("createPredicate", String.class).invoke(instance, text); } else { diff --git a/core/camel-support/src/main/java/org/apache/camel/support/LanguageSupport.java b/core/camel-support/src/main/java/org/apache/camel/support/LanguageSupport.java index 5fc48b1fbb9..63a492326cb 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/LanguageSupport.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/LanguageSupport.java @@ -124,7 +124,7 @@ public abstract class LanguageSupport implements Language, IsSingleton, CamelCon value = defaultValue; } - if (value instanceof String) { + if (camelContext != null && value instanceof String) { value = getCamelContext().resolvePropertyPlaceholders(value.toString()); } @@ -133,7 +133,7 @@ public abstract class LanguageSupport implements Language, IsSingleton, CamelCon if (value instanceof String && String.class != type) { String text = value.toString(); - if (EndpointHelper.isReferenceParameter(text)) { + if (camelContext != null && EndpointHelper.isReferenceParameter(text)) { Object obj; // special for a list where we refer to beans which can be either a list or a single element // so use Object.class as type @@ -177,7 +177,14 @@ public abstract class LanguageSupport implements Language, IsSingleton, CamelCon + " as the value is not true or false"); } } - return value == null ? null : getCamelContext().getTypeConverter().convertTo(type, value); + if (value == null) { + return null; + } + if (camelContext != null) { + return camelContext.getTypeConverter().convertTo(type, value); + } else { + return (T) value; + } } }
