This is an automated email from the ASF dual-hosted git repository. Croway pushed a commit to branch ci-issue/fix-circular-dependency-spring-boot-4 in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git
commit 519b63f5def15e206a5f867f37251f2314284281 Author: Croway <[email protected]> AuthorDate: Mon May 4 17:21:57 2026 +0200 ci: fix Language auto-config ClassCastException Not all Language implementations extend LanguageSupport/CamelContextAware (e.g. ExchangePropertyLanguage). Use instanceof check with pattern matching instead of an unsafe cast or ObjectProvider (which triggers the circular dependency during camelContext.build()). --- .../camel/springboot/catalog/dataformats/avroJackson.json | 14 +++++++------- .../camel/springboot/catalog/transformers/avro-binary.json | 4 ++-- .../catalog/transformers/avro-x-java-object.json | 4 ++-- .../springboot/catalog/transformers/avro-x-struct.json | 4 ++-- .../bean/springboot/BeanLanguageAutoConfiguration.java | 4 +++- .../springboot/ConstantLanguageAutoConfiguration.java | 4 +++- .../springboot/CSimpleLanguageAutoConfiguration.java | 4 +++- .../header/springboot/HeaderLanguageAutoConfiguration.java | 4 +++- .../ExchangePropertyLanguageAutoConfiguration.java | 4 +++- .../ref/springboot/RefLanguageAutoConfiguration.java | 4 +++- .../simple/springboot/FileLanguageAutoConfiguration.java | 4 +++- .../simple/springboot/SimpleLanguageAutoConfiguration.java | 4 +++- .../springboot/TokenizeLanguageAutoConfiguration.java | 4 +++- .../springboot/VariableLanguageAutoConfiguration.java | 4 +++- .../springboot/DatasonnetLanguageAutoConfiguration.java | 4 +++- .../groovy/springboot/GroovyLanguageAutoConfiguration.java | 4 +++- .../hl7/springboot/Hl7TerserLanguageAutoConfiguration.java | 4 +++- .../js/springboot/JavaScriptLanguageAutoConfiguration.java | 4 +++- .../joor/springboot/JavaLanguageAutoConfiguration.java | 4 +++- .../joor/springboot/JoorLanguageAutoConfiguration.java | 4 +++- .../jq/springboot/JqLanguageAutoConfiguration.java | 4 +++- .../springboot/JsonPathLanguageAutoConfiguration.java | 4 +++- .../mvel/springboot/MvelLanguageAutoConfiguration.java | 4 +++- .../ognl/springboot/OgnlLanguageAutoConfiguration.java | 4 +++- .../python/springboot/PythonLanguageAutoConfiguration.java | 4 +++- .../xquery/springboot/XQueryLanguageAutoConfiguration.java | 4 +++- .../spel/springboot/SpelLanguageAutoConfiguration.java | 4 +++- .../springboot/XMLTokenizeLanguageAutoConfiguration.java | 4 +++- .../wasm/springboot/WasmLanguageAutoConfiguration.java | 4 +++- .../xpath/springboot/XPathLanguageAutoConfiguration.java | 4 +++- .../springboot/maven/SpringBootAutoConfigurationMojo.java | 4 +++- 31 files changed, 94 insertions(+), 40 deletions(-) diff --git a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dataformats/avroJackson.json b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dataformats/avroJackson.json index 46506181dcd..c4d5fcb7435 100644 --- a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dataformats/avroJackson.json +++ b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dataformats/avroJackson.json @@ -5,12 +5,12 @@ "title": "Avro Jackson", "description": "Marshal POJOs to Avro and back using Jackson.", "deprecated": false, - "firstVersion": "4.19.0", + "firstVersion": "3.10.0", "label": "dataformat,transformation", - "javaType": "org.apache.camel.component.jackson3.avro.JacksonAvroDataFormat", - "supportLevel": "Preview", + "javaType": "org.apache.camel.component.jackson.avro.JacksonAvroDataFormat", + "supportLevel": "Stable", "groupId": "org.apache.camel.springboot", - "artifactId": "camel-jackson3-avro-starter", + "artifactId": "camel-jackson-avro-starter", "version": "4.21.0-SNAPSHOT", "modelName": "avro", "modelJavaType": "org.apache.camel.model.dataformat.AvroDataFormat" @@ -25,10 +25,10 @@ "allowJmsType": { "index": 6, "kind": "attribute", "displayName": "Allow Jms Type", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Used for JMS users to allow the JMSType header from the JMS spec to specify a FQN classname to use to unmarshal to." }, "collectionType": { "index": 7, "kind": "attribute", "displayName": "Collection Type", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Refers to a custom collection type to lookup in the registry to use. This option should rarely be used, but allows to use different collection types than java.util.Collection based as default." }, "useList": { "index": 8, "kind": "attribute", "displayName": "Use List", "group": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To unmarshal to a List of Map or a List of Pojo." }, - "moduleClassNames": { "index": 9, "kind": "attribute", "displayName": "Module Class Names", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To use custom Jackson modules tools.jackson.databind.JacksonModule specified as a String with FQN class names. Multiple classes can be separated by comma." }, + "moduleClassNames": { "index": 9, "kind": "attribute", "displayName": "Module Class Names", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To use custom Jackson modules com.fasterxml.jackson.databind.Module specified as a String with FQN class names. Multiple classes can be separated by comma." }, "moduleRefs": { "index": 10, "kind": "attribute", "displayName": "Module Refs", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To use custom Jackson modules referred from the Camel registry. Multiple modules can be separated by comma." }, - "enableFeatures": { "index": 11, "kind": "attribute", "displayName": "Enable Features", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Set of features to enable on the Jackson tools.jackson.databind.ObjectMapper. The features should be a name that matches a enum from tools.jackson.databind.SerializationFeature, tools.jackson.databind.DeserializationFeature, or tools.jack [...] - "disableFeatures": { "index": 12, "kind": "attribute", "displayName": "Disable Features", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Set of features to disable on the Jackson tools.jackson.databind.ObjectMapper. The features should be a name that matches a enum from tools.jackson.databind.SerializationFeature, tools.jackson.databind.DeserializationFeature, or tools.j [...] + "enableFeatures": { "index": 11, "kind": "attribute", "displayName": "Enable Features", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Set of features to enable on the Jackson com.fasterxml.jackson.databind.ObjectMapper. The features should be a name that matches a enum from com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.Deserializati [...] + "disableFeatures": { "index": 12, "kind": "attribute", "displayName": "Disable Features", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Set of features to disable on the Jackson com.fasterxml.jackson.databind.ObjectMapper. The features should be a name that matches a enum from com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.Deserializ [...] "allowUnmarshallType": { "index": 13, "kind": "attribute", "displayName": "Allow Unmarshall Type", "group": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If enabled then Jackson is allowed to attempt to use the CamelJacksonUnmarshalType header during the unmarshalling. This should only be enabled when desired to be used." }, "timezone": { "index": 14, "kind": "attribute", "displayName": "Timezone", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "If set then Jackson will use the Timezone when marshalling\/unmarshalling." }, "autoDiscoverObjectMapper": { "index": 15, "kind": "attribute", "displayName": "Auto Discover Object Mapper", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If set to true then Jackson will lookup for an objectMapper into the registry" }, diff --git a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/transformers/avro-binary.json b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/transformers/avro-binary.json index 4d0dca800ab..59b4a8553a5 100644 --- a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/transformers/avro-binary.json +++ b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/transformers/avro-binary.json @@ -5,9 +5,9 @@ "title": "Avro Binary", "description": "Transforms from JSon to binary (byte array) using Jackson Avro (supports Avro schema)", "deprecated": false, - "javaType": "org.apache.camel.component.jackson3.avro.transform.AvroBinaryDataTypeTransformer", + "javaType": "org.apache.camel.component.jackson.avro.transform.AvroBinaryDataTypeTransformer", "groupId": "org.apache.camel.springboot", - "artifactId": "camel-jackson3-avro-starter", + "artifactId": "camel-jackson-avro-starter", "version": "4.21.0-SNAPSHOT" } } diff --git a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/transformers/avro-x-java-object.json b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/transformers/avro-x-java-object.json index e0507ce0c53..08534656609 100644 --- a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/transformers/avro-x-java-object.json +++ b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/transformers/avro-x-java-object.json @@ -5,9 +5,9 @@ "title": "Avro X Java Object", "description": "Transforms from JSon to Java object using Jackson Avro (supports content schema)", "deprecated": false, - "javaType": "org.apache.camel.component.jackson3.avro.transform.AvroPojoDataTypeTransformer", + "javaType": "org.apache.camel.component.jackson.avro.transform.AvroPojoDataTypeTransformer", "groupId": "org.apache.camel.springboot", - "artifactId": "camel-jackson3-avro-starter", + "artifactId": "camel-jackson-avro-starter", "version": "4.21.0-SNAPSHOT" } } diff --git a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/transformers/avro-x-struct.json b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/transformers/avro-x-struct.json index 9efb5bafbe7..c78097b9798 100644 --- a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/transformers/avro-x-struct.json +++ b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/transformers/avro-x-struct.json @@ -5,9 +5,9 @@ "title": "Avro X Struct", "description": "Transforms to generic JSonNode using Jackson Avro (supports content schema)", "deprecated": false, - "javaType": "org.apache.camel.component.jackson3.avro.transform.AvroStructDataTypeTransformer", + "javaType": "org.apache.camel.component.jackson.avro.transform.AvroStructDataTypeTransformer", "groupId": "org.apache.camel.springboot", - "artifactId": "camel-jackson3-avro-starter", + "artifactId": "camel-jackson-avro-starter", "version": "4.21.0-SNAPSHOT" } } diff --git a/components-starter/camel-bean-starter/src/main/java/org/apache/camel/language/bean/springboot/BeanLanguageAutoConfiguration.java b/components-starter/camel-bean-starter/src/main/java/org/apache/camel/language/bean/springboot/BeanLanguageAutoConfiguration.java index ec38966afbc..aba3f58c187 100644 --- a/components-starter/camel-bean-starter/src/main/java/org/apache/camel/language/bean/springboot/BeanLanguageAutoConfiguration.java +++ b/components-starter/camel-bean-starter/src/main/java/org/apache/camel/language/bean/springboot/BeanLanguageAutoConfiguration.java @@ -60,7 +60,9 @@ public class BeanLanguageAutoConfiguration { return new LanguageCustomizer() { @Override public void configure(String name, Language target) { - CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) target).getCamelContext(), configuration, target); + if (target instanceof CamelContextAware cca && cca.getCamelContext() != null) { + CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, target); + } } @Override public boolean isEnabled(String name, Language target) { diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/constant/springboot/ConstantLanguageAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/constant/springboot/ConstantLanguageAutoConfiguration.java index 44cc7d25ad9..7e3181ee840 100644 --- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/constant/springboot/ConstantLanguageAutoConfiguration.java +++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/constant/springboot/ConstantLanguageAutoConfiguration.java @@ -60,7 +60,9 @@ public class ConstantLanguageAutoConfiguration { return new LanguageCustomizer() { @Override public void configure(String name, Language target) { - CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) target).getCamelContext(), configuration, target); + if (target instanceof CamelContextAware cca && cca.getCamelContext() != null) { + CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, target); + } } @Override public boolean isEnabled(String name, Language target) { diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/csimple/springboot/CSimpleLanguageAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/csimple/springboot/CSimpleLanguageAutoConfiguration.java index fd9782d09cf..5978f0748e5 100644 --- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/csimple/springboot/CSimpleLanguageAutoConfiguration.java +++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/csimple/springboot/CSimpleLanguageAutoConfiguration.java @@ -60,7 +60,9 @@ public class CSimpleLanguageAutoConfiguration { return new LanguageCustomizer() { @Override public void configure(String name, Language target) { - CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) target).getCamelContext(), configuration, target); + if (target instanceof CamelContextAware cca && cca.getCamelContext() != null) { + CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, target); + } } @Override public boolean isEnabled(String name, Language target) { diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/header/springboot/HeaderLanguageAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/header/springboot/HeaderLanguageAutoConfiguration.java index 5b56f7800eb..595796749fe 100644 --- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/header/springboot/HeaderLanguageAutoConfiguration.java +++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/header/springboot/HeaderLanguageAutoConfiguration.java @@ -60,7 +60,9 @@ public class HeaderLanguageAutoConfiguration { return new LanguageCustomizer() { @Override public void configure(String name, Language target) { - CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) target).getCamelContext(), configuration, target); + if (target instanceof CamelContextAware cca && cca.getCamelContext() != null) { + CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, target); + } } @Override public boolean isEnabled(String name, Language target) { diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/property/springboot/ExchangePropertyLanguageAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/property/springboot/ExchangePropertyLanguageAutoConfiguration.java index d287111a3df..e4777eaae11 100644 --- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/property/springboot/ExchangePropertyLanguageAutoConfiguration.java +++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/property/springboot/ExchangePropertyLanguageAutoConfiguration.java @@ -60,7 +60,9 @@ public class ExchangePropertyLanguageAutoConfiguration { return new LanguageCustomizer() { @Override public void configure(String name, Language target) { - CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) target).getCamelContext(), configuration, target); + if (target instanceof CamelContextAware cca && cca.getCamelContext() != null) { + CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, target); + } } @Override public boolean isEnabled(String name, Language target) { diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/ref/springboot/RefLanguageAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/ref/springboot/RefLanguageAutoConfiguration.java index 6d7a071e05d..58993ea4cbf 100644 --- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/ref/springboot/RefLanguageAutoConfiguration.java +++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/ref/springboot/RefLanguageAutoConfiguration.java @@ -60,7 +60,9 @@ public class RefLanguageAutoConfiguration { return new LanguageCustomizer() { @Override public void configure(String name, Language target) { - CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) target).getCamelContext(), configuration, target); + if (target instanceof CamelContextAware cca && cca.getCamelContext() != null) { + CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, target); + } } @Override public boolean isEnabled(String name, Language target) { diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/FileLanguageAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/FileLanguageAutoConfiguration.java index b7596f60de6..840e172ff7f 100644 --- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/FileLanguageAutoConfiguration.java +++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/FileLanguageAutoConfiguration.java @@ -60,7 +60,9 @@ public class FileLanguageAutoConfiguration { return new LanguageCustomizer() { @Override public void configure(String name, Language target) { - CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) target).getCamelContext(), configuration, target); + if (target instanceof CamelContextAware cca && cca.getCamelContext() != null) { + CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, target); + } } @Override public boolean isEnabled(String name, Language target) { diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/SimpleLanguageAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/SimpleLanguageAutoConfiguration.java index 902ff34e3a9..1f1ec3874de 100644 --- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/SimpleLanguageAutoConfiguration.java +++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/SimpleLanguageAutoConfiguration.java @@ -60,7 +60,9 @@ public class SimpleLanguageAutoConfiguration { return new LanguageCustomizer() { @Override public void configure(String name, Language target) { - CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) target).getCamelContext(), configuration, target); + if (target instanceof CamelContextAware cca && cca.getCamelContext() != null) { + CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, target); + } } @Override public boolean isEnabled(String name, Language target) { diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/tokenizer/springboot/TokenizeLanguageAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/tokenizer/springboot/TokenizeLanguageAutoConfiguration.java index a6d22cd7fca..db3a876b222 100644 --- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/tokenizer/springboot/TokenizeLanguageAutoConfiguration.java +++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/tokenizer/springboot/TokenizeLanguageAutoConfiguration.java @@ -60,7 +60,9 @@ public class TokenizeLanguageAutoConfiguration { return new LanguageCustomizer() { @Override public void configure(String name, Language target) { - CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) target).getCamelContext(), configuration, target); + if (target instanceof CamelContextAware cca && cca.getCamelContext() != null) { + CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, target); + } } @Override public boolean isEnabled(String name, Language target) { diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/variable/springboot/VariableLanguageAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/variable/springboot/VariableLanguageAutoConfiguration.java index 6da0fc0fcec..62d84f6fc0b 100644 --- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/variable/springboot/VariableLanguageAutoConfiguration.java +++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/variable/springboot/VariableLanguageAutoConfiguration.java @@ -60,7 +60,9 @@ public class VariableLanguageAutoConfiguration { return new LanguageCustomizer() { @Override public void configure(String name, Language target) { - CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) target).getCamelContext(), configuration, target); + if (target instanceof CamelContextAware cca && cca.getCamelContext() != null) { + CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, target); + } } @Override public boolean isEnabled(String name, Language target) { diff --git a/components-starter/camel-datasonnet-starter/src/main/java/org/apache/camel/language/datasonnet/springboot/DatasonnetLanguageAutoConfiguration.java b/components-starter/camel-datasonnet-starter/src/main/java/org/apache/camel/language/datasonnet/springboot/DatasonnetLanguageAutoConfiguration.java index bcff80d784a..268d18a37ce 100644 --- a/components-starter/camel-datasonnet-starter/src/main/java/org/apache/camel/language/datasonnet/springboot/DatasonnetLanguageAutoConfiguration.java +++ b/components-starter/camel-datasonnet-starter/src/main/java/org/apache/camel/language/datasonnet/springboot/DatasonnetLanguageAutoConfiguration.java @@ -60,7 +60,9 @@ public class DatasonnetLanguageAutoConfiguration { return new LanguageCustomizer() { @Override public void configure(String name, Language target) { - CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) target).getCamelContext(), configuration, target); + if (target instanceof CamelContextAware cca && cca.getCamelContext() != null) { + CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, target); + } } @Override public boolean isEnabled(String name, Language target) { diff --git a/components-starter/camel-groovy-starter/src/main/java/org/apache/camel/language/groovy/springboot/GroovyLanguageAutoConfiguration.java b/components-starter/camel-groovy-starter/src/main/java/org/apache/camel/language/groovy/springboot/GroovyLanguageAutoConfiguration.java index d1a286c5124..b5ef8f550ff 100644 --- a/components-starter/camel-groovy-starter/src/main/java/org/apache/camel/language/groovy/springboot/GroovyLanguageAutoConfiguration.java +++ b/components-starter/camel-groovy-starter/src/main/java/org/apache/camel/language/groovy/springboot/GroovyLanguageAutoConfiguration.java @@ -60,7 +60,9 @@ public class GroovyLanguageAutoConfiguration { return new LanguageCustomizer() { @Override public void configure(String name, Language target) { - CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) target).getCamelContext(), configuration, target); + if (target instanceof CamelContextAware cca && cca.getCamelContext() != null) { + CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, target); + } } @Override public boolean isEnabled(String name, Language target) { diff --git a/components-starter/camel-hl7-starter/src/main/java/org/apache/camel/component/hl7/springboot/Hl7TerserLanguageAutoConfiguration.java b/components-starter/camel-hl7-starter/src/main/java/org/apache/camel/component/hl7/springboot/Hl7TerserLanguageAutoConfiguration.java index c920f54aef4..af97c9c779a 100644 --- a/components-starter/camel-hl7-starter/src/main/java/org/apache/camel/component/hl7/springboot/Hl7TerserLanguageAutoConfiguration.java +++ b/components-starter/camel-hl7-starter/src/main/java/org/apache/camel/component/hl7/springboot/Hl7TerserLanguageAutoConfiguration.java @@ -60,7 +60,9 @@ public class Hl7TerserLanguageAutoConfiguration { return new LanguageCustomizer() { @Override public void configure(String name, Language target) { - CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) target).getCamelContext(), configuration, target); + if (target instanceof CamelContextAware cca && cca.getCamelContext() != null) { + CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, target); + } } @Override public boolean isEnabled(String name, Language target) { diff --git a/components-starter/camel-javascript-starter/src/main/java/org/apache/camel/language/js/springboot/JavaScriptLanguageAutoConfiguration.java b/components-starter/camel-javascript-starter/src/main/java/org/apache/camel/language/js/springboot/JavaScriptLanguageAutoConfiguration.java index 18959a3b0d5..8df1914abbb 100644 --- a/components-starter/camel-javascript-starter/src/main/java/org/apache/camel/language/js/springboot/JavaScriptLanguageAutoConfiguration.java +++ b/components-starter/camel-javascript-starter/src/main/java/org/apache/camel/language/js/springboot/JavaScriptLanguageAutoConfiguration.java @@ -60,7 +60,9 @@ public class JavaScriptLanguageAutoConfiguration { return new LanguageCustomizer() { @Override public void configure(String name, Language target) { - CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) target).getCamelContext(), configuration, target); + if (target instanceof CamelContextAware cca && cca.getCamelContext() != null) { + CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, target); + } } @Override public boolean isEnabled(String name, Language target) { diff --git a/components-starter/camel-joor-starter/src/main/java/org/apache/camel/language/joor/springboot/JavaLanguageAutoConfiguration.java b/components-starter/camel-joor-starter/src/main/java/org/apache/camel/language/joor/springboot/JavaLanguageAutoConfiguration.java index 0b20fbb8e56..2410c15bb0a 100644 --- a/components-starter/camel-joor-starter/src/main/java/org/apache/camel/language/joor/springboot/JavaLanguageAutoConfiguration.java +++ b/components-starter/camel-joor-starter/src/main/java/org/apache/camel/language/joor/springboot/JavaLanguageAutoConfiguration.java @@ -60,7 +60,9 @@ public class JavaLanguageAutoConfiguration { return new LanguageCustomizer() { @Override public void configure(String name, Language target) { - CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) target).getCamelContext(), configuration, target); + if (target instanceof CamelContextAware cca && cca.getCamelContext() != null) { + CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, target); + } } @Override public boolean isEnabled(String name, Language target) { diff --git a/components-starter/camel-joor-starter/src/main/java/org/apache/camel/language/joor/springboot/JoorLanguageAutoConfiguration.java b/components-starter/camel-joor-starter/src/main/java/org/apache/camel/language/joor/springboot/JoorLanguageAutoConfiguration.java index 818088d1fc3..fd20f28c485 100644 --- a/components-starter/camel-joor-starter/src/main/java/org/apache/camel/language/joor/springboot/JoorLanguageAutoConfiguration.java +++ b/components-starter/camel-joor-starter/src/main/java/org/apache/camel/language/joor/springboot/JoorLanguageAutoConfiguration.java @@ -60,7 +60,9 @@ public class JoorLanguageAutoConfiguration { return new LanguageCustomizer() { @Override public void configure(String name, Language target) { - CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) target).getCamelContext(), configuration, target); + if (target instanceof CamelContextAware cca && cca.getCamelContext() != null) { + CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, target); + } } @Override public boolean isEnabled(String name, Language target) { diff --git a/components-starter/camel-jq-starter/src/main/java/org/apache/camel/language/jq/springboot/JqLanguageAutoConfiguration.java b/components-starter/camel-jq-starter/src/main/java/org/apache/camel/language/jq/springboot/JqLanguageAutoConfiguration.java index 099ee1c7d70..41e2b8e7b54 100644 --- a/components-starter/camel-jq-starter/src/main/java/org/apache/camel/language/jq/springboot/JqLanguageAutoConfiguration.java +++ b/components-starter/camel-jq-starter/src/main/java/org/apache/camel/language/jq/springboot/JqLanguageAutoConfiguration.java @@ -60,7 +60,9 @@ public class JqLanguageAutoConfiguration { return new LanguageCustomizer() { @Override public void configure(String name, Language target) { - CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) target).getCamelContext(), configuration, target); + if (target instanceof CamelContextAware cca && cca.getCamelContext() != null) { + CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, target); + } } @Override public boolean isEnabled(String name, Language target) { diff --git a/components-starter/camel-jsonpath-starter/src/main/java/org/apache/camel/jsonpath/springboot/JsonPathLanguageAutoConfiguration.java b/components-starter/camel-jsonpath-starter/src/main/java/org/apache/camel/jsonpath/springboot/JsonPathLanguageAutoConfiguration.java index e72614b8105..15c2dddac59 100644 --- a/components-starter/camel-jsonpath-starter/src/main/java/org/apache/camel/jsonpath/springboot/JsonPathLanguageAutoConfiguration.java +++ b/components-starter/camel-jsonpath-starter/src/main/java/org/apache/camel/jsonpath/springboot/JsonPathLanguageAutoConfiguration.java @@ -60,7 +60,9 @@ public class JsonPathLanguageAutoConfiguration { return new LanguageCustomizer() { @Override public void configure(String name, Language target) { - CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) target).getCamelContext(), configuration, target); + if (target instanceof CamelContextAware cca && cca.getCamelContext() != null) { + CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, target); + } } @Override public boolean isEnabled(String name, Language target) { diff --git a/components-starter/camel-mvel-starter/src/main/java/org/apache/camel/language/mvel/springboot/MvelLanguageAutoConfiguration.java b/components-starter/camel-mvel-starter/src/main/java/org/apache/camel/language/mvel/springboot/MvelLanguageAutoConfiguration.java index 0190e5e2162..55fb14a6a9c 100644 --- a/components-starter/camel-mvel-starter/src/main/java/org/apache/camel/language/mvel/springboot/MvelLanguageAutoConfiguration.java +++ b/components-starter/camel-mvel-starter/src/main/java/org/apache/camel/language/mvel/springboot/MvelLanguageAutoConfiguration.java @@ -60,7 +60,9 @@ public class MvelLanguageAutoConfiguration { return new LanguageCustomizer() { @Override public void configure(String name, Language target) { - CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) target).getCamelContext(), configuration, target); + if (target instanceof CamelContextAware cca && cca.getCamelContext() != null) { + CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, target); + } } @Override public boolean isEnabled(String name, Language target) { diff --git a/components-starter/camel-ognl-starter/src/main/java/org/apache/camel/language/ognl/springboot/OgnlLanguageAutoConfiguration.java b/components-starter/camel-ognl-starter/src/main/java/org/apache/camel/language/ognl/springboot/OgnlLanguageAutoConfiguration.java index c81ffbcbe56..aee35a7b64d 100644 --- a/components-starter/camel-ognl-starter/src/main/java/org/apache/camel/language/ognl/springboot/OgnlLanguageAutoConfiguration.java +++ b/components-starter/camel-ognl-starter/src/main/java/org/apache/camel/language/ognl/springboot/OgnlLanguageAutoConfiguration.java @@ -60,7 +60,9 @@ public class OgnlLanguageAutoConfiguration { return new LanguageCustomizer() { @Override public void configure(String name, Language target) { - CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) target).getCamelContext(), configuration, target); + if (target instanceof CamelContextAware cca && cca.getCamelContext() != null) { + CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, target); + } } @Override public boolean isEnabled(String name, Language target) { diff --git a/components-starter/camel-python-starter/src/main/java/org/apache/camel/language/python/springboot/PythonLanguageAutoConfiguration.java b/components-starter/camel-python-starter/src/main/java/org/apache/camel/language/python/springboot/PythonLanguageAutoConfiguration.java index 89bff5b8c5f..76fe82eb846 100644 --- a/components-starter/camel-python-starter/src/main/java/org/apache/camel/language/python/springboot/PythonLanguageAutoConfiguration.java +++ b/components-starter/camel-python-starter/src/main/java/org/apache/camel/language/python/springboot/PythonLanguageAutoConfiguration.java @@ -60,7 +60,9 @@ public class PythonLanguageAutoConfiguration { return new LanguageCustomizer() { @Override public void configure(String name, Language target) { - CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) target).getCamelContext(), configuration, target); + if (target instanceof CamelContextAware cca && cca.getCamelContext() != null) { + CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, target); + } } @Override public boolean isEnabled(String name, Language target) { diff --git a/components-starter/camel-saxon-starter/src/main/java/org/apache/camel/language/xquery/springboot/XQueryLanguageAutoConfiguration.java b/components-starter/camel-saxon-starter/src/main/java/org/apache/camel/language/xquery/springboot/XQueryLanguageAutoConfiguration.java index 57267bb3ec2..a1d335bf919 100644 --- a/components-starter/camel-saxon-starter/src/main/java/org/apache/camel/language/xquery/springboot/XQueryLanguageAutoConfiguration.java +++ b/components-starter/camel-saxon-starter/src/main/java/org/apache/camel/language/xquery/springboot/XQueryLanguageAutoConfiguration.java @@ -60,7 +60,9 @@ public class XQueryLanguageAutoConfiguration { return new LanguageCustomizer() { @Override public void configure(String name, Language target) { - CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) target).getCamelContext(), configuration, target); + if (target instanceof CamelContextAware cca && cca.getCamelContext() != null) { + CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, target); + } } @Override public boolean isEnabled(String name, Language target) { diff --git a/components-starter/camel-spring-starter/src/main/java/org/apache/camel/language/spel/springboot/SpelLanguageAutoConfiguration.java b/components-starter/camel-spring-starter/src/main/java/org/apache/camel/language/spel/springboot/SpelLanguageAutoConfiguration.java index 95fa774eba5..895e5c614a4 100644 --- a/components-starter/camel-spring-starter/src/main/java/org/apache/camel/language/spel/springboot/SpelLanguageAutoConfiguration.java +++ b/components-starter/camel-spring-starter/src/main/java/org/apache/camel/language/spel/springboot/SpelLanguageAutoConfiguration.java @@ -60,7 +60,9 @@ public class SpelLanguageAutoConfiguration { return new LanguageCustomizer() { @Override public void configure(String name, Language target) { - CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) target).getCamelContext(), configuration, target); + if (target instanceof CamelContextAware cca && cca.getCamelContext() != null) { + CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, target); + } } @Override public boolean isEnabled(String name, Language target) { diff --git a/components-starter/camel-stax-starter/src/main/java/org/apache/camel/language/xtokenizer/springboot/XMLTokenizeLanguageAutoConfiguration.java b/components-starter/camel-stax-starter/src/main/java/org/apache/camel/language/xtokenizer/springboot/XMLTokenizeLanguageAutoConfiguration.java index 40e945a9cba..63f44b34a34 100644 --- a/components-starter/camel-stax-starter/src/main/java/org/apache/camel/language/xtokenizer/springboot/XMLTokenizeLanguageAutoConfiguration.java +++ b/components-starter/camel-stax-starter/src/main/java/org/apache/camel/language/xtokenizer/springboot/XMLTokenizeLanguageAutoConfiguration.java @@ -60,7 +60,9 @@ public class XMLTokenizeLanguageAutoConfiguration { return new LanguageCustomizer() { @Override public void configure(String name, Language target) { - CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) target).getCamelContext(), configuration, target); + if (target instanceof CamelContextAware cca && cca.getCamelContext() != null) { + CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, target); + } } @Override public boolean isEnabled(String name, Language target) { diff --git a/components-starter/camel-wasm-starter/src/main/java/org/apache/camel/language/wasm/springboot/WasmLanguageAutoConfiguration.java b/components-starter/camel-wasm-starter/src/main/java/org/apache/camel/language/wasm/springboot/WasmLanguageAutoConfiguration.java index 384b2a124f1..56742e9048e 100644 --- a/components-starter/camel-wasm-starter/src/main/java/org/apache/camel/language/wasm/springboot/WasmLanguageAutoConfiguration.java +++ b/components-starter/camel-wasm-starter/src/main/java/org/apache/camel/language/wasm/springboot/WasmLanguageAutoConfiguration.java @@ -60,7 +60,9 @@ public class WasmLanguageAutoConfiguration { return new LanguageCustomizer() { @Override public void configure(String name, Language target) { - CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) target).getCamelContext(), configuration, target); + if (target instanceof CamelContextAware cca && cca.getCamelContext() != null) { + CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, target); + } } @Override public boolean isEnabled(String name, Language target) { diff --git a/components-starter/camel-xpath-starter/src/main/java/org/apache/camel/language/xpath/springboot/XPathLanguageAutoConfiguration.java b/components-starter/camel-xpath-starter/src/main/java/org/apache/camel/language/xpath/springboot/XPathLanguageAutoConfiguration.java index 48cd5a45cb4..f74a038b98e 100644 --- a/components-starter/camel-xpath-starter/src/main/java/org/apache/camel/language/xpath/springboot/XPathLanguageAutoConfiguration.java +++ b/components-starter/camel-xpath-starter/src/main/java/org/apache/camel/language/xpath/springboot/XPathLanguageAutoConfiguration.java @@ -60,7 +60,9 @@ public class XPathLanguageAutoConfiguration { return new LanguageCustomizer() { @Override public void configure(String name, Language target) { - CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) target).getCamelContext(), configuration, target); + if (target instanceof CamelContextAware cca && cca.getCamelContext() != null) { + CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, target); + } } @Override public boolean isEnabled(String name, Language target) { diff --git a/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java b/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java index 527b51237fc..a5457e95f34 100644 --- a/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java +++ b/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java @@ -1843,7 +1843,9 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator private static String createLanguageBody(String shortJavaType, String name) { return new StringBuilder().append("return new LanguageCustomizer() {\n").append(" @Override\n") .append(" public void configure(String name, Language target) {\n") - .append(" CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) target).getCamelContext(), configuration, target);\n") + .append(" if (target instanceof CamelContextAware cca && cca.getCamelContext() != null) {\n") + .append(" CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, target);\n") + .append(" }\n") .append(" }\n").append(" @Override\n") .append(" public boolean isEnabled(String name, Language target) {\n") .append(" return HierarchicalPropertiesEvaluator.evaluate(\n")
