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 {