This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push: new 38596976cc2 CAMEL-21482: camel-jaxb - JaxbDataFormat ignoreJAXBElement is default true 38596976cc2 is described below commit 38596976cc25602aead62ccf908fea3b211ac38c Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Thu Nov 28 09:47:30 2024 +0100 CAMEL-21482: camel-jaxb - JaxbDataFormat ignoreJAXBElement is default true --- .../org/apache/camel/catalog/dataformats/jaxb.json | 2 +- .../resources/org/apache/camel/catalog/models/jaxb.json | 2 +- .../org/apache/camel/catalog/schemas/camel-spring.xsd | 2 +- .../META-INF/org/apache/camel/converter/jaxb/jaxb.json | 2 +- .../org/apache/camel/converter/jaxb/JaxbDataFormat.java | 2 +- .../META-INF/org/apache/camel/model/dataformat/jaxb.json | 2 +- .../org/apache/camel/model/dataformat/JaxbDataFormat.java | 2 +- .../camel/reifier/dataformat/JaxbDataFormatReifier.java | 13 ++++++++++++- .../java/org/apache/camel/xml/out/ModelWriter.java | 2 +- .../java/org/apache/camel/yaml/out/ModelWriter.java | 2 +- 10 files changed, 21 insertions(+), 10 deletions(-) diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dataformats/jaxb.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dataformats/jaxb.json index 1f185260659..6cd6e5d7b40 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dataformats/jaxb.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dataformats/jaxb.json @@ -23,7 +23,7 @@ "schemaSeverityLevel": { "index": 4, "kind": "attribute", "displayName": "Schema Severity Level", "group": "common", "required": false, "type": "enum", "javaType": "java.lang.Integer", "enum": [ "0", "1", "2" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "0", "description": "Sets the schema severity level to use when validating against a schema. This level determines the minimum severity error that triggers JAXB to stop continue parsing. The default val [...] "prettyPrint": { "index": 5, "kind": "attribute", "displayName": "Pretty Print", "group": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To enable pretty printing output nicely formatted. Is by default false." }, "objectFactory": { "index": 6, "kind": "attribute", "displayName": "Object Factory", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to allow using ObjectFactory classes to create the POJO classes during marshalling. This only applies to POJO classes that has not been annotated with JAXB and providing jaxb.index desc [...] - "ignoreJAXBElement": { "index": 7, "kind": "attribute", "displayName": "Ignore JAXBElement", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to ignore JAXBElement elements - only needed to be set to false in very special use-cases." }, + "ignoreJAXBElement": { "index": 7, "kind": "attribute", "displayName": "Ignore JAXBElement", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to ignore JAXBElement elements - only needed to be set to false in very special use-cases." }, "mustBeJAXBElement": { "index": 8, "kind": "attribute", "displayName": "Must Be JAXBElement", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether marhsalling must be java objects with JAXB annotations. And if not then it fails. This option can be set to false to relax that, such as when the data is already in XML format." }, "filterNonXmlChars": { "index": 9, "kind": "attribute", "displayName": "Filter Non Xml Chars", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To ignore non xml characheters and replace them with an empty space." }, "encoding": { "index": 10, "kind": "attribute", "displayName": "Encoding", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To overrule and use a specific encoding" }, diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/jaxb.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/jaxb.json index a5157f58459..99ae59bd837 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/jaxb.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/jaxb.json @@ -20,7 +20,7 @@ "schemaSeverityLevel": { "index": 4, "kind": "attribute", "displayName": "Schema Severity Level", "group": "common", "required": false, "type": "enum", "javaType": "java.lang.Integer", "enum": [ "0", "1", "2" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "0", "description": "Sets the schema severity level to use when validating against a schema. This level determines the minimum severity error that triggers JAXB to stop continue parsing. The default val [...] "prettyPrint": { "index": 5, "kind": "attribute", "displayName": "Pretty Print", "group": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To enable pretty printing output nicely formatted. Is by default false." }, "objectFactory": { "index": 6, "kind": "attribute", "displayName": "Object Factory", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to allow using ObjectFactory classes to create the POJO classes during marshalling. This only applies to POJO classes that has not been annotated with JAXB and providing jaxb.index desc [...] - "ignoreJAXBElement": { "index": 7, "kind": "attribute", "displayName": "Ignore JAXBElement", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to ignore JAXBElement elements - only needed to be set to false in very special use-cases." }, + "ignoreJAXBElement": { "index": 7, "kind": "attribute", "displayName": "Ignore JAXBElement", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to ignore JAXBElement elements - only needed to be set to false in very special use-cases." }, "mustBeJAXBElement": { "index": 8, "kind": "attribute", "displayName": "Must Be JAXBElement", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether marhsalling must be java objects with JAXB annotations. And if not then it fails. This option can be set to false to relax that, such as when the data is already in XML format." }, "filterNonXmlChars": { "index": 9, "kind": "attribute", "displayName": "Filter Non Xml Chars", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To ignore non xml characheters and replace them with an empty space." }, "encoding": { "index": 10, "kind": "attribute", "displayName": "Encoding", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To overrule and use a specific encoding" }, diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd index fb5ec4bf5a2..16bcd286cab 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd @@ -9062,7 +9062,7 @@ classes that has not been annotated with JAXB and providing jaxb.index descripto <xs:annotation> <xs:documentation xml:lang="en"> <![CDATA[ -Whether to ignore JAXBElement elements - only needed to be set to false in very special use-cases. Default value: false +Whether to ignore JAXBElement elements - only needed to be set to false in very special use-cases. Default value: true ]]> </xs:documentation> </xs:annotation> diff --git a/components/camel-jaxb/src/generated/resources/META-INF/org/apache/camel/converter/jaxb/jaxb.json b/components/camel-jaxb/src/generated/resources/META-INF/org/apache/camel/converter/jaxb/jaxb.json index 1f185260659..6cd6e5d7b40 100644 --- a/components/camel-jaxb/src/generated/resources/META-INF/org/apache/camel/converter/jaxb/jaxb.json +++ b/components/camel-jaxb/src/generated/resources/META-INF/org/apache/camel/converter/jaxb/jaxb.json @@ -23,7 +23,7 @@ "schemaSeverityLevel": { "index": 4, "kind": "attribute", "displayName": "Schema Severity Level", "group": "common", "required": false, "type": "enum", "javaType": "java.lang.Integer", "enum": [ "0", "1", "2" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "0", "description": "Sets the schema severity level to use when validating against a schema. This level determines the minimum severity error that triggers JAXB to stop continue parsing. The default val [...] "prettyPrint": { "index": 5, "kind": "attribute", "displayName": "Pretty Print", "group": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To enable pretty printing output nicely formatted. Is by default false." }, "objectFactory": { "index": 6, "kind": "attribute", "displayName": "Object Factory", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to allow using ObjectFactory classes to create the POJO classes during marshalling. This only applies to POJO classes that has not been annotated with JAXB and providing jaxb.index desc [...] - "ignoreJAXBElement": { "index": 7, "kind": "attribute", "displayName": "Ignore JAXBElement", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to ignore JAXBElement elements - only needed to be set to false in very special use-cases." }, + "ignoreJAXBElement": { "index": 7, "kind": "attribute", "displayName": "Ignore JAXBElement", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to ignore JAXBElement elements - only needed to be set to false in very special use-cases." }, "mustBeJAXBElement": { "index": 8, "kind": "attribute", "displayName": "Must Be JAXBElement", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether marhsalling must be java objects with JAXB annotations. And if not then it fails. This option can be set to false to relax that, such as when the data is already in XML format." }, "filterNonXmlChars": { "index": 9, "kind": "attribute", "displayName": "Filter Non Xml Chars", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To ignore non xml characheters and replace them with an empty space." }, "encoding": { "index": 10, "kind": "attribute", "displayName": "Encoding", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To overrule and use a specific encoding" }, diff --git a/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java b/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java index 48def5c620a..1f47c6744de 100644 --- a/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java +++ b/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java @@ -89,7 +89,7 @@ public class JaxbDataFormat extends ServiceSupport private String schemaLocation; private String noNamespaceSchemaLocation; - private boolean prettyPrint = true; + private boolean prettyPrint; private boolean objectFactory = true; private boolean ignoreJAXBElement = true; private boolean mustBeJAXBElement; diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dataformat/jaxb.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dataformat/jaxb.json index a5157f58459..99ae59bd837 100644 --- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dataformat/jaxb.json +++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dataformat/jaxb.json @@ -20,7 +20,7 @@ "schemaSeverityLevel": { "index": 4, "kind": "attribute", "displayName": "Schema Severity Level", "group": "common", "required": false, "type": "enum", "javaType": "java.lang.Integer", "enum": [ "0", "1", "2" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "0", "description": "Sets the schema severity level to use when validating against a schema. This level determines the minimum severity error that triggers JAXB to stop continue parsing. The default val [...] "prettyPrint": { "index": 5, "kind": "attribute", "displayName": "Pretty Print", "group": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To enable pretty printing output nicely formatted. Is by default false." }, "objectFactory": { "index": 6, "kind": "attribute", "displayName": "Object Factory", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to allow using ObjectFactory classes to create the POJO classes during marshalling. This only applies to POJO classes that has not been annotated with JAXB and providing jaxb.index desc [...] - "ignoreJAXBElement": { "index": 7, "kind": "attribute", "displayName": "Ignore JAXBElement", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to ignore JAXBElement elements - only needed to be set to false in very special use-cases." }, + "ignoreJAXBElement": { "index": 7, "kind": "attribute", "displayName": "Ignore JAXBElement", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to ignore JAXBElement elements - only needed to be set to false in very special use-cases." }, "mustBeJAXBElement": { "index": 8, "kind": "attribute", "displayName": "Must Be JAXBElement", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether marhsalling must be java objects with JAXB annotations. And if not then it fails. This option can be set to false to relax that, such as when the data is already in XML format." }, "filterNonXmlChars": { "index": 9, "kind": "attribute", "displayName": "Filter Non Xml Chars", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To ignore non xml characheters and replace them with an empty space." }, "encoding": { "index": 10, "kind": "attribute", "displayName": "Encoding", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To overrule and use a specific encoding" }, diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JaxbDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JaxbDataFormat.java index d7181ce785f..fcd9d6f9ee4 100644 --- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JaxbDataFormat.java +++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JaxbDataFormat.java @@ -51,7 +51,7 @@ public class JaxbDataFormat extends DataFormatDefinition implements ContentTypeH @Metadata(label = "advanced", javaType = "java.lang.Boolean") private String objectFactory; @XmlAttribute - @Metadata(label = "advanced", javaType = "java.lang.Boolean") + @Metadata(label = "advanced", javaType = "java.lang.Boolean", defaultValue = "true") private String ignoreJAXBElement; @XmlAttribute @Metadata(label = "advanced", javaType = "java.lang.Boolean") diff --git a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/JaxbDataFormatReifier.java b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/JaxbDataFormatReifier.java index 7ac3561b279..fe53e3cf3ba 100644 --- a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/JaxbDataFormatReifier.java +++ b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/JaxbDataFormatReifier.java @@ -32,7 +32,12 @@ public class JaxbDataFormatReifier extends DataFormatReifier<JaxbDataFormat> { protected void prepareDataFormatConfig(Map<String, Object> properties) { properties.put("prettyPrint", definition.getPrettyPrint()); properties.put("objectFactory", definition.getObjectFactory()); - properties.put("ignoreJAXBElement", definition.getIgnoreJAXBElement()); + if (definition.getIgnoreJAXBElement() != null) { + properties.put("ignoreJAXBElement", definition.getIgnoreJAXBElement()); + } else { + // is default true + properties.put("ignoreJAXBElement", "true"); + } properties.put("mustBeJAXBElement", definition.getMustBeJAXBElement()); properties.put("filterNonXmlChars", definition.getFilterNonXmlChars()); properties.put("fragment", definition.getFragment()); @@ -48,6 +53,12 @@ public class JaxbDataFormatReifier extends DataFormatReifier<JaxbDataFormat> { properties.put("schemaLocation", definition.getSchemaLocation()); properties.put("noNamespaceSchemaLocation", definition.getNoNamespaceSchemaLocation()); properties.put("jaxbProviderProperties", definition.getJaxbProviderProperties()); + if (definition.getContentTypeHeader() != null) { + properties.put("contentTypeHeader", definition.getContentTypeHeader()); + } else { + // is default true + properties.put("contentTypeHeader", "true"); + } properties.put("accessExternalSchemaProtocols", definition.getAccessExternalSchemaProtocols()); } 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 8a12693001e..8541bcd2473 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 @@ -2624,7 +2624,7 @@ public class ModelWriter extends BaseWriter { doWriteAttribute("prettyPrint", def.getPrettyPrint(), null); doWriteAttribute("schemaLocation", def.getSchemaLocation(), null); doWriteAttribute("contextPathIsClassName", def.getContextPathIsClassName(), null); - doWriteAttribute("ignoreJAXBElement", def.getIgnoreJAXBElement(), null); + doWriteAttribute("ignoreJAXBElement", def.getIgnoreJAXBElement(), "true"); doWriteAttribute("xmlStreamWriterWrapper", def.getXmlStreamWriterWrapper(), null); doWriteAttribute("schemaSeverityLevel", def.getSchemaSeverityLevel(), "0"); doWriteAttribute("contextPath", def.getContextPath(), null); 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 05404120e77..507136cad0f 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 @@ -2624,7 +2624,7 @@ public class ModelWriter extends BaseWriter { doWriteAttribute("prettyPrint", def.getPrettyPrint(), null); doWriteAttribute("schemaLocation", def.getSchemaLocation(), null); doWriteAttribute("contextPathIsClassName", def.getContextPathIsClassName(), null); - doWriteAttribute("ignoreJAXBElement", def.getIgnoreJAXBElement(), null); + doWriteAttribute("ignoreJAXBElement", def.getIgnoreJAXBElement(), "true"); doWriteAttribute("xmlStreamWriterWrapper", def.getXmlStreamWriterWrapper(), null); doWriteAttribute("schemaSeverityLevel", def.getSchemaSeverityLevel(), "0"); doWriteAttribute("contextPath", def.getContextPath(), null);