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 ba89f4878f9361a8a1f7618f8f45754e0c6f1683
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Fri May 3 07:11:18 2024 +0200

    CAMEL-20514: camel-model - Add support for bean constructors for beans in 
route templates or kamelets
---
 .../org/apache/camel/impl/DefaultCamelContext.java |  6 +-
 .../camel/impl/DefaultDumpRoutesStrategy.java      | 22 +++---
 .../java/org/apache/camel/impl/DefaultModel.java   | 14 ++--
 .../org/apache/camel/builder/RouteBuilder.java     | 10 +--
 .../apache/camel/model/BeanFactoryDefinition.java  | 81 +++++++++-------------
 .../org/apache/camel/model/BeanModelHelper.java    |  5 +-
 .../main/java/org/apache/camel/model/Model.java    |  5 +-
 .../camel/model/RouteTemplateDefinition.java       | 23 +++---
 .../camel/model/TemplatedRouteDefinition.java      | 23 +++---
 .../apache/camel/model/app/BeansDefinition.java    |  7 +-
 .../camel/model/app/RegistryBeanDefinition.java    |  3 +-
 .../org/apache/camel/xml/LwModelToXMLDumper.java   | 12 ++--
 .../org/apache/camel/xml/in/ModelParserTest.java   | 14 ++--
 .../camel/xml/jaxb/JaxbModelToXMLDumper.java       | 12 ++--
 .../org/apache/camel/yaml/LwModelToYAMLDumper.java | 12 ++--
 15 files changed, 117 insertions(+), 132 deletions(-)

diff --git 
a/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
 
b/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
index 3a7c8bec0a7..eba44f8353b 100644
--- 
a/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
+++ 
b/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
@@ -44,6 +44,7 @@ import org.apache.camel.impl.engine.TransformerKey;
 import org.apache.camel.impl.engine.ValidatorKey;
 import org.apache.camel.impl.scan.AssignableToPackageScanFilter;
 import org.apache.camel.impl.scan.InvertingPackageScanFilter;
+import org.apache.camel.model.BeanFactoryDefinition;
 import org.apache.camel.model.DataFormatDefinition;
 import org.apache.camel.model.FaultToleranceConfigurationDefinition;
 import org.apache.camel.model.Model;
@@ -57,7 +58,6 @@ import org.apache.camel.model.RouteDefinition;
 import org.apache.camel.model.RouteDefinitionHelper;
 import org.apache.camel.model.RouteTemplateDefinition;
 import org.apache.camel.model.TemplatedRouteDefinition;
-import org.apache.camel.model.app.RegistryBeanDefinition;
 import org.apache.camel.model.cloud.ServiceCallConfigurationDefinition;
 import org.apache.camel.model.language.ExpressionDefinition;
 import org.apache.camel.model.rest.RestDefinition;
@@ -523,12 +523,12 @@ public class DefaultCamelContext extends 
SimpleCamelContext implements ModelCame
     }
 
     @Override
-    public void addRegistryBean(RegistryBeanDefinition bean) {
+    public void addRegistryBean(BeanFactoryDefinition bean) {
         model.addRegistryBean(bean);
     }
 
     @Override
-    public List<RegistryBeanDefinition> getRegistryBeans() {
+    public List<BeanFactoryDefinition> getRegistryBeans() {
         return model.getRegistryBeans();
     }
 
diff --git 
a/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultDumpRoutesStrategy.java
 
b/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultDumpRoutesStrategy.java
index 44ab01bdb00..3843f451f72 100644
--- 
a/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultDumpRoutesStrategy.java
+++ 
b/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultDumpRoutesStrategy.java
@@ -31,6 +31,7 @@ import java.util.concurrent.atomic.AtomicInteger;
 import org.apache.camel.CamelContext;
 import org.apache.camel.CamelContextAware;
 import org.apache.camel.NamedNode;
+import org.apache.camel.model.BeanFactoryDefinition;
 import org.apache.camel.model.Model;
 import org.apache.camel.model.RouteConfigurationDefinition;
 import org.apache.camel.model.RouteConfigurationsDefinition;
@@ -38,7 +39,6 @@ import org.apache.camel.model.RouteDefinition;
 import org.apache.camel.model.RouteTemplateDefinition;
 import org.apache.camel.model.RouteTemplatesDefinition;
 import org.apache.camel.model.RoutesDefinition;
-import org.apache.camel.model.app.RegistryBeanDefinition;
 import org.apache.camel.model.rest.RestDefinition;
 import org.apache.camel.model.rest.RestsDefinition;
 import org.apache.camel.spi.DumpRoutesStrategy;
@@ -166,18 +166,18 @@ public class DefaultDumpRoutesStrategy extends 
ServiceSupport implements DumpRou
         if (include.contains("*") || include.contains("all") || 
include.contains("beans")) {
             int size = model.getRegistryBeans().size();
             if (size > 0) {
-                Map<Resource, List<RegistryBeanDefinition>> groups = new 
LinkedHashMap<>();
-                for (RegistryBeanDefinition bean : model.getRegistryBeans()) {
+                Map<Resource, List<BeanFactoryDefinition>> groups = new 
LinkedHashMap<>();
+                for (BeanFactoryDefinition bean : model.getRegistryBeans()) {
                     Resource res = bean.getResource();
                     if (res == null) {
                         res = dummy;
                     }
-                    List<RegistryBeanDefinition> beans = 
groups.computeIfAbsent(res, resource -> new ArrayList<>());
+                    List<BeanFactoryDefinition> beans = 
groups.computeIfAbsent(res, resource -> new ArrayList<>());
                     beans.add(bean);
                 }
                 StringBuilder sbLog = new StringBuilder();
-                for (Map.Entry<Resource, List<RegistryBeanDefinition>> entry : 
groups.entrySet()) {
-                    List<RegistryBeanDefinition> beans = entry.getValue();
+                for (Map.Entry<Resource, List<BeanFactoryDefinition>> entry : 
groups.entrySet()) {
+                    List<BeanFactoryDefinition> beans = entry.getValue();
                     Resource resource = entry.getKey();
 
                     StringBuilder sbLocal = new StringBuilder();
@@ -351,18 +351,18 @@ public class DefaultDumpRoutesStrategy extends 
ServiceSupport implements DumpRou
         if (include.contains("*") || include.contains("all") || 
include.contains("beans")) {
             int size = model.getRegistryBeans().size();
             if (size > 0) {
-                Map<Resource, List<RegistryBeanDefinition>> groups = new 
LinkedHashMap<>();
-                for (RegistryBeanDefinition bean : model.getRegistryBeans()) {
+                Map<Resource, List<BeanFactoryDefinition>> groups = new 
LinkedHashMap<>();
+                for (BeanFactoryDefinition bean : model.getRegistryBeans()) {
                     Resource res = bean.getResource();
                     if (res == null) {
                         res = dummy;
                     }
-                    List<RegistryBeanDefinition> beans = 
groups.computeIfAbsent(res, resource -> new ArrayList<>());
+                    List<BeanFactoryDefinition> beans = 
groups.computeIfAbsent(res, resource -> new ArrayList<>());
                     beans.add(bean);
                 }
                 StringBuilder sbLog = new StringBuilder();
-                for (Map.Entry<Resource, List<RegistryBeanDefinition>> entry : 
groups.entrySet()) {
-                    List<RegistryBeanDefinition> beans = entry.getValue();
+                for (Map.Entry<Resource, List<BeanFactoryDefinition>> entry : 
groups.entrySet()) {
+                    List<BeanFactoryDefinition> beans = entry.getValue();
                     Resource resource = entry.getKey();
 
                     StringBuilder sbLocal = new StringBuilder();
diff --git 
a/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultModel.java 
b/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultModel.java
index 8717282647a..170c8132ef7 100644
--- 
a/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultModel.java
+++ 
b/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultModel.java
@@ -29,6 +29,7 @@ import java.util.function.Function;
 import org.apache.camel.CamelContext;
 import org.apache.camel.FailedToCreateRouteFromTemplateException;
 import org.apache.camel.RouteTemplateContext;
+import org.apache.camel.model.BeanFactoryDefinition;
 import org.apache.camel.model.BeanModelHelper;
 import org.apache.camel.model.DataFormatDefinition;
 import org.apache.camel.model.DefaultRouteTemplateContext;
@@ -50,7 +51,6 @@ import org.apache.camel.model.RoutesDefinition;
 import org.apache.camel.model.TemplatedRouteDefinition;
 import org.apache.camel.model.TemplatedRouteParameterDefinition;
 import org.apache.camel.model.ToDefinition;
-import org.apache.camel.model.app.RegistryBeanDefinition;
 import org.apache.camel.model.cloud.ServiceCallConfigurationDefinition;
 import org.apache.camel.model.rest.RestDefinition;
 import org.apache.camel.model.transformer.TransformerDefinition;
@@ -81,7 +81,7 @@ public class DefaultModel implements Model {
     private List<TransformerDefinition> transformers = new ArrayList<>();
     private List<ValidatorDefinition> validators = new ArrayList<>();
     // XML and YAML DSL allows to declare beans in the DSL
-    private final List<RegistryBeanDefinition> beans = new ArrayList<>();
+    private final List<BeanFactoryDefinition> beans = new ArrayList<>();
     private final Map<String, ServiceCallConfigurationDefinition> 
serviceCallConfigurations = new ConcurrentHashMap<>();
     private final Map<String, Resilience4jConfigurationDefinition> 
resilience4jConfigurations = new ConcurrentHashMap<>();
     private final Map<String, FaultToleranceConfigurationDefinition> 
faultToleranceConfigurations = new ConcurrentHashMap<>();
@@ -544,7 +544,7 @@ public class DefaultModel implements Model {
 
     private static void addTemplateBeans(RouteTemplateContext 
routeTemplateContext, RouteTemplateDefinition target)
             throws Exception {
-        for (RegistryBeanDefinition b : target.getTemplateBeans()) {
+        for (BeanFactoryDefinition b : target.getTemplateBeans()) {
             BeanModelHelper.bind(b, routeTemplateContext);
         }
     }
@@ -556,9 +556,9 @@ public class DefaultModel implements Model {
 
         final RouteTemplateContext routeTemplateContext = 
toRouteTemplateContext(templatedRouteDefinition);
         // Bind the beans into the context
-        final List<RegistryBeanDefinition<TemplatedRouteDefinition>> beans = 
templatedRouteDefinition.getBeans();
+        final List<BeanFactoryDefinition<TemplatedRouteDefinition>> beans = 
templatedRouteDefinition.getBeans();
         if (beans != null) {
-            for (RegistryBeanDefinition<TemplatedRouteDefinition> 
beanDefinition : beans) {
+            for (BeanFactoryDefinition<TemplatedRouteDefinition> 
beanDefinition : beans) {
                 BeanModelHelper.bind(beanDefinition, routeTemplateContext);
             }
         }
@@ -784,14 +784,14 @@ public class DefaultModel implements Model {
     }
 
     @Override
-    public void addRegistryBean(RegistryBeanDefinition bean) {
+    public void addRegistryBean(BeanFactoryDefinition bean) {
         // remove exiting bean with same name to update
         beans.removeIf(b -> bean.getName().equals(b.getName()));
         beans.add(bean);
     }
 
     @Override
-    public List<RegistryBeanDefinition> getRegistryBeans() {
+    public List<BeanFactoryDefinition> getRegistryBeans() {
         return beans;
     }
 
diff --git 
a/core/camel-core-model/src/main/java/org/apache/camel/builder/RouteBuilder.java
 
b/core/camel-core-model/src/main/java/org/apache/camel/builder/RouteBuilder.java
index 73c613d9c09..89e962ffc99 100644
--- 
a/core/camel-core-model/src/main/java/org/apache/camel/builder/RouteBuilder.java
+++ 
b/core/camel-core-model/src/main/java/org/apache/camel/builder/RouteBuilder.java
@@ -32,6 +32,7 @@ import org.apache.camel.ErrorHandlerFactory;
 import org.apache.camel.Ordered;
 import org.apache.camel.Route;
 import org.apache.camel.RoutesBuilder;
+import org.apache.camel.model.BeanFactoryDefinition;
 import org.apache.camel.model.FromDefinition;
 import org.apache.camel.model.InterceptDefinition;
 import org.apache.camel.model.InterceptFromDefinition;
@@ -46,7 +47,6 @@ import org.apache.camel.model.RouteTemplatesDefinition;
 import org.apache.camel.model.RoutesDefinition;
 import org.apache.camel.model.TemplatedRouteDefinition;
 import org.apache.camel.model.TemplatedRoutesDefinition;
-import org.apache.camel.model.app.RegistryBeanDefinition;
 import org.apache.camel.model.errorhandler.RefErrorHandlerDefinition;
 import org.apache.camel.model.rest.RestConfigurationDefinition;
 import org.apache.camel.model.rest.RestDefinition;
@@ -77,7 +77,7 @@ public abstract class RouteBuilder extends BuilderSupport 
implements RoutesBuild
     private final List<TransformerBuilder> transformerBuilders = new 
ArrayList<>();
     private final List<ValidatorBuilder> validatorBuilders = new ArrayList<>();
     // XML and YAML DSL allows to define custom beans which we need to capture
-    private final List<RegistryBeanDefinition> beans = new ArrayList<>();
+    private final List<BeanFactoryDefinition> beans = new ArrayList<>();
 
     private RestsDefinition restCollection = new RestsDefinition();
     private RestConfigurationDefinition restConfiguration;
@@ -784,7 +784,7 @@ public abstract class RouteBuilder extends BuilderSupport 
implements RoutesBuild
             getRestCollection().setResource(getResource());
             getRouteTemplateCollection().setResource(getResource());
             getTemplatedRouteCollection().setResource(getResource());
-            for (RegistryBeanDefinition def : beans) {
+            for (BeanFactoryDefinition def : beans) {
                 def.setResource(getResource());
             }
 
@@ -928,7 +928,7 @@ public abstract class RouteBuilder extends BuilderSupport 
implements RoutesBuild
         CamelContext camelContext = notNullCamelContext();
 
         Model model = 
camelContext.getCamelContextExtension().getContextPlugin(Model.class);
-        for (RegistryBeanDefinition def : beans) {
+        for (BeanFactoryDefinition def : beans) {
             // add to model
             model.addRegistryBean(def);
         }
@@ -944,7 +944,7 @@ public abstract class RouteBuilder extends BuilderSupport 
implements RoutesBuild
         return getRestCollection();
     }
 
-    public List<RegistryBeanDefinition> getBeans() {
+    public List<BeanFactoryDefinition> getBeans() {
         return beans;
     }
 
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 dd9d009ef06..7bb1222d64a 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
@@ -24,6 +24,7 @@ import jakarta.xml.bind.annotation.XmlAccessorType;
 import jakarta.xml.bind.annotation.XmlAttribute;
 import jakarta.xml.bind.annotation.XmlElement;
 import jakarta.xml.bind.annotation.XmlTransient;
+import jakarta.xml.bind.annotation.XmlType;
 import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 import org.apache.camel.RouteTemplateContext;
@@ -34,17 +35,12 @@ import org.apache.camel.spi.Resource;
 import org.apache.camel.spi.ResourceAware;
 
 /**
- * Base class for nodes that define a bean factory.
- *
- * @param <T> the type of the bean factory.
- * @param <P> the type of the parent node.
+ * Define custom beans that can be used in your Camel routes and in general.
  */
 @Metadata(label = "configuration")
+@XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-public abstract class BeanFactoryDefinition<
-        T extends BeanFactoryDefinition<T, P>, P> implements ResourceAware {
-
-    // TODO: only 1 class of this
+public class BeanFactoryDefinition<P> implements ResourceAware {
 
     @XmlTransient
     private Resource resource;
@@ -260,8 +256,7 @@ public abstract class BeanFactoryDefinition<
      *
      * #class or #type then the bean is created via the fully qualified 
classname, such as #class:com.foo.MyBean
      */
-    @SuppressWarnings("unchecked")
-    public T type(String prefix, Class<?> type) {
+    public BeanFactoryDefinition<P> type(String prefix, Class<?> type) {
         if (prefix.startsWith("#type") || prefix.startsWith("#class")) {
             if (!prefix.endsWith(":")) {
                 prefix = prefix + ":";
@@ -269,7 +264,7 @@ public abstract class BeanFactoryDefinition<
             setType(prefix + type.getName());
         }
         setBeanType(type);
-        return (T) this;
+        return this;
     }
 
     /**
@@ -277,14 +272,13 @@ public abstract class BeanFactoryDefinition<
      *
      * #class or #type then the bean is created via the fully qualified 
classname, such as #class:com.foo.MyBean
      */
-    @SuppressWarnings("unchecked")
-    public T type(String type) {
+    public BeanFactoryDefinition<P> type(String type) {
         if (!type.startsWith("#")) {
             // use #class as default
             type = "#class:" + type;
         }
         setType(type);
-        return (T) this;
+        return this;
     }
 
     /**
@@ -292,10 +286,9 @@ public abstract class BeanFactoryDefinition<
      *
      * @param type the type of the class to create as bean
      */
-    @SuppressWarnings("unchecked")
-    public T typeClass(Class<?> type) {
+    public BeanFactoryDefinition<P> typeClass(Class<?> type) {
         setType("#class:" + type.getName());
-        return (T) this;
+        return this;
     }
 
     /**
@@ -303,10 +296,9 @@ public abstract class BeanFactoryDefinition<
      *
      * @param type the type of the class to create as bean
      */
-    @SuppressWarnings("unchecked")
-    public T typeClass(String type) {
+    public BeanFactoryDefinition<P> typeClass(String type) {
         setType("#class:" + type);
-        return (T) this;
+        return this;
     }
 
     /**
@@ -314,10 +306,9 @@ public abstract class BeanFactoryDefinition<
      *
      * @param type the fully qualified type of the returned bean
      */
-    @SuppressWarnings("unchecked")
-    public T beanType(Class<?> type) {
+    public BeanFactoryDefinition<P> beanType(Class<?> type) {
         setBeanType(type);
-        return (T) this;
+        return this;
     }
 
     /**
@@ -350,52 +341,52 @@ public abstract class BeanFactoryDefinition<
      * The name of the custom initialization method to invoke after setting 
bean properties. The method must have no
      * arguments, but may throw any exception.
      */
-    public T initMethod(String initMethod) {
+    public BeanFactoryDefinition<P> initMethod(String initMethod) {
         setInitMethod(initMethod);
-        return (T) this;
+        return this;
     }
 
     /**
      * The name of the custom destroy method to invoke on bean shutdown, such 
as when Camel is shutting down. The method
      * must have no arguments, but may throw any exception.
      */
-    public T destroyMethod(String destroyMethod) {
+    public BeanFactoryDefinition<P> destroyMethod(String destroyMethod) {
         setDestroyMethod(destroyMethod);
-        return (T) this;
+        return this;
     }
 
     /**
      * Name of method to invoke when creating the bean via a factory bean.
      */
-    public T factoryMethod(String factoryMethod) {
+    public BeanFactoryDefinition<P> factoryMethod(String factoryMethod) {
         setFactoryMethod(factoryMethod);
-        return (T) this;
+        return this;
     }
 
     /**
      * Name of factory bean (bean id) to use for creating the bean.
      */
-    public T factoryBean(String factoryBean) {
+    public BeanFactoryDefinition<P> factoryBean(String factoryBean) {
         setFactoryBean(factoryBean);
-        return (T) this;
+        return this;
     }
 
     /**
      * Fully qualified class name of builder class to use for creating and 
configuring the bean. The builder will use
      * the properties values to configure the bean.
      */
-    public T builderClass(String builderClass) {
+    public BeanFactoryDefinition<P> builderClass(String builderClass) {
         setBuilderClass(builderClass);
-        return (T) this;
+        return this;
     }
 
     /**
      * Name of method when using builder class. This method is invoked after 
configuring to create the actual bean. This
      * method is often named build (used by default).
      */
-    public T builderMethod(String builderMethod) {
+    public BeanFactoryDefinition<P> builderMethod(String builderMethod) {
         setBuilderMethod(builderMethod);
-        return (T) this;
+        return this;
     }
 
     /**
@@ -488,23 +479,21 @@ public abstract class BeanFactoryDefinition<
      * @param index the constructor index (starting from zero)
      * @param value the constructor value
      */
-    @SuppressWarnings("unchecked")
-    public T constructor(Integer index, String value) {
+    public BeanFactoryDefinition<P> constructor(Integer index, String value) {
         if (constructors == null) {
             constructors = new LinkedHashMap<>();
         }
         constructors.put(index, value);
-        return (T) this;
+        return this;
     }
 
     /**
      * Optional constructor arguments for creating the bean. Arguments 
correspond to specific index of the constructor
      * argument list, starting from zero.
      */
-    @SuppressWarnings("unchecked")
-    public T constructors(Map<Integer, Object> constructors) {
+    public BeanFactoryDefinition<P> constructors(Map<Integer, Object> 
constructors) {
         this.constructors = constructors;
-        return (T) this;
+        return this;
     }
 
     /**
@@ -513,22 +502,20 @@ public abstract class BeanFactoryDefinition<
      * @param key   the property name
      * @param value the property value
      */
-    @SuppressWarnings("unchecked")
-    public T property(String key, String value) {
+    public BeanFactoryDefinition<P> property(String key, String value) {
         if (properties == null) {
             properties = new LinkedHashMap<>();
         }
         properties.put(key, value);
-        return (T) this;
+        return this;
     }
 
     /**
      * Sets properties to set on the created local bean
      */
-    @SuppressWarnings("unchecked")
-    public T properties(Map<String, Object> properties) {
+    public BeanFactoryDefinition<P> properties(Map<String, Object> properties) 
{
         this.properties = properties;
-        return (T) this;
+        return this;
     }
 
     public P end() {
diff --git 
a/core/camel-core-model/src/main/java/org/apache/camel/model/BeanModelHelper.java
 
b/core/camel-core-model/src/main/java/org/apache/camel/model/BeanModelHelper.java
index c949f1961a8..c69642c26bd 100644
--- 
a/core/camel-core-model/src/main/java/org/apache/camel/model/BeanModelHelper.java
+++ 
b/core/camel-core-model/src/main/java/org/apache/camel/model/BeanModelHelper.java
@@ -27,7 +27,6 @@ import org.apache.camel.Expression;
 import org.apache.camel.NoSuchBeanException;
 import org.apache.camel.RouteTemplateContext;
 import org.apache.camel.RuntimeCamelException;
-import org.apache.camel.model.app.RegistryBeanDefinition;
 import org.apache.camel.spi.ExchangeFactory;
 import org.apache.camel.spi.Language;
 import org.apache.camel.spi.ScriptingLanguage;
@@ -55,7 +54,7 @@ public final class BeanModelHelper {
      * @return           the created bean instance
      * @throws Exception is thrown if error creating the bean
      */
-    public static Object newInstance(RegistryBeanDefinition def, CamelContext 
context) throws Exception {
+    public static Object newInstance(BeanFactoryDefinition def, CamelContext 
context) throws Exception {
         Object target;
 
         String type = def.getType();
@@ -152,7 +151,7 @@ public final class BeanModelHelper {
      * @param  routeTemplateContext the context into which the bean factory 
should be bound.
      * @throws Exception            if an error occurs while trying to bind 
the bean factory
      */
-    public static void bind(BeanFactoryDefinition<?, ?> def, 
RouteTemplateContext routeTemplateContext)
+    public static void bind(BeanFactoryDefinition<?> def, RouteTemplateContext 
routeTemplateContext)
             throws Exception {
 
         final Map<String, Object> props = new HashMap<>();
diff --git 
a/core/camel-core-model/src/main/java/org/apache/camel/model/Model.java 
b/core/camel-core-model/src/main/java/org/apache/camel/model/Model.java
index 7efa1b59452..0a307371885 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/Model.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/Model.java
@@ -23,7 +23,6 @@ import java.util.function.Function;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.RouteTemplateContext;
-import org.apache.camel.model.app.RegistryBeanDefinition;
 import org.apache.camel.model.cloud.ServiceCallConfigurationDefinition;
 import org.apache.camel.model.rest.RestDefinition;
 import org.apache.camel.model.transformer.TransformerDefinition;
@@ -493,11 +492,11 @@ public interface Model {
     /**
      * Adds the custom bean
      */
-    void addRegistryBean(RegistryBeanDefinition bean);
+    void addRegistryBean(BeanFactoryDefinition bean);
 
     /**
      * Gets the custom beans
      */
-    List<RegistryBeanDefinition> getRegistryBeans();
+    List<BeanFactoryDefinition> getRegistryBeans();
 
 }
diff --git 
a/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplateDefinition.java
 
b/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplateDefinition.java
index e8849d78b11..c44c4de3f70 100644
--- 
a/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplateDefinition.java
+++ 
b/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplateDefinition.java
@@ -33,7 +33,6 @@ import jakarta.xml.bind.annotation.XmlType;
 import org.apache.camel.Endpoint;
 import org.apache.camel.RouteTemplateContext;
 import org.apache.camel.builder.EndpointConsumerBuilder;
-import org.apache.camel.model.app.RegistryBeanDefinition;
 import org.apache.camel.spi.AsEndpointUri;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.Resource;
@@ -56,7 +55,7 @@ public class RouteTemplateDefinition extends 
OptionalIdentifiedDefinition<RouteT
     private List<RouteTemplateParameterDefinition> templateParameters;
     @XmlElement(name = "templateBean")
     @Metadata(description = "Adds a local bean the route template uses")
-    private List<RegistryBeanDefinition<RouteTemplateDefinition>> 
templateBeans;
+    private List<BeanFactoryDefinition<RouteTemplateDefinition>> templateBeans;
     @XmlElement(name = "route", required = true)
     private RouteDefinition route = new RouteDefinition();
     @XmlTransient
@@ -70,11 +69,11 @@ public class RouteTemplateDefinition extends 
OptionalIdentifiedDefinition<RouteT
         this.templateParameters = templateParameters;
     }
 
-    public List<RegistryBeanDefinition<RouteTemplateDefinition>> 
getTemplateBeans() {
+    public List<BeanFactoryDefinition<RouteTemplateDefinition>> 
getTemplateBeans() {
         return templateBeans;
     }
 
-    public void 
setTemplateBeans(List<RegistryBeanDefinition<RouteTemplateDefinition>> 
templateBeans) {
+    public void 
setTemplateBeans(List<BeanFactoryDefinition<RouteTemplateDefinition>> 
templateBeans) {
         this.templateBeans = templateBeans;
     }
 
@@ -225,7 +224,7 @@ public class RouteTemplateDefinition extends 
OptionalIdentifiedDefinition<RouteT
         if (templateBeans == null) {
             templateBeans = new ArrayList<>();
         }
-        RegistryBeanDefinition def = new RegistryBeanDefinition();
+        BeanFactoryDefinition<RouteTemplateDefinition> def = new 
BeanFactoryDefinition<>();
         def.setName(name);
         def.setBeanType(type);
         templateBeans.add(def);
@@ -243,7 +242,7 @@ public class RouteTemplateDefinition extends 
OptionalIdentifiedDefinition<RouteT
         if (templateBeans == null) {
             templateBeans = new ArrayList<>();
         }
-        RegistryBeanDefinition def = new RegistryBeanDefinition();
+        BeanFactoryDefinition<RouteTemplateDefinition> def = new 
BeanFactoryDefinition<>();
         def.setName(name);
         if (bean instanceof RouteTemplateContext.BeanSupplier) {
             def.setBeanSupplier((RouteTemplateContext.BeanSupplier<Object>) 
bean);
@@ -269,7 +268,7 @@ public class RouteTemplateDefinition extends 
OptionalIdentifiedDefinition<RouteT
         if (templateBeans == null) {
             templateBeans = new ArrayList<>();
         }
-        RegistryBeanDefinition def = new RegistryBeanDefinition();
+        BeanFactoryDefinition<RouteTemplateDefinition> def = new 
BeanFactoryDefinition();
         def.setName(name);
         def.setBeanSupplier(ctx -> ((Supplier<?>) bean).get());
         templateBeans.add(def);
@@ -287,7 +286,7 @@ public class RouteTemplateDefinition extends 
OptionalIdentifiedDefinition<RouteT
         if (templateBeans == null) {
             templateBeans = new ArrayList<>();
         }
-        RegistryBeanDefinition def = new RegistryBeanDefinition();
+        BeanFactoryDefinition<RouteTemplateDefinition> def = new 
BeanFactoryDefinition<>();
         def.setName(name);
         def.setBeanType(type);
         def.setBeanSupplier(bean);
@@ -306,7 +305,7 @@ public class RouteTemplateDefinition extends 
OptionalIdentifiedDefinition<RouteT
         if (templateBeans == null) {
             templateBeans = new ArrayList<>();
         }
-        RegistryBeanDefinition<RouteTemplateDefinition> def = new 
RegistryBeanDefinition<>();
+        BeanFactoryDefinition<RouteTemplateDefinition> def = new 
BeanFactoryDefinition<>();
         def.setName(name);
         def.setScriptLanguage(language);
         def.setScript(script);
@@ -326,7 +325,7 @@ public class RouteTemplateDefinition extends 
OptionalIdentifiedDefinition<RouteT
         if (templateBeans == null) {
             templateBeans = new ArrayList<>();
         }
-        RegistryBeanDefinition<RouteTemplateDefinition> def = new 
RegistryBeanDefinition<>();
+        BeanFactoryDefinition<RouteTemplateDefinition> def = new 
BeanFactoryDefinition<>();
         def.setName(name);
         def.setBeanType(type);
         def.setScriptLanguage(language);
@@ -341,11 +340,11 @@ public class RouteTemplateDefinition extends 
OptionalIdentifiedDefinition<RouteT
      * @param  name the name of the bean
      * @return      fluent builder to choose which language and script to use 
for creating the bean
      */
-    public RegistryBeanDefinition<RouteTemplateDefinition> templateBean(String 
name) {
+    public BeanFactoryDefinition<RouteTemplateDefinition> templateBean(String 
name) {
         if (templateBeans == null) {
             templateBeans = new ArrayList<>();
         }
-        RegistryBeanDefinition<RouteTemplateDefinition> def = new 
RegistryBeanDefinition<>();
+        BeanFactoryDefinition<RouteTemplateDefinition> def = new 
BeanFactoryDefinition<>();
         def.setParent(this);
         def.setName(name);
         templateBeans.add(def);
diff --git 
a/core/camel-core-model/src/main/java/org/apache/camel/model/TemplatedRouteDefinition.java
 
b/core/camel-core-model/src/main/java/org/apache/camel/model/TemplatedRouteDefinition.java
index e5f09bcd1aa..d3deb898f41 100644
--- 
a/core/camel-core-model/src/main/java/org/apache/camel/model/TemplatedRouteDefinition.java
+++ 
b/core/camel-core-model/src/main/java/org/apache/camel/model/TemplatedRouteDefinition.java
@@ -32,7 +32,6 @@ import jakarta.xml.bind.annotation.XmlType;
 import org.apache.camel.CamelContext;
 import org.apache.camel.CamelContextAware;
 import org.apache.camel.RouteTemplateContext;
-import org.apache.camel.model.app.RegistryBeanDefinition;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.Resource;
 import org.apache.camel.spi.ResourceAware;
@@ -62,7 +61,7 @@ public class TemplatedRouteDefinition implements 
CamelContextAware, ResourceAwar
     private List<TemplatedRouteParameterDefinition> parameters;
     @XmlElement(name = "bean")
     @Metadata(description = "Adds a local bean as input of the template to 
build the route")
-    private List<RegistryBeanDefinition<TemplatedRouteDefinition>> beans;
+    private List<BeanFactoryDefinition<TemplatedRouteDefinition>> beans;
 
     public String getRouteTemplateRef() {
         return routeTemplateRef;
@@ -80,11 +79,11 @@ public class TemplatedRouteDefinition implements 
CamelContextAware, ResourceAwar
         this.parameters = parameters;
     }
 
-    public List<RegistryBeanDefinition<TemplatedRouteDefinition>> getBeans() {
+    public List<BeanFactoryDefinition<TemplatedRouteDefinition>> getBeans() {
         return beans;
     }
 
-    public void 
setBeans(List<RegistryBeanDefinition<TemplatedRouteDefinition>> beans) {
+    public void setBeans(List<BeanFactoryDefinition<TemplatedRouteDefinition>> 
beans) {
         this.beans = beans;
     }
 
@@ -158,7 +157,7 @@ public class TemplatedRouteDefinition implements 
CamelContextAware, ResourceAwar
         if (beans == null) {
             beans = new ArrayList<>();
         }
-        RegistryBeanDefinition<TemplatedRouteDefinition> def = new 
RegistryBeanDefinition<>();
+        BeanFactoryDefinition<TemplatedRouteDefinition> def = new 
BeanFactoryDefinition<>();
         def.setName(name);
         def.setBeanType(type);
         beans.add(def);
@@ -176,7 +175,7 @@ public class TemplatedRouteDefinition implements 
CamelContextAware, ResourceAwar
         if (beans == null) {
             beans = new ArrayList<>();
         }
-        RegistryBeanDefinition<TemplatedRouteDefinition> def = new 
RegistryBeanDefinition<>();
+        BeanFactoryDefinition<TemplatedRouteDefinition> def = new 
BeanFactoryDefinition<>();
         def.setName(name);
         if (bean instanceof RouteTemplateContext.BeanSupplier) {
             def.setBeanSupplier((RouteTemplateContext.BeanSupplier<Object>) 
bean);
@@ -202,7 +201,7 @@ public class TemplatedRouteDefinition implements 
CamelContextAware, ResourceAwar
         if (beans == null) {
             beans = new ArrayList<>();
         }
-        RegistryBeanDefinition<TemplatedRouteDefinition> def = new 
RegistryBeanDefinition<>();
+        BeanFactoryDefinition<TemplatedRouteDefinition> def = new 
BeanFactoryDefinition<>();
         def.setName(name);
         def.setBeanSupplier(ctx -> ((Supplier<?>) bean).get());
         beans.add(def);
@@ -220,7 +219,7 @@ public class TemplatedRouteDefinition implements 
CamelContextAware, ResourceAwar
         if (beans == null) {
             beans = new ArrayList<>();
         }
-        RegistryBeanDefinition<TemplatedRouteDefinition> def = new 
RegistryBeanDefinition<>();
+        BeanFactoryDefinition<TemplatedRouteDefinition> def = new 
BeanFactoryDefinition<>();
         def.setName(name);
         def.setBeanType(type);
         def.setBeanSupplier(bean);
@@ -239,7 +238,7 @@ public class TemplatedRouteDefinition implements 
CamelContextAware, ResourceAwar
         if (beans == null) {
             beans = new ArrayList<>();
         }
-        RegistryBeanDefinition<TemplatedRouteDefinition> def = new 
RegistryBeanDefinition<>();
+        BeanFactoryDefinition<TemplatedRouteDefinition> def = new 
BeanFactoryDefinition<>();
         def.setName(name);
         def.setType(language);
         def.setScript(script);
@@ -259,7 +258,7 @@ public class TemplatedRouteDefinition implements 
CamelContextAware, ResourceAwar
         if (beans == null) {
             beans = new ArrayList<>();
         }
-        RegistryBeanDefinition<TemplatedRouteDefinition> def = new 
RegistryBeanDefinition<>();
+        BeanFactoryDefinition<TemplatedRouteDefinition> def = new 
BeanFactoryDefinition<>();
         def.setName(name);
         def.setBeanType(type);
         def.setType(language);
@@ -274,11 +273,11 @@ public class TemplatedRouteDefinition implements 
CamelContextAware, ResourceAwar
      * @param  name the name of the bean
      * @return      fluent builder to choose which language and script to use 
for creating the bean
      */
-    public RegistryBeanDefinition<TemplatedRouteDefinition> bean(String name) {
+    public BeanFactoryDefinition<TemplatedRouteDefinition> bean(String name) {
         if (beans == null) {
             beans = new ArrayList<>();
         }
-        RegistryBeanDefinition<TemplatedRouteDefinition> def = new 
RegistryBeanDefinition<>();
+        BeanFactoryDefinition<TemplatedRouteDefinition> def = new 
BeanFactoryDefinition<>();
         def.setParent(this);
         def.setName(name);
         beans.add(def);
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 383505352fd..06b237025dc 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,6 +26,7 @@ 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.RouteConfigurationDefinition;
@@ -66,7 +67,7 @@ public class BeansDefinition {
     // to "bean processors"
 
     @XmlElement(name = "bean")
-    private List<RegistryBeanDefinition> beans = new ArrayList<>();
+    private List<BeanFactoryDefinition> beans = new ArrayList<>();
 
     // this is the only way I found to generate usable Schema without imports, 
while allowing elements
     // from different namespaces
@@ -112,14 +113,14 @@ public class BeansDefinition {
         this.componentScanning = componentScanning;
     }
 
-    public List<RegistryBeanDefinition> getBeans() {
+    public List<BeanFactoryDefinition> getBeans() {
         return beans;
     }
 
     /**
      * List of bean
      */
-    public void setBeans(List<RegistryBeanDefinition> beans) {
+    public void setBeans(List<BeanFactoryDefinition> beans) {
         this.beans = beans;
     }
 
diff --git 
a/core/camel-core-model/src/main/java/org/apache/camel/model/app/RegistryBeanDefinition.java
 
b/core/camel-core-model/src/main/java/org/apache/camel/model/app/RegistryBeanDefinition.java
index e7a239d3863..c3c3bc4fea0 100644
--- 
a/core/camel-core-model/src/main/java/org/apache/camel/model/app/RegistryBeanDefinition.java
+++ 
b/core/camel-core-model/src/main/java/org/apache/camel/model/app/RegistryBeanDefinition.java
@@ -29,6 +29,7 @@ import org.apache.camel.spi.Metadata;
 @Metadata(label = "configuration")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-public class RegistryBeanDefinition<P> extends 
BeanFactoryDefinition<RegistryBeanDefinition<P>, P> {
+@Deprecated
+public class RegistryBeanDefinition<P> extends BeanFactoryDefinition<P> {
 
 }
diff --git 
a/core/camel-xml-io/src/main/java/org/apache/camel/xml/LwModelToXMLDumper.java 
b/core/camel-xml-io/src/main/java/org/apache/camel/xml/LwModelToXMLDumper.java
index 8e7d69b1d89..2a3afe62958 100644
--- 
a/core/camel-xml-io/src/main/java/org/apache/camel/xml/LwModelToXMLDumper.java
+++ 
b/core/camel-xml-io/src/main/java/org/apache/camel/xml/LwModelToXMLDumper.java
@@ -31,6 +31,7 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.CamelContextAware;
 import org.apache.camel.Expression;
 import org.apache.camel.NamedNode;
+import org.apache.camel.model.BeanFactoryDefinition;
 import org.apache.camel.model.ExpressionNode;
 import org.apache.camel.model.FromDefinition;
 import org.apache.camel.model.OptionalIdentifiedDefinition;
@@ -40,7 +41,6 @@ import org.apache.camel.model.RouteTemplatesDefinition;
 import org.apache.camel.model.RoutesDefinition;
 import org.apache.camel.model.SendDefinition;
 import org.apache.camel.model.ToDynamicDefinition;
-import org.apache.camel.model.app.RegistryBeanDefinition;
 import org.apache.camel.model.language.ExpressionDefinition;
 import org.apache.camel.spi.ModelToXMLDumper;
 import org.apache.camel.spi.NamespaceAware;
@@ -181,9 +181,9 @@ public class LwModelToXMLDumper implements ModelToXMLDumper 
{
         StringWriter buffer = new StringWriter();
         BeanModelWriter writer = new BeanModelWriter(buffer);
 
-        List<RegistryBeanDefinition> list = new ArrayList<>();
+        List<BeanFactoryDefinition> list = new ArrayList<>();
         for (Object bean : beans) {
-            if (bean instanceof RegistryBeanDefinition rb) {
+            if (bean instanceof BeanFactoryDefinition rb) {
                 list.add(rb);
             }
         }
@@ -310,16 +310,16 @@ public class LwModelToXMLDumper implements 
ModelToXMLDumper {
             // noop
         }
 
-        public void writeBeans(List<RegistryBeanDefinition> beans) {
+        public void writeBeans(List<BeanFactoryDefinition> beans) {
             if (beans.isEmpty()) {
                 return;
             }
-            for (RegistryBeanDefinition b : beans) {
+            for (BeanFactoryDefinition b : beans) {
                 doWriteRegistryBeanDefinition(b);
             }
         }
 
-        private void doWriteRegistryBeanDefinition(RegistryBeanDefinition b) {
+        private void doWriteRegistryBeanDefinition(BeanFactoryDefinition b) {
             String type = b.getType();
             if (type.startsWith("#class:")) {
                 type = type.substring(7);
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 65a70d24a95..a326de59fde 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,6 +31,7 @@ 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.FromDefinition;
@@ -44,7 +45,6 @@ import org.apache.camel.model.SetBodyDefinition;
 import org.apache.camel.model.TemplatedRoutesDefinition;
 import org.apache.camel.model.ToDefinition;
 import org.apache.camel.model.app.BeansDefinition;
-import org.apache.camel.model.app.RegistryBeanDefinition;
 import org.apache.camel.model.errorhandler.DeadLetterChannelDefinition;
 import org.apache.camel.model.language.XPathExpression;
 import org.apache.camel.model.rest.ParamDefinition;
@@ -259,8 +259,8 @@ public class ModelParserTest {
         assertEquals(2, beans.getBeans().size());
         assertTrue(beans.getSpringBeans().isEmpty());
 
-        RegistryBeanDefinition b1 = beans.getBeans().get(0);
-        RegistryBeanDefinition b2 = beans.getBeans().get(1);
+        BeanFactoryDefinition b1 = beans.getBeans().get(0);
+        BeanFactoryDefinition b2 = beans.getBeans().get(1);
 
         assertEquals("b1", b1.getName());
         assertEquals("org.apache.camel.xml.in.ModelParserTest.MyBean", 
b1.getType());
@@ -289,8 +289,8 @@ public class ModelParserTest {
         assertEquals(2, beans.getBeans().size());
         assertTrue(beans.getSpringBeans().isEmpty());
 
-        RegistryBeanDefinition b1 = beans.getBeans().get(0);
-        RegistryBeanDefinition b2 = beans.getBeans().get(1);
+        BeanFactoryDefinition b1 = beans.getBeans().get(0);
+        BeanFactoryDefinition b2 = beans.getBeans().get(1);
 
         assertEquals("b1", b1.getName());
         assertEquals("org.apache.camel.xml.in.ModelParserTest.MyBean", 
b1.getType());
@@ -316,8 +316,8 @@ public class ModelParserTest {
         assertEquals(2, beans.getBeans().size());
         assertTrue(beans.getSpringBeans().isEmpty());
 
-        RegistryBeanDefinition b1 = beans.getBeans().get(0);
-        RegistryBeanDefinition b2 = beans.getBeans().get(1);
+        BeanFactoryDefinition b1 = beans.getBeans().get(0);
+        BeanFactoryDefinition b2 = beans.getBeans().get(1);
 
         assertEquals("b1", b1.getName());
         assertEquals("org.apache.camel.xml.in.ModelParserTest.MyBean", 
b1.getType());
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 aa7099929a1..0c0e3b71d52 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,6 +36,7 @@ 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;
@@ -49,7 +50,6 @@ import org.apache.camel.model.RouteDefinition;
 import org.apache.camel.model.RouteTemplateDefinition;
 import org.apache.camel.model.RouteTemplatesDefinition;
 import org.apache.camel.model.RoutesDefinition;
-import org.apache.camel.model.app.RegistryBeanDefinition;
 import org.apache.camel.spi.ModelToXMLDumper;
 import org.apache.camel.spi.PropertiesComponent;
 import org.apache.camel.spi.annotations.JdkService;
@@ -227,9 +227,9 @@ public class JaxbModelToXMLDumper implements 
ModelToXMLDumper {
         StringWriter buffer = new StringWriter();
         BeanModelWriter writer = new BeanModelWriter(buffer);
 
-        List<RegistryBeanDefinition> list = new ArrayList<>();
+        List<BeanFactoryDefinition> list = new ArrayList<>();
         for (Object bean : beans) {
-            if (bean instanceof RegistryBeanDefinition rb) {
+            if (bean instanceof BeanFactoryDefinition rb) {
                 list.add(rb);
             }
         }
@@ -295,16 +295,16 @@ public class JaxbModelToXMLDumper implements 
ModelToXMLDumper {
             // noop
         }
 
-        public void writeBeans(List<RegistryBeanDefinition> beans) {
+        public void writeBeans(List<BeanFactoryDefinition> beans) {
             if (beans.isEmpty()) {
                 return;
             }
-            for (RegistryBeanDefinition b : beans) {
+            for (BeanFactoryDefinition b : beans) {
                 doWriteRegistryBeanDefinition(b);
             }
         }
 
-        private void doWriteRegistryBeanDefinition(RegistryBeanDefinition b) {
+        private void doWriteRegistryBeanDefinition(BeanFactoryDefinition b) {
             String type = b.getType();
             if (type.startsWith("#class:")) {
                 type = type.substring(7);
diff --git 
a/core/camel-yaml-io/src/main/java/org/apache/camel/yaml/LwModelToYAMLDumper.java
 
b/core/camel-yaml-io/src/main/java/org/apache/camel/yaml/LwModelToYAMLDumper.java
index d4376b550ae..735800925a9 100644
--- 
a/core/camel-yaml-io/src/main/java/org/apache/camel/yaml/LwModelToYAMLDumper.java
+++ 
b/core/camel-yaml-io/src/main/java/org/apache/camel/yaml/LwModelToYAMLDumper.java
@@ -32,6 +32,7 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.CamelContextAware;
 import org.apache.camel.Expression;
 import org.apache.camel.NamedNode;
+import org.apache.camel.model.BeanFactoryDefinition;
 import org.apache.camel.model.ExpressionNode;
 import org.apache.camel.model.FromDefinition;
 import org.apache.camel.model.OptionalIdentifiedDefinition;
@@ -41,7 +42,6 @@ import org.apache.camel.model.RouteTemplatesDefinition;
 import org.apache.camel.model.RoutesDefinition;
 import org.apache.camel.model.SendDefinition;
 import org.apache.camel.model.ToDynamicDefinition;
-import org.apache.camel.model.app.RegistryBeanDefinition;
 import org.apache.camel.model.language.ExpressionDefinition;
 import org.apache.camel.spi.ModelToYAMLDumper;
 import org.apache.camel.spi.NamespaceAware;
@@ -169,9 +169,9 @@ public class LwModelToYAMLDumper implements 
ModelToYAMLDumper {
         StringWriter buffer = new StringWriter();
         BeanModelWriter writer = new BeanModelWriter(buffer);
 
-        List<RegistryBeanDefinition> list = new ArrayList<>();
+        List<BeanFactoryDefinition> list = new ArrayList<>();
         for (Object bean : beans) {
-            if (bean instanceof RegistryBeanDefinition rb) {
+            if (bean instanceof BeanFactoryDefinition rb) {
                 list.add(rb);
             }
         }
@@ -298,17 +298,17 @@ public class LwModelToYAMLDumper implements 
ModelToYAMLDumper {
             // noop
         }
 
-        public void writeBeans(List<RegistryBeanDefinition> beans) {
+        public void writeBeans(List<BeanFactoryDefinition> beans) {
             if (beans.isEmpty()) {
                 return;
             }
             buffer.write("- beans:\n");
-            for (RegistryBeanDefinition b : beans) {
+            for (BeanFactoryDefinition b : beans) {
                 doWriteRegistryBeanDefinition(b);
             }
         }
 
-        private void doWriteRegistryBeanDefinition(RegistryBeanDefinition b) {
+        private void doWriteRegistryBeanDefinition(BeanFactoryDefinition b) {
             String type = b.getType();
             if (type.startsWith("#class:")) {
                 type = type.substring(7);

Reply via email to