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);