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

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

commit 5a00bb161bdeeea709b803f6da0dc6ff3c625dd6
Author: Claus Ibsen <[email protected]>
AuthorDate: Tue Aug 19 11:55:23 2025 +0200

    CAMEL-22354: dataformats - Align all data formats getter setters to model
---
 .../dataformat/soap/SoapDataFormatConfigurer.java  | 31 +++++++------
 .../org/apache/camel/dataformat/soap/soap.json     |  3 +-
 .../org/apache/camel/model/dataformat/soap.json    |  3 +-
 .../camel/model/dataformat/SoapDataFormat.java     | 38 +++++++++++++++
 .../java/org/apache/camel/xml/in/ModelParser.java  |  1 +
 .../java/org/apache/camel/xml/out/ModelWriter.java |  1 +
 .../org/apache/camel/yaml/out/ModelWriter.java     |  1 +
 .../maven/packaging/PackageDataFormatMojo.java     | 26 ++++++++---
 .../velocity/dataformat-property-configurer.vm     | 54 ----------------------
 .../main/resources/velocity/property-configurer.vm |  5 +-
 10 files changed, 84 insertions(+), 79 deletions(-)

diff --git 
a/components/camel-soap/src/generated/java/org/apache/camel/dataformat/soap/SoapDataFormatConfigurer.java
 
b/components/camel-soap/src/generated/java/org/apache/camel/dataformat/soap/SoapDataFormatConfigurer.java
index 6d1c2bcf1ad..03b2d6b27b4 100644
--- 
a/components/camel-soap/src/generated/java/org/apache/camel/dataformat/soap/SoapDataFormatConfigurer.java
+++ 
b/components/camel-soap/src/generated/java/org/apache/camel/dataformat/soap/SoapDataFormatConfigurer.java
@@ -2,6 +2,7 @@
 package org.apache.camel.dataformat.soap;
 
 import javax.annotation.processing.Generated;
+import java.util.LinkedHashMap;
 import java.util.Map;
 
 import org.apache.camel.CamelContext;
@@ -10,22 +11,14 @@ import org.apache.camel.spi.PropertyConfigurerGetter;
 import org.apache.camel.spi.ConfigurerStrategy;
 import org.apache.camel.spi.GeneratedPropertyConfigurer;
 import org.apache.camel.util.CaseInsensitiveMap;
-import org.apache.camel.dataformat.soap.SoapDataFormat;
+import org.apache.camel.converter.jaxb.JaxbDataFormatConfigurer;
 
 /**
  * Generated by camel build tools - do NOT edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.PackageDataFormatMojo")
 @SuppressWarnings("unchecked")
-public class SoapDataFormatConfigurer extends 
org.apache.camel.support.component.PropertyConfigurerSupport implements 
GeneratedPropertyConfigurer, ExtendedPropertyConfigurerGetter {
-
-    private static final Map<String, Object> ALL_OPTIONS;
-    static {
-        Map<String, Object> map = new CaseInsensitiveMap();
-        map.put("ElementNameStrategy", 
org.apache.camel.dataformat.soap.name.ElementNameStrategy.class);
-        map.put("Version", java.lang.String.class);
-        ALL_OPTIONS = map;
-    }
+public class SoapDataFormatConfigurer extends 
org.apache.camel.converter.jaxb.JaxbDataFormatConfigurer implements 
GeneratedPropertyConfigurer, ExtendedPropertyConfigurerGetter {
 
     @Override
     public boolean configure(CamelContext camelContext, Object obj, String 
name, Object value, boolean ignoreCase) {
@@ -33,14 +26,20 @@ public class SoapDataFormatConfigurer extends 
org.apache.camel.support.component
         switch (ignoreCase ? name.toLowerCase() : name) {
         case "elementnamestrategy":
         case "elementNameStrategy": 
target.setElementNameStrategy(property(camelContext, 
org.apache.camel.dataformat.soap.name.ElementNameStrategy.class, value)); 
return true;
+        case "ignoreunmarshalledheaders":
+        case "ignoreUnmarshalledHeaders": 
target.setIgnoreUnmarshalledHeaders(property(camelContext, boolean.class, 
value)); return true;
         case "version": target.setVersion(property(camelContext, 
java.lang.String.class, value)); return true;
-        default: return false;
+        default: return super.configure(camelContext, obj, name, value, 
ignoreCase);
         }
     }
 
     @Override
     public Map<String, Object> getAllOptions(Object target) {
-        return ALL_OPTIONS;
+        Map<String, Object> answer = new 
LinkedHashMap<>(super.getAllOptions(target));
+        answer.put("elementNameStrategy", 
org.apache.camel.dataformat.soap.name.ElementNameStrategy.class);
+        answer.put("ignoreUnmarshalledHeaders", boolean.class);
+        answer.put("version", java.lang.String.class);
+        return answer;
     }
 
     @Override
@@ -48,8 +47,10 @@ public class SoapDataFormatConfigurer extends 
org.apache.camel.support.component
         switch (ignoreCase ? name.toLowerCase() : name) {
         case "elementnamestrategy":
         case "elementNameStrategy": return 
org.apache.camel.dataformat.soap.name.ElementNameStrategy.class;
+        case "ignoreunmarshalledheaders":
+        case "ignoreUnmarshalledHeaders": return boolean.class;
         case "version": return java.lang.String.class;
-        default: return null;
+        default: return super.getOptionType(name, ignoreCase);
         }
     }
 
@@ -59,8 +60,10 @@ public class SoapDataFormatConfigurer extends 
org.apache.camel.support.component
         switch (ignoreCase ? name.toLowerCase() : name) {
         case "elementnamestrategy":
         case "elementNameStrategy": return target.getElementNameStrategy();
+        case "ignoreunmarshalledheaders":
+        case "ignoreUnmarshalledHeaders": return 
target.isIgnoreUnmarshalledHeaders();
         case "version": return target.getVersion();
-        default: return null;
+        default: return super.getOptionValue(obj, name, ignoreCase);
         }
     }
 }
diff --git 
a/components/camel-soap/src/generated/resources/META-INF/org/apache/camel/dataformat/soap/soap.json
 
b/components/camel-soap/src/generated/resources/META-INF/org/apache/camel/dataformat/soap/soap.json
index ba60298cd62..66668285c6a 100644
--- 
a/components/camel-soap/src/generated/resources/META-INF/org/apache/camel/dataformat/soap/soap.json
+++ 
b/components/camel-soap/src/generated/resources/META-INF/org/apache/camel/dataformat/soap/soap.json
@@ -22,6 +22,7 @@
     "elementNameStrategy": { "index": 3, "kind": "attribute", "displayName": 
"Element Name Strategy", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.dataformat.soap.name.ElementNameStrategy", "deprecated": 
false, "autowired": false, "secret": false, "description": "Refers to an 
element strategy to lookup from the registry. An element name strategy is used 
for two purposes. The first is to find a xml element name for a given ob [...]
     "version": { "index": 4, "kind": "attribute", "displayName": "Version", 
"group": "common", "required": false, "type": "enum", "javaType": 
"java.lang.String", "enum": [ "1.1", "1.2" ], "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "1.1", "description": "SOAP version 
should either be 1.1 or 1.2. Is by default 1.1" },
     "namespacePrefix": { "index": 5, "kind": "attribute", "displayName": 
"Namespace Prefix", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": "java.util.Map", "deprecated": false, 
"autowired": false, "secret": false, "description": "When marshalling using 
JAXB or SOAP then the JAXB implementation will automatic assign namespace 
prefixes, such as ns2, ns3, ns4 etc. To control this mapping, Camel allows you 
to refer to a map which contains the desi [...]
-    "schema": { "index": 6, "kind": "attribute", "displayName": "Schema", 
"group": "common", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "To validate against an existing schema. Your can use the prefix 
classpath:, file: or http: to specify how the resource should be resolved. You 
can separate multiple schema files by using the ',' character." }
+    "schema": { "index": 6, "kind": "attribute", "displayName": "Schema", 
"group": "common", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "To validate against an existing schema. Your can use the prefix 
classpath:, file: or http: to specify how the resource should be resolved. You 
can separate multiple schema files by using the ',' character." },
+    "ignoreUnmarshalledHeaders": { "index": 7, "kind": "attribute", 
"displayName": "Ignore Unmarshalled Headers", "group": "advanced", "label": 
"advanced", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether to ignore headers that was not 
unmarshalled. By default, headers which could not be unmarshalled is recorded 
in the org.apache.camel.dataformat.soap.UNMARSHALLE [...]
   }
 }
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dataformat/soap.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dataformat/soap.json
index c66286a1550..984622f51b6 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dataformat/soap.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dataformat/soap.json
@@ -19,6 +19,7 @@
     "elementNameStrategy": { "index": 3, "kind": "attribute", "displayName": 
"Element Name Strategy", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.dataformat.soap.name.ElementNameStrategy", "deprecated": 
false, "autowired": false, "secret": false, "description": "Refers to an 
element strategy to lookup from the registry. An element name strategy is used 
for two purposes. The first is to find a xml element name for a given ob [...]
     "version": { "index": 4, "kind": "attribute", "displayName": "Version", 
"group": "common", "required": false, "type": "enum", "javaType": 
"java.lang.String", "enum": [ "1.1", "1.2" ], "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "1.1", "description": "SOAP version 
should either be 1.1 or 1.2. Is by default 1.1" },
     "namespacePrefix": { "index": 5, "kind": "attribute", "displayName": 
"Namespace Prefix", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": "java.util.Map", "deprecated": false, 
"autowired": false, "secret": false, "description": "When marshalling using 
JAXB or SOAP then the JAXB implementation will automatic assign namespace 
prefixes, such as ns2, ns3, ns4 etc. To control this mapping, Camel allows you 
to refer to a map which contains the desi [...]
-    "schema": { "index": 6, "kind": "attribute", "displayName": "Schema", 
"group": "common", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "To validate against an existing schema. Your can use the prefix 
classpath:, file: or http: to specify how the resource should be resolved. You 
can separate multiple schema files by using the ',' character." }
+    "schema": { "index": 6, "kind": "attribute", "displayName": "Schema", 
"group": "common", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "To validate against an existing schema. Your can use the prefix 
classpath:, file: or http: to specify how the resource should be resolved. You 
can separate multiple schema files by using the ',' character." },
+    "ignoreUnmarshalledHeaders": { "index": 7, "kind": "attribute", 
"displayName": "Ignore Unmarshalled Headers", "group": "advanced", "label": 
"advanced", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether to ignore headers that was not 
unmarshalled. By default, headers which could not be unmarshalled is recorded 
in the org.apache.camel.dataformat.soap.UNMARSHALLE [...]
   }
 }
diff --git 
a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/SoapDataFormat.java
 
b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/SoapDataFormat.java
index 9f69c8b6cd9..5d8f1caa89d 100644
--- 
a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/SoapDataFormat.java
+++ 
b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/SoapDataFormat.java
@@ -52,6 +52,9 @@ public class SoapDataFormat extends DataFormatDefinition {
     private String namespacePrefix;
     @XmlAttribute
     private String schema;
+    @XmlAttribute
+    @Metadata(label = "advanced", javaType = "java.lang.Boolean")
+    private String ignoreUnmarshalledHeaders;
 
     public SoapDataFormat() {
         super("soap");
@@ -66,6 +69,7 @@ public class SoapDataFormat extends DataFormatDefinition {
         this.version = source.version;
         this.namespacePrefix = source.namespacePrefix;
         this.schema = source.schema;
+        this.ignoreUnmarshalledHeaders = source.ignoreUnmarshalledHeaders;
     }
 
     public SoapDataFormat(String contextPath) {
@@ -94,6 +98,7 @@ public class SoapDataFormat extends DataFormatDefinition {
         this.version = builder.version;
         this.namespacePrefix = builder.namespacePrefix;
         this.schema = builder.schema;
+        this.ignoreUnmarshalledHeaders = builder.ignoreUnmarshalledHeaders;
     }
 
     @Override
@@ -215,6 +220,19 @@ public class SoapDataFormat extends DataFormatDefinition {
         this.schema = schema;
     }
 
+    public String getIgnoreUnmarshalledHeaders() {
+        return ignoreUnmarshalledHeaders;
+    }
+
+    /**
+     * Whether to ignore headers that was not unmarshalled. By default, 
headers which could not be unmarshalled
+     * is recorded in the 
org.apache.camel.dataformat.soap.UNMARSHALLED_HEADER_LIST header which allows 
to inspect
+     * any problematic header.
+     */
+    public void setIgnoreUnmarshalledHeaders(String ignoreUnmarshalledHeaders) 
{
+        this.ignoreUnmarshalledHeaders = ignoreUnmarshalledHeaders;
+    }
+
     /**
      * {@code Builder} is a specific builder for {@link SoapDataFormat}.
      */
@@ -228,6 +246,7 @@ public class SoapDataFormat extends DataFormatDefinition {
         private String version;
         private String namespacePrefix;
         private String schema;
+        private String ignoreUnmarshalledHeaders;
 
         /**
          * Package name where your JAXB classes are located.
@@ -322,6 +341,25 @@ public class SoapDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Whether to ignore headers that was not unmarshalled. By default, 
headers which could not be unmarshalled
+         * is recorded in the 
org.apache.camel.dataformat.soap.UNMARSHALLED_HEADER_LIST header which allows 
to inspect
+         * any problematic header.
+         */
+        public Builder ignoreUnmarshalledHeaders(boolean 
ignoreUnmarshalledHeaders) {
+            return 
ignoreUnmarshalledHeaders(Boolean.valueOf(ignoreUnmarshalledHeaders));
+        }
+
+        /**
+         * Whether to ignore headers that was not unmarshalled. By default, 
headers which could not be unmarshalled
+         * is recorded in the 
org.apache.camel.dataformat.soap.UNMARSHALLED_HEADER_LIST header which allows 
to inspect
+         * any problematic header.
+         */
+        public Builder ignoreUnmarshalledHeaders(String 
ignoreUnmarshalledHeaders) {
+            this.ignoreUnmarshalledHeaders = ignoreUnmarshalledHeaders;
+            return this;
+        }
+
         @Override
         public SoapDataFormat end() {
             return new SoapDataFormat(this);
diff --git 
a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java 
b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java
index 3dbc1f726e7..8e525098da9 100644
--- 
a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java
+++ 
b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java
@@ -2140,6 +2140,7 @@ public class ModelParser extends BaseParser {
                 case "contextPath": def.setContextPath(val); yield true;
                 case "elementNameStrategy": def.setElementNameStrategy(val); 
yield true;
                 case "encoding": def.setEncoding(val); yield true;
+                case "ignoreUnmarshalledHeaders": 
def.setIgnoreUnmarshalledHeaders(val); yield true;
                 case "namespacePrefix": def.setNamespacePrefix(val); yield 
true;
                 case "schema": def.setSchema(val); yield true;
                 case "version": def.setVersion(val); yield true;
diff --git 
a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java
 
b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java
index 0e90d47c02a..6d6e3595b4e 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
@@ -2835,6 +2835,7 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteIdentifiedTypeAttributes(def);
         doWriteAttribute("schema", def.getSchema(), null);
+        doWriteAttribute("ignoreUnmarshalledHeaders", 
def.getIgnoreUnmarshalledHeaders(), null);
         doWriteAttribute("contextPath", def.getContextPath(), null);
         doWriteAttribute("encoding", def.getEncoding(), null);
         doWriteAttribute("namespacePrefix", def.getNamespacePrefix(), 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 518bf4e4f7d..02f328a673c 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
@@ -2835,6 +2835,7 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteIdentifiedTypeAttributes(def);
         doWriteAttribute("schema", def.getSchema(), null);
+        doWriteAttribute("ignoreUnmarshalledHeaders", 
def.getIgnoreUnmarshalledHeaders(), null);
         doWriteAttribute("contextPath", def.getContextPath(), null);
         doWriteAttribute("encoding", def.getEncoding(), null);
         doWriteAttribute("namespacePrefix", def.getNamespacePrefix(), null);
diff --git 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java
 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java
index b505ca0ef62..d8d5f7fded6 100644
--- 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java
+++ 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java
@@ -60,6 +60,8 @@ import org.jboss.forge.roaster.model.source.FieldSource;
 import org.jboss.forge.roaster.model.source.JavaClassSource;
 import org.jboss.forge.roaster.model.source.MethodSource;
 
+import static org.apache.camel.maven.packaging.MojoHelper.getType;
+
 /**
  * Analyses the Camel plugins in a project and generates extra descriptor 
information for easier auto-discovery in
  * Camel.
@@ -224,21 +226,28 @@ public class PackageDataFormatMojo extends 
AbstractGeneratorMojo {
                             log.debug("Generated " + out + " containing JSON 
schema for " + name + " data format");
                         }
 
+                        boolean hasSuper = false;
+                        String pfqn = 
"org.apache.camel.support.component.PropertyConfigurerSupport";
+                        if ("soap".equals(name)) {
+                            hasSuper = true;
+                            pfqn = 
"org.apache.camel.converter.jaxb.JaxbDataFormatConfigurer";
+                        }
+
                         String cn = 
javaType.substring(javaType.lastIndexOf('.') + 1);
                         String pn = javaType.substring(0, javaType.length() - 
cn.length() - 1);
                         Set<String> names = 
dataFormatModel.getOptions().stream().map(DataFormatOptionModel::getName)
                                 .collect(Collectors.toSet());
                         List<DataFormatOptionModel> options = 
parseConfigurationSource(project, javaType);
                         options.removeIf(o -> !names.contains(o.getName()));
-                        
options.stream().map(DataFormatOptionModel::getName).collect(Collectors.toList())
-                                .forEach(names::remove);
+                        
options.stream().map(DataFormatOptionModel::getName).toList().forEach(names::remove);
                         names.removeAll(List.of("id"));
                         if (!names.isEmpty()) {
                             log.warn("Unmapped options: " + String.join(",", 
names));
                         }
+
                         updateResource(configurerSourceOutDir.toPath(),
                                 pn.replace('.', '/') + "/" + cn + 
"Configurer.java",
-                                generatePropertyConfigurer(pn, cn + 
"Configurer", cn, options));
+                                generatePropertyConfigurer(pn, cn + 
"Configurer", pfqn, cn, hasSuper, options));
                         updateResource(configurerResourceOutDir.toPath(),
                                 
"META-INF/services/org/apache/camel/configurer/" + name + "-dataformat",
                                 generateMetaInfConfigurer(pn + "." + cn + 
"Configurer"));
@@ -525,6 +534,7 @@ public class PackageDataFormatMojo extends 
AbstractGeneratorMojo {
                 DataFormatOptionModel model = new DataFormatOptionModel();
                 model.setName(name);
                 model.setJavaType(javaType);
+                model.setType(getType(javaType, false, false));
                 answer.add(model);
             }
         });
@@ -554,7 +564,9 @@ public class PackageDataFormatMojo extends 
AbstractGeneratorMojo {
         }
     }
 
-    public String generatePropertyConfigurer(String pn, String cn, String en, 
Collection<DataFormatOptionModel> options)
+    public String generatePropertyConfigurer(
+            String pn, String cn, String pfqn, String en, boolean hasSuper,
+            Collection<DataFormatOptionModel> options)
             throws IOException {
 
         options = 
options.stream().sorted(Comparator.comparing(BaseOptionModel::getName)).toList();
@@ -564,9 +576,9 @@ public class PackageDataFormatMojo extends 
AbstractGeneratorMojo {
         ctx.put("package", pn);
         ctx.put("className", cn);
         ctx.put("type", en);
-        ctx.put("pfqn", pn + "." + en);
-        ctx.put("psn", 
"org.apache.camel.support.component.PropertyConfigurerSupport");
-        ctx.put("hasSuper", false);
+        ctx.put("pfqn", pfqn);
+        ctx.put("psn", pfqn);
+        ctx.put("hasSuper", hasSuper);
         ctx.put("component", false);
         ctx.put("extended", true);
         ctx.put("bootstrap", false);
diff --git 
a/tooling/maven/camel-package-maven-plugin/src/main/resources/velocity/dataformat-property-configurer.vm
 
b/tooling/maven/camel-package-maven-plugin/src/main/resources/velocity/dataformat-property-configurer.vm
deleted file mode 100644
index 85176a831c1..00000000000
--- 
a/tooling/maven/camel-package-maven-plugin/src/main/resources/velocity/dataformat-property-configurer.vm
+++ /dev/null
@@ -1,54 +0,0 @@
-## ---------------------------------------------------------------------------
-## Licensed to the Apache Software Foundation (ASF) under one or more
-## contributor license agreements.  See the NOTICE file distributed with
-## this work for additional information regarding copyright ownership.
-## The ASF licenses this file to You under the Apache License, Version 2.0
-## (the "License"); you may not use this file except in compliance with
-## the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-## Unless required by applicable law or agreed to in writing, software
-## distributed under the License is distributed on an "AS IS" BASIS,
-## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-## See the License for the specific language governing permissions and
-## limitations under the License.
-## ---------------------------------------------------------------------------
-/* Generated by camel build tools - do NOT edit this file! */
-package ${package};
-
-import javax.annotation.processing.Generated;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.spi.GeneratedPropertyConfigurer;
-import org.apache.camel.support.component.PropertyConfigurerSupport;
-
-/**
- * Generated by camel build tools - do NOT edit this file!
- */
-@Generated("org.apache.camel.maven.packaging.PackageDataFormatMojo")
-@SuppressWarnings("unchecked")
-public class ${className} extends PropertyConfigurerSupport implements 
GeneratedPropertyConfigurer {
-
-    @Override
-    public boolean configure(CamelContext camelContext, Object target, String 
name, Object value, boolean ignoreCase) {
-        ${type} dataformat = (${type}) target;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-#foreach ( $option in $options )
-    #if ( $option.name != "id" )
-        #set ( $setter = "set" + $option.name.substring(0, 1).toUpperCase() + 
$option.name.substring(1) )
-        #set ( $type = $mojo.canonicalClassName($option.getJavaType()) )
-    #end
-    #if ( ! $option.name.toLowerCase().equals($option.name) )
-        case "${option.name.toLowerCase()}":
-    #end
-        case "${option.name}": dataformat.${setter}(property(camelContext, 
${type}.class, value)); return true;
-#end
-        default: return false;
-        }
-    }
-
-}
-
diff --git 
a/tooling/maven/camel-package-maven-plugin/src/main/resources/velocity/property-configurer.vm
 
b/tooling/maven/camel-package-maven-plugin/src/main/resources/velocity/property-configurer.vm
index f9693010a5a..010c14aa7e8 100644
--- 
a/tooling/maven/camel-package-maven-plugin/src/main/resources/velocity/property-configurer.vm
+++ 
b/tooling/maven/camel-package-maven-plugin/src/main/resources/velocity/property-configurer.vm
@@ -18,6 +18,7 @@
 package ${package};
 
 import javax.annotation.processing.Generated;
+import java.util.LinkedHashMap;
 import java.util.Map;
 
 import org.apache.camel.CamelContext;
@@ -143,9 +144,9 @@ public class ${className} extends ${psn} implements 
GeneratedPropertyConfigurer,
         #if ( $model || !$hasSuper )
         return ALL_OPTIONS;
         #else
-        Map<String, Object> answer = super.getAllOptions(target);
+        Map<String, Object> answer = new 
LinkedHashMap<>(super.getAllOptions(target));
             #foreach ( $option in $options )
-        answer.put(${option.name}, ${mojo.canonicalClassName($option.type)});
+        answer.put("${option.name}", 
${mojo.canonicalClassName($option.javaType)}.class);
             #end
         return answer;
         #end

Reply via email to