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

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

commit 9c66e3dc9a3d259475493042c49f507c46a12683
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Tue Oct 29 15:18:43 2024 +0100

    CAMEL-21391: Add support for <dataFormats> in model to xml dumper
---
 .../src/main/java/org/apache/camel/spi/DumpRoutesStrategy.java    | 4 ++--
 .../src/main/java/org/apache/camel/spi/ModelToXMLDumper.java      | 2 +-
 .../src/main/java/org/apache/camel/spi/ModelToYAMLDumper.java     | 2 +-
 .../java/org/apache/camel/impl/DefaultDumpRoutesStrategy.java     | 6 ++++--
 .../src/main/java/org/apache/camel/model/app/BeansDefinition.java | 6 ++----
 .../org/apache/camel/model/dataformat/DataFormatsDefinition.java  | 2 +-
 .../org/apache/camel/main/DefaultConfigurationProperties.java     | 8 ++++----
 .../java/org/apache/camel/support/PropertyBindingSupport.java     | 6 +++++-
 .../src/main/java/org/apache/camel/xml/LwModelToXMLDumper.java    | 2 --
 .../main/java/org/apache/camel/xml/jaxb/JaxbModelToXMLDumper.java | 6 +++---
 .../src/main/java/org/apache/camel/yaml/LwModelToYAMLDumper.java  | 4 +---
 11 files changed, 24 insertions(+), 24 deletions(-)

diff --git 
a/core/camel-api/src/main/java/org/apache/camel/spi/DumpRoutesStrategy.java 
b/core/camel-api/src/main/java/org/apache/camel/spi/DumpRoutesStrategy.java
index f695c6968bb..b2d3f992ef0 100644
--- a/core/camel-api/src/main/java/org/apache/camel/spi/DumpRoutesStrategy.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/DumpRoutesStrategy.java
@@ -40,8 +40,8 @@ public interface DumpRoutesStrategy extends StaticService {
     /**
      * Controls what to include in output.
      *
-     * Possible values: all, routes, rests, routeConfigurations, 
routeTemplates, beans, dataFormats. Multiple values can be separated
-     * by comma. Default is routes.
+     * Possible values: all, routes, rests, routeConfigurations, 
routeTemplates, beans, dataFormats. Multiple values can
+     * be separated by comma. Default is routes.
      */
     void setInclude(String include);
 
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/spi/ModelToXMLDumper.java 
b/core/camel-api/src/main/java/org/apache/camel/spi/ModelToXMLDumper.java
index 951f3da64d0..c9a210b33e6 100644
--- a/core/camel-api/src/main/java/org/apache/camel/spi/ModelToXMLDumper.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/ModelToXMLDumper.java
@@ -72,7 +72,7 @@ public interface ModelToXMLDumper {
      * @param  context     the CamelContext
      * @param  dataFormats list of data formats (DataFormatDefinition)
      * @return             the output in XML (is formatted)
-     * @throws Exception is throw if error marshalling to XML
+     * @throws Exception   is throw if error marshalling to XML
      */
     String dumpDataFormatsAsXml(CamelContext context, Map<String, Object> 
dataFormats) throws Exception;
 
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/spi/ModelToYAMLDumper.java 
b/core/camel-api/src/main/java/org/apache/camel/spi/ModelToYAMLDumper.java
index 179ed52ff55..ab8b5b67f06 100644
--- a/core/camel-api/src/main/java/org/apache/camel/spi/ModelToYAMLDumper.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/ModelToYAMLDumper.java
@@ -74,7 +74,7 @@ public interface ModelToYAMLDumper {
      * @param  context     the CamelContext
      * @param  dataFormats list of data formats (DataFormatDefinition)
      * @return             the output in YAML (is formatted)
-     * @throws Exception is throw if error marshalling to YAML
+     * @throws Exception   is throw if error marshalling to YAML
      */
     String dumpDataFormatsAsYaml(CamelContext context, Map<String, Object> 
dataFormats) throws Exception;
 
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 b89c8fb39ac..652f09a09ae 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
@@ -211,7 +211,8 @@ public class DefaultDumpRoutesStrategy extends 
ServiceSupport implements DumpRou
                     Resource resource = entry.getKey();
 
                     StringBuilder sbLocal = new StringBuilder();
-                    doDumpYamlDataFormats(camelContext, dfs, resource == dummy 
? null : resource, dumper, "dataFormats", sbLocal, sbLog);
+                    doDumpYamlDataFormats(camelContext, dfs, resource == dummy 
? null : resource, dumper, "dataFormats",
+                            sbLocal, sbLog);
                     // dump each resource into its own file
                     doDumpToDirectory(resource, sbLocal, "dataFormats", 
"yaml", files);
                 }
@@ -449,7 +450,8 @@ public class DefaultDumpRoutesStrategy extends 
ServiceSupport implements DumpRou
                     Resource resource = entry.getKey();
 
                     StringBuilder sbLocal = new StringBuilder();
-                    doDumpXmlDataFormats(camelContext, dfs, resource == dummy 
? null : resource, dumper, "dataFormats", sbLocal, sbLog);
+                    doDumpXmlDataFormats(camelContext, dfs, resource == dummy 
? null : resource, dumper, "dataFormats", sbLocal,
+                            sbLog);
                     // dump each resource into its own file
                     doDumpToDirectory(resource, sbLocal, "dataFormats", "xml", 
files);
                 }
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 ae415575df7..72d6faae36b 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
@@ -23,17 +23,14 @@ import jakarta.xml.bind.annotation.XmlAccessType;
 import jakarta.xml.bind.annotation.XmlAccessorType;
 import jakarta.xml.bind.annotation.XmlAnyElement;
 import jakarta.xml.bind.annotation.XmlElement;
-import jakarta.xml.bind.annotation.XmlElementRef;
 import jakarta.xml.bind.annotation.XmlElementWrapper;
 import jakarta.xml.bind.annotation.XmlRootElement;
 import jakarta.xml.bind.annotation.XmlType;
 
-import org.apache.camel.model.DataFormatDefinition;
-import org.apache.camel.model.dataformat.DataFormatsDefinition;
-import org.apache.camel.spi.annotations.DslProperty;
 import org.w3c.dom.Element;
 
 import org.apache.camel.model.BeanFactoryDefinition;
+import org.apache.camel.model.DataFormatDefinition;
 import org.apache.camel.model.RouteConfigurationDefinition;
 import org.apache.camel.model.RouteDefinition;
 import org.apache.camel.model.RouteTemplateDefinition;
@@ -41,6 +38,7 @@ import org.apache.camel.model.TemplatedRouteDefinition;
 import org.apache.camel.model.rest.RestConfigurationDefinition;
 import org.apache.camel.model.rest.RestDefinition;
 import org.apache.camel.spi.Metadata;
+import org.apache.camel.spi.annotations.DslProperty;
 import org.apache.camel.spi.annotations.ExternalSchemaElement;
 
 /**
diff --git 
a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/DataFormatsDefinition.java
 
b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/DataFormatsDefinition.java
index a250787d0a3..58fe96306d5 100644
--- 
a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/DataFormatsDefinition.java
+++ 
b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/DataFormatsDefinition.java
@@ -25,8 +25,8 @@ import jakarta.xml.bind.annotation.XmlAccessorType;
 import jakarta.xml.bind.annotation.XmlElement;
 import jakarta.xml.bind.annotation.XmlElements;
 import jakarta.xml.bind.annotation.XmlRootElement;
-
 import jakarta.xml.bind.annotation.XmlTransient;
+
 import org.apache.camel.model.CopyableDefinition;
 import org.apache.camel.model.DataFormatDefinition;
 import org.apache.camel.model.ProcessorDefinitionHelper;
diff --git 
a/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationProperties.java
 
b/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationProperties.java
index e7f13d09341..f08a61d59a5 100644
--- 
a/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationProperties.java
+++ 
b/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationProperties.java
@@ -1450,8 +1450,8 @@ public abstract class DefaultConfigurationProperties<T> {
     /**
      * Controls what to include in output for route dumping.
      *
-     * Possible values: all, routes, rests, routeConfigurations, 
routeTemplates, beans, dataFormats. Multiple values can be separated
-     * by comma. Default is routes.
+     * Possible values: all, routes, rests, routeConfigurations, 
routeTemplates, beans, dataFormats. Multiple values can
+     * be separated by comma. Default is routes.
      */
     public void setDumpRoutesInclude(String dumpRoutesInclude) {
         this.dumpRoutesInclude = dumpRoutesInclude;
@@ -2602,8 +2602,8 @@ public abstract class DefaultConfigurationProperties<T> {
     /**
      * Controls what to include in output for route dumping.
      *
-     * Possible values: all, routes, rests, routeConfigurations, 
routeTemplates, beans, dataFormats. Multiple values can be separated
-     * by comma. Default is routes.
+     * Possible values: all, routes, rests, routeConfigurations, 
routeTemplates, beans, dataFormats. Multiple values can
+     * be separated by comma. Default is routes.
      */
     public T withDumpRoutesInclude(String dumpRoutesInclude) {
         this.dumpRoutesInclude = dumpRoutesInclude;
diff --git 
a/core/camel-support/src/main/java/org/apache/camel/support/PropertyBindingSupport.java
 
b/core/camel-support/src/main/java/org/apache/camel/support/PropertyBindingSupport.java
index 121611361c6..bef39e9a43f 100644
--- 
a/core/camel-support/src/main/java/org/apache/camel/support/PropertyBindingSupport.java
+++ 
b/core/camel-support/src/main/java/org/apache/camel/support/PropertyBindingSupport.java
@@ -1578,7 +1578,7 @@ public final class PropertyBindingSupport {
             }
             Class<?> type = 
camelContext.getClassResolver().resolveMandatoryClass(className);
             if (factoryMethod != null) {
-                Class<?> factoryClass = null;
+                Class<?> factoryClass;
                 String typeOrRef = StringHelper.before(factoryMethod, ":");
                 if (typeOrRef != null) {
                     // use another class with factory method
@@ -1590,6 +1590,10 @@ public final class PropertyBindingSupport {
                     } else {
                         factoryClass = 
camelContext.getClassResolver().resolveMandatoryClass(typeOrRef);
                     }
+                } else {
+                    // no specific factory class given so we need to use the 
bean type for that
+                    factoryClass = type;
+                    type = Object.class;
                 }
                 if (parameters != null) {
                     Class<?> target = factoryClass != null ? factoryClass : 
type;
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 cbb10d310dd..8a02f3042f5 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,7 +31,6 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.CamelContextAware;
 import org.apache.camel.Expression;
 import org.apache.camel.NamedNode;
-import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.camel.model.BeanFactoryDefinition;
 import org.apache.camel.model.DataFormatDefinition;
 import org.apache.camel.model.ExpressionNode;
@@ -43,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.dataformat.BeanioDataFormat;
 import org.apache.camel.model.dataformat.DataFormatsDefinition;
 import org.apache.camel.model.language.ExpressionDefinition;
 import org.apache.camel.spi.ModelToXMLDumper;
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 f3de72cb112..f7c64e45eb4 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,9 +36,6 @@ import jakarta.xml.bind.Marshaller;
 import javax.xml.transform.OutputKeys;
 import javax.xml.transform.TransformerException;
 
-import org.apache.camel.model.DataFormatDefinition;
-import org.apache.camel.model.dataformat.DataFormatsDefinition;
-import org.apache.camel.util.StringHelper;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -49,16 +46,19 @@ 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.DataFormatDefinition;
 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.dataformat.DataFormatsDefinition;
 import org.apache.camel.spi.ModelToXMLDumper;
 import org.apache.camel.spi.PropertiesComponent;
 import org.apache.camel.spi.annotations.JdkService;
 import org.apache.camel.support.ObjectHelper;
 import org.apache.camel.support.PluginHelper;
 import org.apache.camel.util.KeyValueHolder;
+import org.apache.camel.util.StringHelper;
 import org.apache.camel.util.xml.XmlLineNumberParser;
 
 import static org.apache.camel.xml.jaxb.JaxbHelper.enrichLocations;
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 8a253e73379..f5a24b09900 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,7 +32,6 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.CamelContextAware;
 import org.apache.camel.Expression;
 import org.apache.camel.NamedNode;
-import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.camel.model.BeanFactoryDefinition;
 import org.apache.camel.model.DataFormatDefinition;
 import org.apache.camel.model.ExpressionNode;
@@ -44,7 +43,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.dataformat.BeanioDataFormat;
 import org.apache.camel.model.dataformat.DataFormatsDefinition;
 import org.apache.camel.model.language.ExpressionDefinition;
 import org.apache.camel.spi.ModelToYAMLDumper;
@@ -196,7 +194,7 @@ public class LwModelToYAMLDumper implements 
ModelToYAMLDumper {
      * @param  context     the CamelContext
      * @param  dataFormats list of data formats (DataFormatDefinition)
      * @return             the output in YAML (is formatted)
-     * @throws Exception is throw if error marshalling to YAML
+     * @throws Exception   is throw if error marshalling to YAML
      */
     @Override
     public String dumpDataFormatsAsYaml(CamelContext context, Map<String, 
Object> dataFormats) throws Exception {

Reply via email to