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

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

commit e5ba4f51355df85aaf8ad516c1626190e0e62b63
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Thu Apr 4 08:20:12 2024 +0200

    CAMEL-20557: Rest DSL to use openapi spec directly
---
 .../camel/catalog/components/rest-openapi.json     |  2 +-
 .../main/camel-main-configuration-metadata.json    |  1 +
 .../camel/catalog/models/restConfiguration.json    | 27 +++++++++++-----------
 .../dsl/RestOpenapiComponentBuilderFactory.java    | 16 ++++++-------
 .../dsl/yaml/deserializers/ModelDeserializers.java |  6 +++++
 .../generated/resources/schema/camelYamlDsl.json   |  5 ++++
 6 files changed, 35 insertions(+), 22 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/rest-openapi.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/rest-openapi.json
index 41b59cebba5..b9e75277494 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/rest-openapi.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/rest-openapi.json
@@ -29,7 +29,7 @@
     "bridgeErrorHandler": { "index": 3, "kind": "property", "displayName": 
"Bridge Error Handler", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Allows for bridging the consumer to the Camel routing Error Handler, which 
mean any exceptions (if possible) occurred while the Camel consumer is trying 
to pickup incoming messages, or the like [...]
     "clientRequestValidation": { "index": 4, "kind": "property", 
"displayName": "Client Request Validation", "group": "consumer", "label": 
"consumer", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Whether to enable validation of the client request to 
check if the incoming request is valid according to the OpenAPI specification" 
},
     "missingOperation": { "index": 5, "kind": "property", "displayName": 
"Missing Operation", "group": "consumer", "label": "consumer", "required": 
false, "type": "string", "javaType": "java.lang.String", "enum": [ "fail", 
"ignore", "mock" ], "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "fail", "description": "Whether the consumer should fail,ignore 
or return a mock response for OpenAPI operations that are not mapped to a 
corresponding route." },
-    "bindingPackageName": { "index": 6, "kind": "property", "displayName": 
"Binding Package Name", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Java package name where POJO classes are located when using 
binding mode is enabled for JSon or XML. Multiple package names can be 
separated by comma." },
+    "bindingPackageScan": { "index": 6, "kind": "property", "displayName": 
"Binding Package Scan", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Package name to use as base (offset) for classpath scanning of 
POJO classes are located when using binding mode is enabled for JSon or XML. 
Multiple package names can be separated by comma." },
     "consumerComponentName": { "index": 7, "kind": "property", "displayName": 
"Consumer Component Name", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Name of the Camel component that will service the requests. The 
component must be present in Camel registry and it must implement 
RestOpenApiConsumerFactory service provider interfac [...]
     "mockIncludePattern": { "index": 8, "kind": "property", "displayName": 
"Mock Include Pattern", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "classpath:camel-mock\/**", "description": "Used for inclusive 
filtering of mock data from directories. The pattern is using Ant-path style 
pattern. Multiple patterns can be specified sepa [...]
     "restOpenapiProcessorStrategy": { "index": 9, "kind": "property", 
"displayName": "Rest Openapi Processor Strategy", "group": "consumer 
(advanced)", "label": "consumer,advanced", "required": false, "type": "object", 
"javaType": 
"org.apache.camel.component.rest.openapi.RestOpenapiProcessorStrategy", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
use a custom strategy for how to process Rest DSL requests" },
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/main/camel-main-configuration-metadata.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/main/camel-main-configuration-metadata.json
index 942ec07472f..6a5e64eabbf 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/main/camel-main-configuration-metadata.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/main/camel-main-configuration-metadata.json
@@ -216,6 +216,7 @@
     { "name": "camel.rest.apiProperties", "description": "Sets additional 
options on api level", "sourceType": "org.apache.camel.spi.RestConfiguration", 
"type": "object", "javaType": "java.util.Map" },
     { "name": "camel.rest.apiVendorExtension", "description": "Whether vendor 
extension is enabled in the Rest APIs. If enabled then Camel will include 
additional information as vendor extension (eg keys starting with x-) such as 
route ids, class names etc. Not all 3rd party API gateways and tools supports 
vendor-extensions when importing your API docs.", "sourceType": 
"org.apache.camel.spi.RestConfiguration", "type": "boolean", "javaType": 
"boolean", "defaultValue": "false" },
     { "name": "camel.rest.bindingMode", "description": "Sets the binding mode 
to be used by the REST consumer", "sourceType": 
"org.apache.camel.spi.RestConfiguration", "type": "object", "javaType": 
"org.apache.camel.spi.RestBindingMode", "defaultValue": "RestBindingMode.off", 
"enum": [ "auto", "off", "json", "xml", "json_xml" ] },
+    { "name": "camel.rest.bindingPackageScan", "description": "Package name to 
use as base (offset) for classpath scanning of POJO classes are located when 
using binding mode is enabled for JSon or XML. Multiple package names can be 
separated by comma.", "sourceType": "org.apache.camel.spi.RestConfiguration", 
"type": "string", "javaType": "java.lang.String" },
     { "name": "camel.rest.clientRequestValidation", "description": "Whether to 
enable validation of the client request to check: 1) Content-Type header 
matches what the Rest DSL consumes; returns HTTP Status 415 if validation 
error. 2) Accept header matches what the Rest DSL produces; returns HTTP Status 
406 if validation error. 3) Missing required data (query parameters, HTTP 
headers, body); returns HTTP Status 400 if validation error. 4) Parsing error 
of the message body (JSon, XML or  [...]
     { "name": "camel.rest.component", "description": "Sets the name of the 
Camel component to use as the REST consumer", "sourceType": 
"org.apache.camel.spi.RestConfiguration", "type": "string", "javaType": 
"java.lang.String" },
     { "name": "camel.rest.componentProperties", "description": "Sets 
additional options on component level", "sourceType": 
"org.apache.camel.spi.RestConfiguration", "type": "object", "javaType": 
"java.util.Map" },
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/restConfiguration.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/restConfiguration.json
index d72d7945fc5..60f460e2f1d 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/restConfiguration.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/restConfiguration.json
@@ -27,18 +27,19 @@
     "apiVendorExtension": { "index": 12, "kind": "attribute", "displayName": 
"Api Vendor Extension", "label": "consumer,advanced", "required": false, 
"type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether vendor extension is enabled in the Rest APIs. If enabled then Camel 
will include additional information as vendor extension (eg keys starting with 
x-) such as route ids, class names etc [...]
     "hostNameResolver": { "index": 13, "kind": "attribute", "displayName": 
"Host Name Resolver", "label": "consumer,advanced", "required": false, "type": 
"enum", "javaType": "org.apache.camel.model.rest.RestHostNameResolver", "enum": 
[ "allLocalIp", "localHostName", "localIp" ], "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "allLocalIp", "description": "If no 
hostname has been explicit configured, then this resolver is used to compute 
the hostname the REST ser [...]
     "bindingMode": { "index": 14, "kind": "attribute", "displayName": "Binding 
Mode", "required": false, "type": "enum", "javaType": 
"org.apache.camel.model.rest.RestBindingMode", "enum": [ "off", "auto", "json", 
"xml", "json_xml" ], "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "off", "description": "Sets the binding mode to use. The 
default value is off" },
-    "skipBindingOnErrorCode": { "index": 15, "kind": "attribute", 
"displayName": "Skip Binding On Error Code", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether to skip binding on output if there is a custom HTTP error code header. 
This allows to build custom error messages that do not bind to json \/ xml etc, 
as success messages otherwise wil [...]
-    "clientRequestValidation": { "index": 16, "kind": "attribute", 
"displayName": "Client Request Validation", "label": "consumer,advanced", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Whether to enable validation of the client request to 
check: 1) Content-Type header matches what the Rest DSL consumes; returns HTTP 
Status 415 if validation error. 2) Accept header m [...]
-    "enableCORS": { "index": 17, "kind": "attribute", "displayName": "Enable 
CORS", "label": "consumer,advanced", "required": false, "type": "boolean", 
"javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Whether to enable CORS 
headers in the HTTP response. The default value is false." },
-    "enableNoContentResponse": { "index": 18, "kind": "attribute", 
"displayName": "Enable No Content Response", "label": "consumer,advanced", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Whether to return HTTP 204 with an empty body when a 
response contains an empty JSON object or XML root object. The default value is 
false." },
-    "inlineRoutes": { "index": 19, "kind": "attribute", "displayName": "Inline 
Routes", "label": "consumer", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": true, "description": "Inline routes in rest-dsl which are 
linked using direct endpoints. Each service in Rest DSL is an individual route, 
meaning that you would have at least two routes per service (rest-dsl, and the 
route linked from res [...]
-    "jsonDataFormat": { "index": 20, "kind": "attribute", "displayName": "Json 
Data Format", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Name of specific json data format to use. By 
default jackson will be used. Important: This option is only for setting a 
custom name of the data format, not to refer to an existing data format 
instance." },
-    "xmlDataFormat": { "index": 21, "kind": "attribute", "displayName": "Xml 
Data Format", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Name of specific XML data format to use. By 
default jaxb will be used. Important: This option is only for setting a custom 
name of the data format, not to refer to an existing data format instance." },
-    "componentProperty": { "index": 22, "kind": "element", "displayName": 
"Component Property", "label": "advanced", "required": false, "type": "array", 
"javaType": 
"java.util.List<org.apache.camel.model.rest.RestPropertyDefinition>", 
"deprecated": false, "autowired": false, "secret": false, "description": 
"Allows to configure as many additional properties for the rest component in 
use." },
-    "endpointProperty": { "index": 23, "kind": "element", "displayName": 
"Endpoint Property", "label": "advanced", "required": false, "type": "array", 
"javaType": 
"java.util.List<org.apache.camel.model.rest.RestPropertyDefinition>", 
"deprecated": false, "autowired": false, "secret": false, "description": 
"Allows to configure as many additional properties for the rest endpoint in 
use." },
-    "consumerProperty": { "index": 24, "kind": "element", "displayName": 
"Consumer Property", "label": "consumer,advanced", "required": false, "type": 
"array", "javaType": 
"java.util.List<org.apache.camel.model.rest.RestPropertyDefinition>", 
"deprecated": false, "autowired": false, "secret": false, "description": 
"Allows to configure as many additional properties for the rest consumer in 
use." },
-    "dataFormatProperty": { "index": 25, "kind": "element", "displayName": 
"Data Format Property", "label": "advanced", "required": false, "type": 
"array", "javaType": 
"java.util.List<org.apache.camel.model.rest.RestPropertyDefinition>", 
"deprecated": false, "autowired": false, "secret": false, "description": 
"Allows to configure as many additional properties for the data formats in use. 
For example set property prettyPrint to true to have json outputted in pretty 
mode. The properties ca [...]
-    "apiProperty": { "index": 26, "kind": "element", "displayName": "Api 
Property", "label": "consumer,advanced", "required": false, "type": "array", 
"javaType": 
"java.util.List<org.apache.camel.model.rest.RestPropertyDefinition>", 
"deprecated": false, "autowired": false, "secret": false, "description": 
"Allows to configure as many additional properties for the api documentation. 
For example set property api.title to my cool stuff" },
-    "corsHeaders": { "index": 27, "kind": "element", "displayName": "Cors 
Headers", "label": "consumer,advanced", "required": false, "type": "array", 
"javaType": 
"java.util.List<org.apache.camel.model.rest.RestPropertyDefinition>", 
"deprecated": false, "autowired": false, "secret": false, "description": 
"Allows to configure custom CORS headers." }
+    "bindingPackageScan": { "index": 15, "kind": "attribute", "displayName": 
"Binding Package Scan", "label": "consumer,advanced", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Package name to use as 
base (offset) for classpath scanning of POJO classes are located when using 
binding mode is enabled for JSon or XML. Multiple package names can be 
separated by comma." },
+    "skipBindingOnErrorCode": { "index": 16, "kind": "attribute", 
"displayName": "Skip Binding On Error Code", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether to skip binding on output if there is a custom HTTP error code header. 
This allows to build custom error messages that do not bind to json \/ xml etc, 
as success messages otherwise wil [...]
+    "clientRequestValidation": { "index": 17, "kind": "attribute", 
"displayName": "Client Request Validation", "label": "consumer,advanced", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Whether to enable validation of the client request to 
check: 1) Content-Type header matches what the Rest DSL consumes; returns HTTP 
Status 415 if validation error. 2) Accept header m [...]
+    "enableCORS": { "index": 18, "kind": "attribute", "displayName": "Enable 
CORS", "label": "consumer,advanced", "required": false, "type": "boolean", 
"javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Whether to enable CORS 
headers in the HTTP response. The default value is false." },
+    "enableNoContentResponse": { "index": 19, "kind": "attribute", 
"displayName": "Enable No Content Response", "label": "consumer,advanced", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Whether to return HTTP 204 with an empty body when a 
response contains an empty JSON object or XML root object. The default value is 
false." },
+    "inlineRoutes": { "index": 20, "kind": "attribute", "displayName": "Inline 
Routes", "label": "consumer", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": true, "description": "Inline routes in rest-dsl which are 
linked using direct endpoints. Each service in Rest DSL is an individual route, 
meaning that you would have at least two routes per service (rest-dsl, and the 
route linked from res [...]
+    "jsonDataFormat": { "index": 21, "kind": "attribute", "displayName": "Json 
Data Format", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Name of specific json data format to use. By 
default jackson will be used. Important: This option is only for setting a 
custom name of the data format, not to refer to an existing data format 
instance." },
+    "xmlDataFormat": { "index": 22, "kind": "attribute", "displayName": "Xml 
Data Format", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Name of specific XML data format to use. By 
default jaxb will be used. Important: This option is only for setting a custom 
name of the data format, not to refer to an existing data format instance." },
+    "componentProperty": { "index": 23, "kind": "element", "displayName": 
"Component Property", "label": "advanced", "required": false, "type": "array", 
"javaType": 
"java.util.List<org.apache.camel.model.rest.RestPropertyDefinition>", 
"deprecated": false, "autowired": false, "secret": false, "description": 
"Allows to configure as many additional properties for the rest component in 
use." },
+    "endpointProperty": { "index": 24, "kind": "element", "displayName": 
"Endpoint Property", "label": "advanced", "required": false, "type": "array", 
"javaType": 
"java.util.List<org.apache.camel.model.rest.RestPropertyDefinition>", 
"deprecated": false, "autowired": false, "secret": false, "description": 
"Allows to configure as many additional properties for the rest endpoint in 
use." },
+    "consumerProperty": { "index": 25, "kind": "element", "displayName": 
"Consumer Property", "label": "consumer,advanced", "required": false, "type": 
"array", "javaType": 
"java.util.List<org.apache.camel.model.rest.RestPropertyDefinition>", 
"deprecated": false, "autowired": false, "secret": false, "description": 
"Allows to configure as many additional properties for the rest consumer in 
use." },
+    "dataFormatProperty": { "index": 26, "kind": "element", "displayName": 
"Data Format Property", "label": "advanced", "required": false, "type": 
"array", "javaType": 
"java.util.List<org.apache.camel.model.rest.RestPropertyDefinition>", 
"deprecated": false, "autowired": false, "secret": false, "description": 
"Allows to configure as many additional properties for the data formats in use. 
For example set property prettyPrint to true to have json outputted in pretty 
mode. The properties ca [...]
+    "apiProperty": { "index": 27, "kind": "element", "displayName": "Api 
Property", "label": "consumer,advanced", "required": false, "type": "array", 
"javaType": 
"java.util.List<org.apache.camel.model.rest.RestPropertyDefinition>", 
"deprecated": false, "autowired": false, "secret": false, "description": 
"Allows to configure as many additional properties for the api documentation. 
For example set property api.title to my cool stuff" },
+    "corsHeaders": { "index": 28, "kind": "element", "displayName": "Cors 
Headers", "label": "consumer,advanced", "required": false, "type": "array", 
"javaType": 
"java.util.List<org.apache.camel.model.rest.RestPropertyDefinition>", 
"deprecated": false, "autowired": false, "secret": false, "description": 
"Allows to configure custom CORS headers." }
   }
 }
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/RestOpenapiComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/RestOpenapiComponentBuilderFactory.java
index be5ea7fb6fa..1ba4ba306ba 100644
--- 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/RestOpenapiComponentBuilderFactory.java
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/RestOpenapiComponentBuilderFactory.java
@@ -165,20 +165,20 @@ public interface RestOpenapiComponentBuilderFactory {
             return this;
         }
         /**
-         * Java package name where POJO classes are located when using binding
-         * mode is enabled for JSon or XML. Multiple package names can be
-         * separated by comma.
+         * Package name to use as base (offset) for classpath scanning of POJO
+         * classes are located when using binding mode is enabled for JSon or
+         * XML. Multiple package names can be separated by comma.
          * 
          * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
          * 
          * Group: consumer (advanced)
          * 
-         * @param bindingPackageName the value to set
+         * @param bindingPackageScan the value to set
          * @return the dsl builder
          */
-        default RestOpenapiComponentBuilder bindingPackageName(
-                java.lang.String bindingPackageName) {
-            doSetProperty("bindingPackageName", bindingPackageName);
+        default RestOpenapiComponentBuilder bindingPackageScan(
+                java.lang.String bindingPackageScan) {
+            doSetProperty("bindingPackageScan", bindingPackageScan);
             return this;
         }
         /**
@@ -429,7 +429,7 @@ public interface RestOpenapiComponentBuilderFactory {
             case "bridgeErrorHandler": ((RestOpenApiComponent) 
component).setBridgeErrorHandler((boolean) value); return true;
             case "clientRequestValidation": ((RestOpenApiComponent) 
component).setClientRequestValidation((boolean) value); return true;
             case "missingOperation": ((RestOpenApiComponent) 
component).setMissingOperation((java.lang.String) value); return true;
-            case "bindingPackageName": ((RestOpenApiComponent) 
component).setBindingPackageName((java.lang.String) value); return true;
+            case "bindingPackageScan": ((RestOpenApiComponent) 
component).setBindingPackageScan((java.lang.String) value); return true;
             case "consumerComponentName": ((RestOpenApiComponent) 
component).setConsumerComponentName((java.lang.String) value); return true;
             case "mockIncludePattern": ((RestOpenApiComponent) 
component).setMockIncludePattern((java.lang.String) value); return true;
             case "restOpenapiProcessorStrategy": ((RestOpenApiComponent) 
component).setRestOpenapiProcessorStrategy((org.apache.camel.component.rest.openapi.RestOpenapiProcessorStrategy)
 value); return true;
diff --git 
a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
 
b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
index 53d3374a1d2..cd99bc0fb62 100644
--- 
a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
+++ 
b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
@@ -13881,6 +13881,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     @YamlProperty(name = "apiProperty", type = 
"array:org.apache.camel.model.rest.RestPropertyDefinition", description = 
"Allows to configure as many additional properties for the api documentation. 
For example set property api.title to my cool stuff", displayName = "Api 
Property"),
                     @YamlProperty(name = "apiVendorExtension", type = 
"boolean", description = "Whether vendor extension is enabled in the Rest APIs. 
If enabled then Camel will include additional information as vendor extension 
(eg keys starting with x-) such as route ids, class names etc. Not all 3rd 
party API gateways and tools supports vendor-extensions when importing your API 
docs.", displayName = "Api Vendor Extension"),
                     @YamlProperty(name = "bindingMode", type = 
"enum:auto,json,json_xml,off,xml", defaultValue = "off", description = "Sets 
the binding mode to use. The default value is off", displayName = "Binding 
Mode"),
+                    @YamlProperty(name = "bindingPackageScan", type = 
"string", description = "Package name to use as base (offset) for classpath 
scanning of POJO classes are located when using binding mode is enabled for 
JSon or XML. Multiple package names can be separated by comma.", displayName = 
"Binding Package Scan"),
                     @YamlProperty(name = "clientRequestValidation", type = 
"boolean", description = "Whether to enable validation of the client request to 
check: 1) Content-Type header matches what the Rest DSL consumes; returns HTTP 
Status 415 if validation error. 2) Accept header matches what the Rest DSL 
produces; returns HTTP Status 406 if validation error. 3) Missing required data 
(query parameters, HTTP headers, body); returns HTTP Status 400 if validation 
error. 4) Parsing error o [...]
                     @YamlProperty(name = "component", type = 
"enum:platform-http,servlet,jetty,undertow,netty-http,coap", description = "The 
Camel Rest component to use for the REST transport (consumer), such as 
netty-http, jetty, servlet, undertow. If no component has been explicit 
configured, then Camel will lookup if there is a Camel component that 
integrates with the Rest DSL, or if a org.apache.camel.spi.RestConsumerFactory 
is registered in the registry. If either one is found, then [...]
                     @YamlProperty(name = "componentProperty", type = 
"array:org.apache.camel.model.rest.RestPropertyDefinition", description = 
"Allows to configure as many additional properties for the rest component in 
use.", displayName = "Component Property"),
@@ -13953,6 +13954,11 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     target.setBindingMode(asEnum(node, 
org.apache.camel.model.rest.RestBindingMode.class));
                     break;
                 }
+                case "bindingPackageScan": {
+                    String val = asText(node);
+                    target.setBindingPackageScan(val);
+                    break;
+                }
                 case "clientRequestValidation": {
                     String val = asText(node);
                     target.setClientRequestValidation(val);
diff --git 
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json
 
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json
index e03199e5b61..ab523aadfc5 100644
--- 
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json
+++ 
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json
@@ -15368,6 +15368,11 @@
             "default" : "off",
             "enum" : [ "auto", "json", "json_xml", "off", "xml" ]
           },
+          "bindingPackageScan" : {
+            "type" : "string",
+            "title" : "Binding Package Scan",
+            "description" : "Package name to use as base (offset) for 
classpath scanning of POJO classes are located when using binding mode is 
enabled for JSon or XML. Multiple package names can be separated by comma."
+          },
           "clientRequestValidation" : {
             "type" : "boolean",
             "title" : "Client Request Validation",

Reply via email to