This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch kamelet-ctr5
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 0c3c70eb45db1ade0fd0e2646ef9c6663b055110
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Fri May 3 07:27:53 2024 +0200

    CAMEL-20514: camel-model - Add support for bean constructors for beans in 
route templates or kamelets
---
 .../META-INF/org/apache/camel/model/app/beans.json |  2 +-
 .../META-INF/org/apache/camel/model/app/camel.json |  2 +-
 .../org/apache/camel/model/routeTemplate.json      |  2 +-
 .../org/apache/camel/model/templatedRoute.json     |  2 +-
 .../resources/org/apache/camel/model/jaxb.index    |  1 +
 .../apache/camel/model/app/BeansDefinition.java    |  2 +-
 .../java/org/apache/camel/xml/in/ModelParser.java  | 74 ++++++++++------------
 .../java/org/apache/camel/xml/out/ModelWriter.java | 22 ++-----
 .../org/apache/camel/xml/in/ModelParserTest.java   |  2 +-
 .../camel/xml/jaxb/JaxbModelToXMLDumper.java       |  2 +-
 .../org/apache/camel/yaml/out/ModelWriter.java     | 22 ++-----
 11 files changed, 52 insertions(+), 81 deletions(-)

diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/app/beans.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/app/beans.json
index 6ad9426c225..dd801661b8a 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/app/beans.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/app/beans.json
@@ -13,7 +13,7 @@
   },
   "properties": {
     "component-scan": { "index": 0, "kind": "element", "displayName": 
"Component-scan", "group": "common", "required": false, "type": "array", 
"javaType": 
"java.util.List<org.apache.camel.model.app.ComponentScanDefinition>", 
"deprecated": false, "autowired": false, "secret": false, "description": 
"Component scanning that can auto-discover Camel route builders from the 
classpath." },
-    "bean": { "index": 1, "kind": "element", "displayName": "Bean", "group": 
"common", "required": false, "type": "array", "javaType": 
"java.util.List<org.apache.camel.model.app.RegistryBeanDefinition>", 
"deprecated": false, "autowired": false, "secret": false, "description": "List 
of bean" },
+    "bean": { "index": 1, "kind": "element", "displayName": "Bean", "group": 
"common", "required": false, "type": "array", "javaType": 
"java.util.List<org.apache.camel.model.BeanFactoryDefinition>", "deprecated": 
false, "autowired": false, "secret": false, "description": "List of bean" },
     "restConfiguration": { "index": 2, "kind": "element", "displayName": "Rest 
Configuration", "group": "common", "required": false, "type": "array", 
"javaType": 
"java.util.List<org.apache.camel.model.rest.RestConfigurationDefinition>", 
"deprecated": false, "autowired": false, "secret": false, "description": "Camel 
Rest DSL Configuration" },
     "rest": { "index": 3, "kind": "element", "displayName": "Rest", "group": 
"common", "required": false, "type": "array", "javaType": 
"java.util.List<org.apache.camel.model.rest.RestDefinition>", "deprecated": 
false, "autowired": false, "secret": false, "description": "Camel Rest DSL" },
     "routeConfiguration": { "index": 4, "kind": "element", "displayName": 
"Route Configuration", "group": "common", "required": false, "type": "array", 
"javaType": 
"java.util.List<org.apache.camel.model.RouteConfigurationDefinition>", 
"deprecated": false, "autowired": false, "secret": false, "description": "Camel 
route configurations" },
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/app/camel.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/app/camel.json
index 27ba4be86f7..6e1d82aef40 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/app/camel.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/app/camel.json
@@ -13,7 +13,7 @@
   },
   "properties": {
     "component-scan": { "index": 0, "kind": "element", "displayName": 
"Component-scan", "group": "common", "required": false, "type": "array", 
"javaType": 
"java.util.List<org.apache.camel.model.app.ComponentScanDefinition>", 
"deprecated": false, "autowired": false, "secret": false, "description": 
"Component scanning that can auto-discover Camel route builders from the 
classpath." },
-    "bean": { "index": 1, "kind": "element", "displayName": "Bean", "group": 
"common", "required": false, "type": "array", "javaType": 
"java.util.List<org.apache.camel.model.app.RegistryBeanDefinition>", 
"deprecated": false, "autowired": false, "secret": false, "description": "List 
of bean" },
+    "bean": { "index": 1, "kind": "element", "displayName": "Bean", "group": 
"common", "required": false, "type": "array", "javaType": 
"java.util.List<org.apache.camel.model.BeanFactoryDefinition>", "deprecated": 
false, "autowired": false, "secret": false, "description": "List of bean" },
     "restConfiguration": { "index": 2, "kind": "element", "displayName": "Rest 
Configuration", "group": "common", "required": false, "type": "array", 
"javaType": 
"java.util.List<org.apache.camel.model.rest.RestConfigurationDefinition>", 
"deprecated": false, "autowired": false, "secret": false, "description": "Camel 
Rest DSL Configuration" },
     "rest": { "index": 3, "kind": "element", "displayName": "Rest", "group": 
"common", "required": false, "type": "array", "javaType": 
"java.util.List<org.apache.camel.model.rest.RestDefinition>", "deprecated": 
false, "autowired": false, "secret": false, "description": "Camel Rest DSL" },
     "routeConfiguration": { "index": 4, "kind": "element", "displayName": 
"Route Configuration", "group": "common", "required": false, "type": "array", 
"javaType": 
"java.util.List<org.apache.camel.model.RouteConfigurationDefinition>", 
"deprecated": false, "autowired": false, "secret": false, "description": "Camel 
route configurations" },
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/routeTemplate.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/routeTemplate.json
index 92e66275376..ecb22b81b72 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/routeTemplate.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/routeTemplate.json
@@ -15,7 +15,7 @@
     "id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": 
"common", "required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the id of this node" },
     "description": { "index": 1, "kind": "attribute", "displayName": 
"Description", "group": "common", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Sets the description of this node" },
     "templateParameter": { "index": 2, "kind": "element", "displayName": 
"Template Parameter", "group": "common", "required": false, "type": "array", 
"javaType": 
"java.util.List<org.apache.camel.model.RouteTemplateParameterDefinition>", 
"deprecated": false, "autowired": false, "secret": false, "description": "Adds 
a template parameter the route template uses" },
-    "templateBean": { "index": 3, "kind": "element", "displayName": "Template 
Bean", "group": "common", "required": false, "type": "array", "javaType": 
"java.util.List<org.apache.camel.model.app.RegistryBeanDefinition<org.apache.camel.model.RouteTemplateDefinition>>",
 "deprecated": false, "autowired": false, "secret": false, "description": "Adds 
a local bean the route template uses" },
+    "templateBean": { "index": 3, "kind": "element", "displayName": "Template 
Bean", "group": "common", "required": false, "type": "array", "javaType": 
"java.util.List<org.apache.camel.model.BeanFactoryDefinition<org.apache.camel.model.RouteTemplateDefinition>>",
 "deprecated": false, "autowired": false, "secret": false, "description": "Adds 
a local bean the route template uses" },
     "route": { "index": 4, "kind": "element", "displayName": "Route", "group": 
"common", "required": true, "type": "object", "javaType": 
"org.apache.camel.model.RouteDefinition", "deprecated": false, "autowired": 
false, "secret": false, "description": "To define the route in the template" }
   }
 }
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/templatedRoute.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/templatedRoute.json
index 4757d0c39b6..b3c0f06fbb9 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/templatedRoute.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/templatedRoute.json
@@ -16,6 +16,6 @@
     "routeId": { "index": 1, "kind": "attribute", "displayName": "Route Id", 
"group": "common", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the id of the route built from the route template." },
     "prefixId": { "index": 2, "kind": "attribute", "displayName": "Prefix Id", 
"group": "common", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets a prefix to use for all node ids (not route id)." },
     "parameter": { "index": 3, "kind": "element", "displayName": "Parameter", 
"group": "common", "required": false, "type": "array", "javaType": 
"java.util.List<org.apache.camel.model.TemplatedRouteParameterDefinition>", 
"deprecated": false, "autowired": false, "secret": false, "description": "Adds 
an input parameter of the template to build the route" },
-    "bean": { "index": 4, "kind": "element", "displayName": "Bean", "group": 
"common", "required": false, "type": "array", "javaType": 
"java.util.List<org.apache.camel.model.app.RegistryBeanDefinition<org.apache.camel.model.TemplatedRouteDefinition>>",
 "deprecated": false, "autowired": false, "secret": false, "description": "Adds 
a local bean as input of the template to build the route" }
+    "bean": { "index": 4, "kind": "element", "displayName": "Bean", "group": 
"common", "required": false, "type": "array", "javaType": 
"java.util.List<org.apache.camel.model.BeanFactoryDefinition<org.apache.camel.model.TemplatedRouteDefinition>>",
 "deprecated": false, "autowired": false, "secret": false, "description": "Adds 
a local bean as input of the template to build the route" }
   }
 }
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/jaxb.index
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/jaxb.index
index 5ff0c2477d3..7352e478fc8 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/jaxb.index
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/jaxb.index
@@ -1,6 +1,7 @@
 # Generated by camel build tools - do NOT edit this file!
 AggregateDefinition
 BeanDefinition
+BeanFactoryDefinition
 CatchDefinition
 ChoiceDefinition
 CircuitBreakerDefinition
diff --git 
a/core/camel-core-model/src/main/java/org/apache/camel/model/app/BeansDefinition.java
 
b/core/camel-core-model/src/main/java/org/apache/camel/model/app/BeansDefinition.java
index 06b237025dc..f88736cc4ca 100644
--- 
a/core/camel-core-model/src/main/java/org/apache/camel/model/app/BeansDefinition.java
+++ 
b/core/camel-core-model/src/main/java/org/apache/camel/model/app/BeansDefinition.java
@@ -26,9 +26,9 @@ import jakarta.xml.bind.annotation.XmlElement;
 import jakarta.xml.bind.annotation.XmlRootElement;
 import jakarta.xml.bind.annotation.XmlType;
 
-import org.apache.camel.model.BeanFactoryDefinition;
 import org.w3c.dom.Element;
 
+import org.apache.camel.model.BeanFactoryDefinition;
 import org.apache.camel.model.RouteConfigurationDefinition;
 import org.apache.camel.model.RouteDefinition;
 import org.apache.camel.model.RouteTemplateDefinition;
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 ebaa69a555c..5564146cccc 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
@@ -166,6 +166,37 @@ public class ModelParser extends BaseParser {
                 default: yield 
processorDefinitionAttributeHandler().accept(def, key, val);
             }, optionalIdentifiedDefinitionElementHandler(), noValueHandler());
     }
+    protected BeanFactoryDefinition doParseBeanFactoryDefinition() throws 
IOException, XmlPullParserException {
+        return doParse(new BeanFactoryDefinition(), (def, key, val) -> switch 
(key) {
+                case "builderClass": def.setBuilderClass(val); yield true;
+                case "builderMethod": def.setBuilderMethod(val); yield true;
+                case "destroyMethod": def.setDestroyMethod(val); yield true;
+                case "factoryBean": def.setFactoryBean(val); yield true;
+                case "factoryMethod": def.setFactoryMethod(val); yield true;
+                case "initMethod": def.setInitMethod(val); yield true;
+                case "name": def.setName(val); yield true;
+                case "scriptLanguage": def.setScriptLanguage(val); yield true;
+                case "type": def.setType(val); yield true;
+                default: yield false;
+            }, (def, key) -> switch (key) {
+                case "constructors": def.setConstructors(new 
BeanConstructorsAdapter().unmarshal(doParseBeanConstructorsDefinition())); 
yield true;
+                case "properties": def.setProperties(new 
BeanPropertiesAdapter().unmarshal(doParseBeanPropertiesDefinition())); yield 
true;
+                case "script": def.setScript(doParseText()); yield true;
+                default: yield false;
+            }, noValueHandler());
+    }
+    protected BeanConstructorsDefinition doParseBeanConstructorsDefinition() 
throws IOException, XmlPullParserException {
+        return doParse(new BeanConstructorsDefinition(), noAttributeHandler(), 
(def, key) -> switch (key) {
+                case "constructor": doAdd(doParseBeanConstructorDefinition(), 
def.getConstructors(), def::setConstructors); yield true;
+                default: yield false;
+            }, noValueHandler());
+    }
+    protected BeanPropertiesDefinition doParseBeanPropertiesDefinition() 
throws IOException, XmlPullParserException {
+        return doParse(new BeanPropertiesDefinition(), noAttributeHandler(), 
(def, key) -> switch (key) {
+                case "property": doAdd(doParseBeanPropertyDefinition(), 
def.getProperties(), def::setProperties); yield true;
+                default: yield false;
+            }, noValueHandler());
+    }
     protected CatchDefinition doParseCatchDefinition() throws IOException, 
XmlPullParserException {
         return doParse(new CatchDefinition(), 
processorDefinitionAttributeHandler(), (def, key) -> switch (key) {
                 case "exception": doAdd(doParseText(), def.getExceptions(), 
def::setExceptions); yield true;
@@ -903,7 +934,7 @@ public class ModelParser extends BaseParser {
     protected RouteTemplateDefinition doParseRouteTemplateDefinition() throws 
IOException, XmlPullParserException {
         return doParse(new RouteTemplateDefinition(), 
optionalIdentifiedDefinitionAttributeHandler(), (def, key) -> switch (key) {
                 case "route": def.setRoute(doParseRouteDefinition()); yield 
true;
-                case "templateBean": doAdd(doParseRegistryBeanDefinition(), 
def.getTemplateBeans(), def::setTemplateBeans); yield true;
+                case "templateBean": doAdd(doParseBeanFactoryDefinition(), 
def.getTemplateBeans(), def::setTemplateBeans); yield true;
                 case "templateParameter": 
doAdd(doParseRouteTemplateParameterDefinition(), def.getTemplateParameters(), 
def::setTemplateParameters); yield true;
                 default: yield 
optionalIdentifiedDefinitionElementHandler().accept(def, key);
             }, noValueHandler());
@@ -917,9 +948,6 @@ public class ModelParser extends BaseParser {
                 default: yield false;
             }, noElementHandler(), noValueHandler());
     }
-    protected RegistryBeanDefinition doParseRegistryBeanDefinition() throws 
IOException, XmlPullParserException {
-        return doParse(new RegistryBeanDefinition(), 
beanFactoryDefinitionAttributeHandler(), beanFactoryDefinitionElementHandler(), 
noValueHandler());
-    }
     protected RouteTemplatesDefinition doParseRouteTemplatesDefinition() 
throws IOException, XmlPullParserException {
         return doParse(new RouteTemplatesDefinition(), 
optionalIdentifiedDefinitionAttributeHandler(), (def, key) -> switch (key) {
                 case "routeTemplate": doAdd(doParseRouteTemplateDefinition(), 
def.getRouteTemplates(), def::setRouteTemplates); yield true;
@@ -1085,7 +1113,7 @@ public class ModelParser extends BaseParser {
                 case "routeTemplateRef": def.setRouteTemplateRef(val); yield 
true;
                 default: yield false;
             }, (def, key) -> switch (key) {
-                case "bean": doAdd(doParseRegistryBeanDefinition(), 
def.getBeans(), def::setBeans); yield true;
+                case "bean": doAdd(doParseBeanFactoryDefinition(), 
def.getBeans(), def::setBeans); yield true;
                 case "parameter": 
doAdd(doParseTemplatedRouteParameterDefinition(), def.getParameters(), 
def::setParameters); yield true;
                 default: yield false;
             }, noValueHandler());
@@ -1282,7 +1310,7 @@ public class ModelParser extends BaseParser {
                 return false;
             }
             switch (key) {
-                case "bean": doAdd(doParseRegistryBeanDefinition(), 
def.getBeans(), def::setBeans); break;
+                case "bean": doAdd(doParseBeanFactoryDefinition(), 
def.getBeans(), def::setBeans); break;
                 case "component-scan": doAdd(doParseComponentScanDefinition(), 
def.getComponentScanning(), def::setComponentScanning); break;
                 case "restConfiguration": 
doAdd(doParseRestConfigurationDefinition(), def.getRestConfigurations(), 
def::setRestConfigurations); break;
                 case "rest": doAdd(doParseRestDefinition(), def.getRests(), 
def::setRests); break;
@@ -1354,18 +1382,6 @@ public class ModelParser extends BaseParser {
                 default: yield false;
             }, noElementHandler(), noValueHandler());
     }
-    protected BeanConstructorsDefinition doParseBeanConstructorsDefinition() 
throws IOException, XmlPullParserException {
-        return doParse(new BeanConstructorsDefinition(), noAttributeHandler(), 
(def, key) -> switch (key) {
-                case "constructor": doAdd(doParseBeanConstructorDefinition(), 
def.getConstructors(), def::setConstructors); yield true;
-                default: yield false;
-            }, noValueHandler());
-    }
-    protected BeanPropertiesDefinition doParseBeanPropertiesDefinition() 
throws IOException, XmlPullParserException {
-        return doParse(new BeanPropertiesDefinition(), noAttributeHandler(), 
(def, key) -> switch (key) {
-                case "property": doAdd(doParseBeanPropertyDefinition(), 
def.getProperties(), def::setProperties); yield true;
-                default: yield false;
-            }, noValueHandler());
-    }
     protected BeanPropertyDefinition doParseBeanPropertyDefinition() throws 
IOException, XmlPullParserException {
         return doParse(new BeanPropertyDefinition(), (def, key, val) -> switch 
(key) {
                 case "key": def.setKey(val); yield true;
@@ -1376,28 +1392,6 @@ public class ModelParser extends BaseParser {
                 default: yield false;
             }, noValueHandler());
     }
-    protected <T extends BeanFactoryDefinition> AttributeHandler<T> 
beanFactoryDefinitionAttributeHandler() {
-        return (def, key, val) -> switch (key) {
-            case "builderClass": def.setBuilderClass(val); yield true;
-            case "builderMethod": def.setBuilderMethod(val); yield true;
-            case "destroyMethod": def.setDestroyMethod(val); yield true;
-            case "factoryBean": def.setFactoryBean(val); yield true;
-            case "factoryMethod": def.setFactoryMethod(val); yield true;
-            case "initMethod": def.setInitMethod(val); yield true;
-            case "name": def.setName(val); yield true;
-            case "scriptLanguage": def.setScriptLanguage(val); yield true;
-            case "type": def.setType(val); yield true;
-            default: yield false;
-        };
-    }
-    protected <T extends BeanFactoryDefinition> ElementHandler<T> 
beanFactoryDefinitionElementHandler() {
-        return (def, key) -> switch (key) {
-            case "constructors": def.setConstructors(new 
BeanConstructorsAdapter().unmarshal(doParseBeanConstructorsDefinition())); 
yield true;
-            case "properties": def.setProperties(new 
BeanPropertiesAdapter().unmarshal(doParseBeanPropertiesDefinition())); yield 
true;
-            case "script": def.setScript(doParseText()); yield true;
-            default: yield false;
-        };
-    }
     protected BlacklistServiceCallServiceFilterConfiguration 
doParseBlacklistServiceCallServiceFilterConfiguration() throws IOException, 
XmlPullParserException {
         return doParse(new BlacklistServiceCallServiceFilterConfiguration(), 
identifiedTypeAttributeHandler(), (def, key) -> switch (key) {
                 case "servers": doAdd(doParseText(), def.getServers(), 
def::setServers); yield true;
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 bae84909145..4dfea59912d 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
@@ -800,7 +800,8 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("beanType", def.getBeanType());
         endElement(name);
     }
-    protected void 
doWriteBeanFactoryDefinitionAttributes(BeanFactoryDefinition<?, ?> def) throws 
IOException {
+    protected void doWriteBeanFactoryDefinition(String name, 
BeanFactoryDefinition<?> def) throws IOException {
+        startElement(name);
         doWriteAttribute("factoryMethod", def.getFactoryMethod());
         doWriteAttribute("scriptLanguage", def.getScriptLanguage());
         doWriteAttribute("builderClass", def.getBuilderClass());
@@ -810,16 +811,9 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("name", def.getName());
         doWriteAttribute("builderMethod", def.getBuilderMethod());
         doWriteAttribute("destroyMethod", def.getDestroyMethod());
-    }
-    protected void 
doWriteBeanFactoryDefinitionElements(BeanFactoryDefinition<?, ?> def) throws 
IOException {
         doWriteElement("script", def.getScript(), this::doWriteString);
         doWriteElement("constructors", new 
BeanConstructorsAdapter().marshal(def.getConstructors()), 
this::doWriteBeanConstructorsDefinition);
         doWriteElement("properties", new 
BeanPropertiesAdapter().marshal(def.getProperties()), 
this::doWriteBeanPropertiesDefinition);
-    }
-    protected void doWriteBeanFactoryDefinition(String name, 
BeanFactoryDefinition<?, ?> def) throws IOException {
-        startElement(name);
-        doWriteBeanFactoryDefinitionAttributes(def);
-        doWriteBeanFactoryDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteCatchDefinition(String name, CatchDefinition def) 
throws IOException {
@@ -1570,7 +1564,7 @@ public class ModelWriter extends BaseWriter {
         doWriteOptionalIdentifiedDefinitionAttributes(def);
         doWriteList(null, "templateParameter", def.getTemplateParameters(), 
this::doWriteRouteTemplateParameterDefinition);
         doWriteElement("route", def.getRoute(), this::doWriteRouteDefinition);
-        doWriteList(null, "templateBean", def.getTemplateBeans(), 
this::doWriteRegistryBeanDefinition);
+        doWriteList(null, "templateBean", def.getTemplateBeans(), 
this::doWriteBeanFactoryDefinition);
         endElement(name);
     }
     protected void doWriteRouteTemplateParameterDefinition(String name, 
RouteTemplateParameterDefinition def) throws IOException {
@@ -1729,7 +1723,7 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("routeId", def.getRouteId());
         doWriteAttribute("routeTemplateRef", def.getRouteTemplateRef());
         doWriteAttribute("prefixId", def.getPrefixId());
-        doWriteList(null, "bean", def.getBeans(), 
this::doWriteRegistryBeanDefinition);
+        doWriteList(null, "bean", def.getBeans(), 
this::doWriteBeanFactoryDefinition);
         doWriteList(null, "parameter", def.getParameters(), 
this::doWriteTemplatedRouteParameterDefinition);
         endElement(name);
     }
@@ -1952,7 +1946,7 @@ public class ModelWriter extends BaseWriter {
         domElements(def.getSpringBeans());
         domElements(def.getBlueprintBeans());
         doWriteList(null, "component-scan", def.getComponentScanning(), 
this::doWriteComponentScanDefinition);
-        doWriteList(null, "bean", def.getBeans(), 
this::doWriteRegistryBeanDefinition);
+        doWriteList(null, "bean", def.getBeans(), 
this::doWriteBeanFactoryDefinition);
         doWriteList(null, "restConfiguration", def.getRestConfigurations(), 
this::doWriteRestConfigurationDefinition);
         doWriteList(null, "rest", def.getRests(), this::doWriteRestDefinition);
         doWriteList(null, "routeConfiguration", def.getRouteConfigurations(), 
this::doWriteRouteConfigurationDefinition);
@@ -1969,12 +1963,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("base-package", def.getBasePackage());
         endElement(name);
     }
-    protected void doWriteRegistryBeanDefinition(String name, 
RegistryBeanDefinition<?> def) throws IOException {
-        startElement(name);
-        doWriteBeanFactoryDefinitionAttributes(def);
-        doWriteBeanFactoryDefinitionElements(def);
-        endElement(name);
-    }
     protected void 
doWriteBlacklistServiceCallServiceFilterConfiguration(String name, 
BlacklistServiceCallServiceFilterConfiguration def) throws IOException {
         startElement(name);
         doWriteIdentifiedTypeAttributes(def);
diff --git 
a/core/camel-xml-io/src/test/java/org/apache/camel/xml/in/ModelParserTest.java 
b/core/camel-xml-io/src/test/java/org/apache/camel/xml/in/ModelParserTest.java
index a326de59fde..cda187e1fb8 100644
--- 
a/core/camel-xml-io/src/test/java/org/apache/camel/xml/in/ModelParserTest.java
+++ 
b/core/camel-xml-io/src/test/java/org/apache/camel/xml/in/ModelParserTest.java
@@ -31,9 +31,9 @@ import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
 
-import org.apache.camel.model.BeanFactoryDefinition;
 import org.w3c.dom.Document;
 
+import org.apache.camel.model.BeanFactoryDefinition;
 import org.apache.camel.model.FromDefinition;
 import org.apache.camel.model.PropertyDefinition;
 import org.apache.camel.model.RouteConfigurationDefinition;
diff --git 
a/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/JaxbModelToXMLDumper.java
 
b/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/JaxbModelToXMLDumper.java
index c4787049ed8..a0684c08178 100644
--- 
a/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/JaxbModelToXMLDumper.java
+++ 
b/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/JaxbModelToXMLDumper.java
@@ -36,7 +36,6 @@ import jakarta.xml.bind.Marshaller;
 import javax.xml.transform.OutputKeys;
 import javax.xml.transform.TransformerException;
 
-import org.apache.camel.model.BeanFactoryDefinition;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -46,6 +45,7 @@ import org.apache.camel.CamelContextAware;
 import org.apache.camel.NamedNode;
 import org.apache.camel.TypeConversionException;
 import org.apache.camel.converter.jaxp.XmlConverter;
+import org.apache.camel.model.BeanFactoryDefinition;
 import org.apache.camel.model.RouteDefinition;
 import org.apache.camel.model.RouteTemplateDefinition;
 import org.apache.camel.model.RouteTemplatesDefinition;
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 51a66d56caf..cfddfdceb96 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
@@ -800,7 +800,8 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("beanType", def.getBeanType());
         endElement(name);
     }
-    protected void 
doWriteBeanFactoryDefinitionAttributes(BeanFactoryDefinition<?, ?> def) throws 
IOException {
+    protected void doWriteBeanFactoryDefinition(String name, 
BeanFactoryDefinition<?> def) throws IOException {
+        startElement(name);
         doWriteAttribute("factoryMethod", def.getFactoryMethod());
         doWriteAttribute("scriptLanguage", def.getScriptLanguage());
         doWriteAttribute("builderClass", def.getBuilderClass());
@@ -810,16 +811,9 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("name", def.getName());
         doWriteAttribute("builderMethod", def.getBuilderMethod());
         doWriteAttribute("destroyMethod", def.getDestroyMethod());
-    }
-    protected void 
doWriteBeanFactoryDefinitionElements(BeanFactoryDefinition<?, ?> def) throws 
IOException {
         doWriteElement("script", def.getScript(), this::doWriteString);
         doWriteElement("constructors", new 
BeanConstructorsAdapter().marshal(def.getConstructors()), 
this::doWriteBeanConstructorsDefinition);
         doWriteElement("properties", new 
BeanPropertiesAdapter().marshal(def.getProperties()), 
this::doWriteBeanPropertiesDefinition);
-    }
-    protected void doWriteBeanFactoryDefinition(String name, 
BeanFactoryDefinition<?, ?> def) throws IOException {
-        startElement(name);
-        doWriteBeanFactoryDefinitionAttributes(def);
-        doWriteBeanFactoryDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteCatchDefinition(String name, CatchDefinition def) 
throws IOException {
@@ -1570,7 +1564,7 @@ public class ModelWriter extends BaseWriter {
         doWriteOptionalIdentifiedDefinitionAttributes(def);
         doWriteList(null, "templateParameter", def.getTemplateParameters(), 
this::doWriteRouteTemplateParameterDefinition);
         doWriteElement("route", def.getRoute(), this::doWriteRouteDefinition);
-        doWriteList(null, "templateBean", def.getTemplateBeans(), 
this::doWriteRegistryBeanDefinition);
+        doWriteList(null, "templateBean", def.getTemplateBeans(), 
this::doWriteBeanFactoryDefinition);
         endElement(name);
     }
     protected void doWriteRouteTemplateParameterDefinition(String name, 
RouteTemplateParameterDefinition def) throws IOException {
@@ -1729,7 +1723,7 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("routeId", def.getRouteId());
         doWriteAttribute("routeTemplateRef", def.getRouteTemplateRef());
         doWriteAttribute("prefixId", def.getPrefixId());
-        doWriteList(null, "bean", def.getBeans(), 
this::doWriteRegistryBeanDefinition);
+        doWriteList(null, "bean", def.getBeans(), 
this::doWriteBeanFactoryDefinition);
         doWriteList(null, "parameter", def.getParameters(), 
this::doWriteTemplatedRouteParameterDefinition);
         endElement(name);
     }
@@ -1952,7 +1946,7 @@ public class ModelWriter extends BaseWriter {
         domElements(def.getSpringBeans());
         domElements(def.getBlueprintBeans());
         doWriteList(null, "component-scan", def.getComponentScanning(), 
this::doWriteComponentScanDefinition);
-        doWriteList(null, "bean", def.getBeans(), 
this::doWriteRegistryBeanDefinition);
+        doWriteList(null, "bean", def.getBeans(), 
this::doWriteBeanFactoryDefinition);
         doWriteList(null, "restConfiguration", def.getRestConfigurations(), 
this::doWriteRestConfigurationDefinition);
         doWriteList(null, "rest", def.getRests(), this::doWriteRestDefinition);
         doWriteList(null, "routeConfiguration", def.getRouteConfigurations(), 
this::doWriteRouteConfigurationDefinition);
@@ -1969,12 +1963,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("base-package", def.getBasePackage());
         endElement(name);
     }
-    protected void doWriteRegistryBeanDefinition(String name, 
RegistryBeanDefinition<?> def) throws IOException {
-        startElement(name);
-        doWriteBeanFactoryDefinitionAttributes(def);
-        doWriteBeanFactoryDefinitionElements(def);
-        endElement(name);
-    }
     protected void 
doWriteBlacklistServiceCallServiceFilterConfiguration(String name, 
BlacklistServiceCallServiceFilterConfiguration def) throws IOException {
         startElement(name);
         doWriteIdentifiedTypeAttributes(def);

Reply via email to