This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push: new 6b33e6e75b1 CAMEL-20698: YAML and XML DSL - Remove array of property in favour of using properties to make it consistent and only one-way of setting properties on beans. (#13959) 6b33e6e75b1 is described below commit 6b33e6e75b1e9939b007060cc0877bc765cd350a Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Fri Apr 26 12:05:20 2024 +0200 CAMEL-20698: YAML and XML DSL - Remove array of property in favour of using properties to make it consistent and only one-way of setting properties on beans. (#13959) --- .../apache/camel/catalog/models/templateBean.json | 5 +-- .../camel/catalog/models/templatedRouteBean.json | 5 +-- .../apache/camel/catalog/schemas/camel-spring.xsd | 1 - .../SpringRouteTemplateLocalBeanTest.xml | 2 +- .../routebuilder/SpringTemplatedRouteTest.xml | 4 +- .../org/apache/camel/model/templateBean.json | 5 +-- .../org/apache/camel/model/templatedRouteBean.json | 5 +-- .../apache/camel/model/BeanFactoryDefinition.java | 2 +- .../java/org/apache/camel/xml/in/ModelParser.java | 1 - .../java/org/apache/camel/xml/out/ModelWriter.java | 1 - .../src/test/resources/barTemplatedRoute.xml | 4 +- .../singleTemplatedRouteNoNamespace.xml | 4 +- .../org/apache/camel/yaml/out/ModelWriter.java | 1 - .../ROOT/pages/camel-4x-upgrade-guide-4_6.adoc | 29 ++++++++++++++ .../RouteTemplateBeanDefinitionDeserializer.java | 1 - .../TemplatedRouteBeanDefinitionDeserializer.java | 1 - .../generated/resources/schema/camelYamlDsl.json | 12 ------ .../org/apache/camel/dsl/yaml/KameletTest.groovy | 5 +-- .../apache/camel/dsl/yaml/RouteTemplateTest.groovy | 45 ---------------------- 19 files changed, 50 insertions(+), 83 deletions(-) diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/templateBean.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/templateBean.json index b40f995763d..ef188dacbfe 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/templateBean.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/templateBean.json @@ -15,8 +15,7 @@ "name": { "index": 0, "kind": "attribute", "displayName": "Name", "group": "common", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Bean name" }, "type": { "index": 1, "kind": "attribute", "displayName": "Type", "group": "common", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "What type to use for creating the bean (FQN classname). Can be prefixed with: #class or #type #class or #type then the bean is created via the fully qualified classname, such as #class:com.foo.MyBean" }, "scriptLanguage": { "index": 2, "kind": "attribute", "displayName": "Script Language", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The script language to use when using inlined script for creating the bean, such as groovy, java, javascript etc." }, - "property": { "index": 3, "kind": "element", "displayName": "Property", "group": "common", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.PropertyDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Optional properties to set on the created local bean" }, - "properties": { "index": 4, "kind": "element", "displayName": "Properties", "group": "common", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "deprecated": false, "autowired": false, "secret": false, "description": "Optional properties to set on the created local bean" }, - "script": { "index": 5, "kind": "element", "displayName": "Script", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The script to execute that creates the bean when using scripting languages. If the script use the prefix resource: such as resource:classpath:com\/foo\/myscript.groovy, resource:file:\/var\/myscript.groovy, then its loaded from the ext [...] + "properties": { "index": 3, "kind": "element", "displayName": "Properties", "group": "common", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "deprecated": false, "autowired": false, "secret": false, "description": "Optional properties to set on the created local bean" }, + "script": { "index": 4, "kind": "element", "displayName": "Script", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The script to execute that creates the bean when using scripting languages. If the script use the prefix resource: such as resource:classpath:com\/foo\/myscript.groovy, resource:file:\/var\/myscript.groovy, then its loaded from the ext [...] } } diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/templatedRouteBean.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/templatedRouteBean.json index 1061bae313e..719fb8b9d96 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/templatedRouteBean.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/templatedRouteBean.json @@ -15,8 +15,7 @@ "name": { "index": 0, "kind": "attribute", "displayName": "Name", "group": "common", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Bean name" }, "type": { "index": 1, "kind": "attribute", "displayName": "Type", "group": "common", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "What type to use for creating the bean (FQN classname). Can be prefixed with: #class or #type #class or #type then the bean is created via the fully qualified classname, such as #class:com.foo.MyBean" }, "scriptLanguage": { "index": 2, "kind": "attribute", "displayName": "Script Language", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The script language to use when using inlined script for creating the bean, such as groovy, java, javascript etc." }, - "property": { "index": 3, "kind": "element", "displayName": "Property", "group": "common", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.PropertyDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Optional properties to set on the created local bean" }, - "properties": { "index": 4, "kind": "element", "displayName": "Properties", "group": "common", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "deprecated": false, "autowired": false, "secret": false, "description": "Optional properties to set on the created local bean" }, - "script": { "index": 5, "kind": "element", "displayName": "Script", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The script to execute that creates the bean when using scripting languages. If the script use the prefix resource: such as resource:classpath:com\/foo\/myscript.groovy, resource:file:\/var\/myscript.groovy, then its loaded from the ext [...] + "properties": { "index": 3, "kind": "element", "displayName": "Properties", "group": "common", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "deprecated": false, "autowired": false, "secret": false, "description": "Optional properties to set on the created local bean" }, + "script": { "index": 4, "kind": "element", "displayName": "Script", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The script to execute that creates the bean when using scripting languages. If the script use the prefix resource: such as resource:classpath:com\/foo\/myscript.groovy, resource:file:\/var\/myscript.groovy, then its loaded from the ext [...] } } diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd index f730fa33ee4..1751619fc37 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd @@ -4018,7 +4018,6 @@ implementation. Default value: Singleton </xs:complexType> <xs:complexType abstract="true" name="beanFactoryDefinition"> <xs:sequence> - <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:property"/> <xs:element minOccurs="0" name="properties" type="tns:beanPropertiesDefinition"> <xs:annotation> <xs:documentation xml:lang="en"> diff --git a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/routebuilder/SpringRouteTemplateLocalBeanTest.xml b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/routebuilder/SpringRouteTemplateLocalBeanTest.xml index d1e56089433..3f0ff28b7cb 100644 --- a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/routebuilder/SpringRouteTemplateLocalBeanTest.xml +++ b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/routebuilder/SpringRouteTemplateLocalBeanTest.xml @@ -32,8 +32,8 @@ <templateParameter name="greeting"/> <templateParameter name="suffix"/> <templateBean name="myBean" type="#class:org.apache.camel.spring.routebuilder.MyLocalBean"> - <property key="prefix" value="{{greeting}}"/> <properties> + <property key="prefix" value="{{greeting}}"/> <property key="suffix" value="{{suffix}}"/> </properties> </templateBean> diff --git a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/routebuilder/SpringTemplatedRouteTest.xml b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/routebuilder/SpringTemplatedRouteTest.xml index 610809fab3f..bec54119892 100644 --- a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/routebuilder/SpringTemplatedRouteTest.xml +++ b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/routebuilder/SpringTemplatedRouteTest.xml @@ -38,7 +38,9 @@ <parameter name="foo" value="fooVal"/> <parameter name="bar" value="barVal"/> <bean name="myBean" type="#class:org.apache.camel.spring.routebuilder.SpringTemplatedRouteTest$MySpecialBean"> - <property key="name" value="John"/> + <properties> + <property key="name" value="John"/> + </properties> </bean> <bean name="myScriptBean" type="org.apache.camel.spring.routebuilder.SpringTemplatedRouteTest$MyScriptBean" scriptLanguage="bean"> diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/templateBean.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/templateBean.json index b40f995763d..ef188dacbfe 100644 --- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/templateBean.json +++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/templateBean.json @@ -15,8 +15,7 @@ "name": { "index": 0, "kind": "attribute", "displayName": "Name", "group": "common", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Bean name" }, "type": { "index": 1, "kind": "attribute", "displayName": "Type", "group": "common", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "What type to use for creating the bean (FQN classname). Can be prefixed with: #class or #type #class or #type then the bean is created via the fully qualified classname, such as #class:com.foo.MyBean" }, "scriptLanguage": { "index": 2, "kind": "attribute", "displayName": "Script Language", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The script language to use when using inlined script for creating the bean, such as groovy, java, javascript etc." }, - "property": { "index": 3, "kind": "element", "displayName": "Property", "group": "common", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.PropertyDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Optional properties to set on the created local bean" }, - "properties": { "index": 4, "kind": "element", "displayName": "Properties", "group": "common", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "deprecated": false, "autowired": false, "secret": false, "description": "Optional properties to set on the created local bean" }, - "script": { "index": 5, "kind": "element", "displayName": "Script", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The script to execute that creates the bean when using scripting languages. If the script use the prefix resource: such as resource:classpath:com\/foo\/myscript.groovy, resource:file:\/var\/myscript.groovy, then its loaded from the ext [...] + "properties": { "index": 3, "kind": "element", "displayName": "Properties", "group": "common", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "deprecated": false, "autowired": false, "secret": false, "description": "Optional properties to set on the created local bean" }, + "script": { "index": 4, "kind": "element", "displayName": "Script", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The script to execute that creates the bean when using scripting languages. If the script use the prefix resource: such as resource:classpath:com\/foo\/myscript.groovy, resource:file:\/var\/myscript.groovy, then its loaded from the ext [...] } } diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/templatedRouteBean.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/templatedRouteBean.json index 1061bae313e..719fb8b9d96 100644 --- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/templatedRouteBean.json +++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/templatedRouteBean.json @@ -15,8 +15,7 @@ "name": { "index": 0, "kind": "attribute", "displayName": "Name", "group": "common", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Bean name" }, "type": { "index": 1, "kind": "attribute", "displayName": "Type", "group": "common", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "What type to use for creating the bean (FQN classname). Can be prefixed with: #class or #type #class or #type then the bean is created via the fully qualified classname, such as #class:com.foo.MyBean" }, "scriptLanguage": { "index": 2, "kind": "attribute", "displayName": "Script Language", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The script language to use when using inlined script for creating the bean, such as groovy, java, javascript etc." }, - "property": { "index": 3, "kind": "element", "displayName": "Property", "group": "common", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.PropertyDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Optional properties to set on the created local bean" }, - "properties": { "index": 4, "kind": "element", "displayName": "Properties", "group": "common", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "deprecated": false, "autowired": false, "secret": false, "description": "Optional properties to set on the created local bean" }, - "script": { "index": 5, "kind": "element", "displayName": "Script", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The script to execute that creates the bean when using scripting languages. If the script use the prefix resource: such as resource:classpath:com\/foo\/myscript.groovy, resource:file:\/var\/myscript.groovy, then its loaded from the ext [...] + "properties": { "index": 3, "kind": "element", "displayName": "Properties", "group": "common", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "deprecated": false, "autowired": false, "secret": false, "description": "Optional properties to set on the created local bean" }, + "script": { "index": 4, "kind": "element", "displayName": "Script", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The script to execute that creates the bean when using scripting languages. If the script use the prefix resource: such as resource:classpath:com\/foo\/myscript.groovy, resource:file:\/var\/myscript.groovy, then its loaded from the ext [...] } } diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/BeanFactoryDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/BeanFactoryDefinition.java index 372f51d9ff3..af8f238b0a6 100644 --- a/core/camel-core-model/src/main/java/org/apache/camel/model/BeanFactoryDefinition.java +++ b/core/camel-core-model/src/main/java/org/apache/camel/model/BeanFactoryDefinition.java @@ -57,7 +57,7 @@ public abstract class BeanFactoryDefinition< @XmlAttribute @Metadata(label = "advanced") private String scriptLanguage; - @XmlElement(name = "property") + @XmlTransient private List<PropertyDefinition> propertyDefinitions; @XmlElement(name = "properties") @XmlJavaTypeAdapter(BeanPropertiesAdapter.class) diff --git a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java index 616c5977029..a2f170324f0 100644 --- a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java +++ b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java @@ -908,7 +908,6 @@ public class ModelParser extends BaseParser { protected <T extends BeanFactoryDefinition> ElementHandler<T> beanFactoryDefinitionElementHandler() { return (def, key) -> switch (key) { case "properties": def.setProperties(new BeanPropertiesAdapter().unmarshal(doParseBeanPropertiesDefinition())); yield true; - case "property": doAdd(doParsePropertyDefinition(), def.getPropertyDefinitions(), def::setPropertyDefinitions); yield true; case "script": def.setScript(doParseText()); yield true; default: yield false; }; diff --git a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java index ff50037a38f..ffd4303fc02 100644 --- a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java +++ b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java @@ -812,7 +812,6 @@ public class ModelWriter extends BaseWriter { doWriteAttribute("type", def.getType()); } protected void doWriteBeanFactoryDefinitionElements(BeanFactoryDefinition<?, ?> def) throws IOException { - doWriteList(null, "property", def.getPropertyDefinitions(), this::doWritePropertyDefinition); doWriteElement("script", def.getScript(), this::doWriteString); doWriteElement("properties", new BeanPropertiesAdapter().marshal(def.getProperties()), this::doWriteBeanPropertiesDefinition); } diff --git a/core/camel-xml-io/src/test/resources/barTemplatedRoute.xml b/core/camel-xml-io/src/test/resources/barTemplatedRoute.xml index 94cc5871594..acc9d9f8e91 100644 --- a/core/camel-xml-io/src/test/resources/barTemplatedRoute.xml +++ b/core/camel-xml-io/src/test/resources/barTemplatedRoute.xml @@ -22,7 +22,9 @@ <parameter name="foo" value="fooVal"/> <parameter name="bar" value="barVal"/> <bean name="myBean" type="#class:org.apache.camel.spring.routebuilder.SpringTemplatedRouteTest$MySpecialBean"> - <property key="name" value="John"/> + <properties> + <property key="name" value="John"/> + </properties> </bean> </templatedRoute> </templatedRoutes> \ No newline at end of file diff --git a/core/camel-xml-io/src/test/resources/nonamespace/singleTemplatedRouteNoNamespace.xml b/core/camel-xml-io/src/test/resources/nonamespace/singleTemplatedRouteNoNamespace.xml index 962e326295f..eef30d23f9f 100644 --- a/core/camel-xml-io/src/test/resources/nonamespace/singleTemplatedRouteNoNamespace.xml +++ b/core/camel-xml-io/src/test/resources/nonamespace/singleTemplatedRouteNoNamespace.xml @@ -21,6 +21,8 @@ <parameter name="foo" value="fooVal"/> <parameter name="bar" value="barVal"/> <bean name="myBean" type="#class:org.apache.camel.spring.routebuilder.SpringTemplatedRouteTest$MySpecialBean"> - <property key="name" value="John"/> + <properties> + <property key="name" value="John"/> + </properties> </bean> </templatedRoute> diff --git a/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java b/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java index a0f5f2bc190..b8697d7e9a4 100644 --- a/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java +++ b/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java @@ -812,7 +812,6 @@ public class ModelWriter extends BaseWriter { doWriteAttribute("type", def.getType()); } protected void doWriteBeanFactoryDefinitionElements(BeanFactoryDefinition<?, ?> def) throws IOException { - doWriteList(null, "property", def.getPropertyDefinitions(), this::doWritePropertyDefinition); doWriteElement("script", def.getScript(), this::doWriteString); doWriteElement("properties", new BeanPropertiesAdapter().marshal(def.getProperties()), this::doWriteBeanPropertiesDefinition); } diff --git a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_6.adoc b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_6.adoc index 7fe09fad11d..419a5676b77 100644 --- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_6.adoc +++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_6.adoc @@ -15,6 +15,35 @@ then the variable is no longer set. Also, if the route is marked for rollback, o This is the same logic that the routing engine uses, whether to continue routing the `Exchange` or not. +=== XML DSL + +When using XML DSL to define properties on `<bean>` then `<property>` must now be declared inside `<properties>`. + +=== YAML DSL + +When using YAML DSL to define properties on `bean` then `property` has been removed in favour of using `properties`. + +Before: +[source,yaml] +---- + beans: + - name: "myProcessor" + type: "#class:com.foo.MyClass" + property: + - key: "payload" + value: "test-payload" +---- + +After: +[source,yaml] +---- + beans: + - name: "myProcessor" + type: "#class:com.foo.MyClass" + properties: + payload: "test-payload" +---- + === camel-as2 The `camel-as2` component has upgraded HTTP Client 4.x to 5.x and because of that, there are some options that have changed. diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/RouteTemplateBeanDefinitionDeserializer.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/RouteTemplateBeanDefinitionDeserializer.java index 43a8afc4551..aa63205a6f4 100644 --- a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/RouteTemplateBeanDefinitionDeserializer.java +++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/RouteTemplateBeanDefinitionDeserializer.java @@ -32,7 +32,6 @@ import org.apache.camel.spi.annotations.YamlType; properties = { @YamlProperty(name = "name", type = "string", required = true), @YamlProperty(name = "type", type = "string", required = true), - @YamlProperty(name = "property", type = "array:org.apache.camel.model.PropertyDefinition"), @YamlProperty(name = "properties", type = "object"), @YamlProperty(name = "scriptLanguage", type = "string"), @YamlProperty(name = "script", type = "string") diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/TemplatedRouteBeanDefinitionDeserializer.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/TemplatedRouteBeanDefinitionDeserializer.java index bcba0ae8d4f..514febd4787 100644 --- a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/TemplatedRouteBeanDefinitionDeserializer.java +++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/TemplatedRouteBeanDefinitionDeserializer.java @@ -32,7 +32,6 @@ import org.apache.camel.spi.annotations.YamlType; properties = { @YamlProperty(name = "name", type = "string", required = true), @YamlProperty(name = "type", type = "string", required = true), - @YamlProperty(name = "property", type = "array:org.apache.camel.model.PropertyDefinition"), @YamlProperty(name = "properties", type = "object"), @YamlProperty(name = "scriptLanguage", type = "string"), @YamlProperty(name = "script", type = "string") diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json index f5c6f5ef94c..e25e27c2345 100644 --- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json +++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json @@ -5197,12 +5197,6 @@ "properties" : { "type" : "object" }, - "property" : { - "type" : "array", - "items" : { - "$ref" : "#/items/definitions/org.apache.camel.model.PropertyDefinition" - } - }, "script" : { "type" : "string" }, @@ -6663,12 +6657,6 @@ "properties" : { "type" : "object" }, - "property" : { - "type" : "array", - "items" : { - "$ref" : "#/items/definitions/org.apache.camel.model.PropertyDefinition" - } - }, "script" : { "type" : "string" }, diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/KameletTest.groovy b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/KameletTest.groovy index a8724535262..971be12b5ed 100644 --- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/KameletTest.groovy +++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/KameletTest.groovy @@ -264,9 +264,8 @@ class KameletTest extends YamlTestSupport { beans: - name: "myProcessor" type: "#class:${MySetBody.class.name}" - property: - - key: "payload" - value: "test-payload" + properties: + payload: "test-payload" from: uri: "kamelet:source" steps: diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RouteTemplateTest.groovy b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RouteTemplateTest.groovy index 907d2ae049b..b471381aeb3 100644 --- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RouteTemplateTest.groovy +++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RouteTemplateTest.groovy @@ -181,51 +181,6 @@ class RouteTemplateTest extends YamlTestSupport { MockEndpoint.assertIsSatisfied(context) } - def "create template with bean and property"() { - setup: - loadRoutes """ - - routeTemplate: - id: "myTemplate" - beans: - - name: "myProcessor" - type: "#class:${MySetBody.class.name}" - property: - - key: "payload" - value: "test-payload" - from: - uri: "direct:{{directName}}" - steps: - - process: - ref: "{{myProcessor}}" - - from: - uri: "direct:start" - steps: - - to: "direct:myId" - - to: "mock:result" - """ - - withMock('mock:result') { - expectedMessageCount 1 - expectedBodiesReceived 'test-payload' - } - when: - context.addRouteFromTemplate('myId', 'myTemplate', ['directName': 'myId']) - context.start() - - withTemplate { - to('direct:start').withBody('hello').send() - } - then: - context.routeTemplateDefinitions.size() == 1 - - with(context.routeTemplateDefinitions[0], RouteTemplateDefinition) { - id == 'myTemplate' - templateBeans.size() == 1 - } - - MockEndpoint.assertIsSatisfied(context) - } - def "create template with properties"() { when: loadRoutes """