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

acosentino 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 67067a5d25a CAMEL-20980 Add object mapper uri param for json validator 
(#14848)
67067a5d25a is described below

commit 67067a5d25ae18ee4daab51698852b323114e19a
Author: Alvin Kwekel <al...@liberition.com>
AuthorDate: Wed Jul 17 11:16:22 2024 +0200

    CAMEL-20980 Add object mapper uri param for json validator (#14848)
    
    * CAMEL-20980 Add object mapper endpoint option for json validator
    
    * CAMEL-20980 Add object mapper component option for json validator
    
    * CAMEL-20980 Add generated resources
    
    * CAMEL-20980 Add generated resources - part 2
    
    ---------
    
    Co-authored-by: Alvin Kwekel <am.kwe...@minvws.nl>
---
 .../camel/catalog/components/json-validator.json   |  6 +++--
 .../JsonValidatorComponentConfigurer.java          | 11 ++++++++
 .../JsonValidatorEndpointConfigurer.java           |  6 +++++
 .../JsonValidatorEndpointUriFactory.java           |  3 ++-
 .../component/jsonvalidator/json-validator.json    |  6 +++--
 .../jsonvalidator/JsonValidatorComponent.java      | 16 ++++++++++++
 .../jsonvalidator/JsonValidatorEndpoint.java       | 23 ++++++++++++-----
 .../dsl/JsonValidatorComponentBuilderFactory.java  | 18 +++++++++++++
 .../dsl/JsonValidatorEndpointBuilderFactory.java   | 30 ++++++++++++++++++++++
 .../camel/kotlin/components/JsonValidatorUriDsl.kt |  7 +++++
 10 files changed, 115 insertions(+), 11 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/json-validator.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/json-validator.json
index 43e81fbebee..740b08c047a 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/json-validator.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/json-validator.json
@@ -24,7 +24,8 @@
   },
   "componentProperties": {
     "lazyStartProducer": { "index": 0, "kind": "property", "displayName": 
"Lazy Start Producer", "group": "producer", "label": "producer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the producer should be started lazy (on the first message). By 
starting lazy you can use this to allow CamelContext and routes to startup in 
situations where a producer may otherwise fail [...]
-    "autowiredEnabled": { "index": 1, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+    "autowiredEnabled": { "index": 1, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+    "objectMapper": { "index": 2, "kind": "property", "displayName": "Object 
Mapper", "group": "advanced", "label": "advanced", "required": false, "type": 
"object", "javaType": "com.fasterxml.jackson.databind.ObjectMapper", 
"deprecated": false, "autowired": true, "secret": false, "description": "To use 
a custom ObjectMapper" }
   },
   "properties": {
     "resourceUri": { "index": 0, "kind": "path", "displayName": "Resource 
Uri", "group": "producer", "label": "", "required": true, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "supportFileReference": true, 
"description": "Path to the resource. You can prefix with: classpath, file, 
http, ref, or bean. classpath, file and http loads the resource using these 
protocols (classpath is default). ref will look [...]
@@ -37,6 +38,7 @@
     "disabledDeserializationFeatures": { "index": 7, "kind": "parameter", 
"displayName": "Disabled Deserialization Features", "group": "advanced", 
"label": "advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Comma-separated list of Jackson DeserializationFeature enum 
values which will be disabled for parsing exchange body" },
     "enabledDeserializationFeatures": { "index": 8, "kind": "parameter", 
"displayName": "Enabled Deserialization Features", "group": "advanced", 
"label": "advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Comma-separated list of Jackson DeserializationFeature enum 
values which will be enabled for parsing exchange body" },
     "errorHandler": { "index": 9, "kind": "parameter", "displayName": "Error 
Handler", "group": "advanced", "label": "advanced", "required": false, "type": 
"object", "javaType": 
"org.apache.camel.component.jsonvalidator.JsonValidatorErrorHandler", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
use a custom ValidatorErrorHandler. The default error handler captures the 
errors and throws an exception." },
-    "uriSchemaLoader": { "index": 10, "kind": "parameter", "displayName": "Uri 
Schema Loader", "group": "advanced", "label": "advanced", "required": false, 
"type": "object", "javaType": 
"org.apache.camel.component.jsonvalidator.JsonUriSchemaLoader", "deprecated": 
false, "autowired": false, "secret": false, "description": "To use a custom 
schema loader allowing for adding custom format validation. The default 
implementation will create a schema loader that tries to determine the schema 
ve [...]
+    "objectMapper": { "index": 10, "kind": "parameter", "displayName": "Object 
Mapper", "group": "advanced", "label": "advanced", "required": false, "type": 
"object", "javaType": "com.fasterxml.jackson.databind.ObjectMapper", 
"deprecated": false, "autowired": false, "secret": false, "description": "The 
used Jackson object mapper" },
+    "uriSchemaLoader": { "index": 11, "kind": "parameter", "displayName": "Uri 
Schema Loader", "group": "advanced", "label": "advanced", "required": false, 
"type": "object", "javaType": 
"org.apache.camel.component.jsonvalidator.JsonUriSchemaLoader", "deprecated": 
false, "autowired": false, "secret": false, "description": "To use a custom 
schema loader allowing for adding custom format validation. The default 
implementation will create a schema loader that tries to determine the schema 
ve [...]
   }
 }
diff --git 
a/components/camel-json-validator/src/generated/java/org/apache/camel/component/jsonvalidator/JsonValidatorComponentConfigurer.java
 
b/components/camel-json-validator/src/generated/java/org/apache/camel/component/jsonvalidator/JsonValidatorComponentConfigurer.java
index 9d646218424..bbfd47ddeaf 100644
--- 
a/components/camel-json-validator/src/generated/java/org/apache/camel/component/jsonvalidator/JsonValidatorComponentConfigurer.java
+++ 
b/components/camel-json-validator/src/generated/java/org/apache/camel/component/jsonvalidator/JsonValidatorComponentConfigurer.java
@@ -27,10 +27,17 @@ public class JsonValidatorComponentConfigurer extends 
PropertyConfigurerSupport
         case "autowiredEnabled": 
target.setAutowiredEnabled(property(camelContext, boolean.class, value)); 
return true;
         case "lazystartproducer":
         case "lazyStartProducer": 
target.setLazyStartProducer(property(camelContext, boolean.class, value)); 
return true;
+        case "objectmapper":
+        case "objectMapper": target.setObjectMapper(property(camelContext, 
com.fasterxml.jackson.databind.ObjectMapper.class, value)); return true;
         default: return false;
         }
     }
 
+    @Override
+    public String[] getAutowiredNames() {
+        return new String[]{"objectMapper"};
+    }
+
     @Override
     public Class<?> getOptionType(String name, boolean ignoreCase) {
         switch (ignoreCase ? name.toLowerCase() : name) {
@@ -38,6 +45,8 @@ public class JsonValidatorComponentConfigurer extends 
PropertyConfigurerSupport
         case "autowiredEnabled": return boolean.class;
         case "lazystartproducer":
         case "lazyStartProducer": return boolean.class;
+        case "objectmapper":
+        case "objectMapper": return 
com.fasterxml.jackson.databind.ObjectMapper.class;
         default: return null;
         }
     }
@@ -50,6 +59,8 @@ public class JsonValidatorComponentConfigurer extends 
PropertyConfigurerSupport
         case "autowiredEnabled": return target.isAutowiredEnabled();
         case "lazystartproducer":
         case "lazyStartProducer": return target.isLazyStartProducer();
+        case "objectmapper":
+        case "objectMapper": return target.getObjectMapper();
         default: return null;
         }
     }
diff --git 
a/components/camel-json-validator/src/generated/java/org/apache/camel/component/jsonvalidator/JsonValidatorEndpointConfigurer.java
 
b/components/camel-json-validator/src/generated/java/org/apache/camel/component/jsonvalidator/JsonValidatorEndpointConfigurer.java
index 57e53a0cc5b..0938d5ffd83 100644
--- 
a/components/camel-json-validator/src/generated/java/org/apache/camel/component/jsonvalidator/JsonValidatorEndpointConfigurer.java
+++ 
b/components/camel-json-validator/src/generated/java/org/apache/camel/component/jsonvalidator/JsonValidatorEndpointConfigurer.java
@@ -41,6 +41,8 @@ public class JsonValidatorEndpointConfigurer extends 
PropertyConfigurerSupport i
         case "headerName": target.setHeaderName(property(camelContext, 
java.lang.String.class, value)); return true;
         case "lazystartproducer":
         case "lazyStartProducer": 
target.setLazyStartProducer(property(camelContext, boolean.class, value)); 
return true;
+        case "objectmapper":
+        case "objectMapper": target.setObjectMapper(property(camelContext, 
com.fasterxml.jackson.databind.ObjectMapper.class, value)); return true;
         case "urischemaloader":
         case "uriSchemaLoader": 
target.setUriSchemaLoader(property(camelContext, 
org.apache.camel.component.jsonvalidator.JsonUriSchemaLoader.class, value)); 
return true;
         default: return false;
@@ -68,6 +70,8 @@ public class JsonValidatorEndpointConfigurer extends 
PropertyConfigurerSupport i
         case "headerName": return java.lang.String.class;
         case "lazystartproducer":
         case "lazyStartProducer": return boolean.class;
+        case "objectmapper":
+        case "objectMapper": return 
com.fasterxml.jackson.databind.ObjectMapper.class;
         case "urischemaloader":
         case "uriSchemaLoader": return 
org.apache.camel.component.jsonvalidator.JsonUriSchemaLoader.class;
         default: return null;
@@ -96,6 +100,8 @@ public class JsonValidatorEndpointConfigurer extends 
PropertyConfigurerSupport i
         case "headerName": return target.getHeaderName();
         case "lazystartproducer":
         case "lazyStartProducer": return target.isLazyStartProducer();
+        case "objectmapper":
+        case "objectMapper": return target.getObjectMapper();
         case "urischemaloader":
         case "uriSchemaLoader": return target.getUriSchemaLoader();
         default: return null;
diff --git 
a/components/camel-json-validator/src/generated/java/org/apache/camel/component/jsonvalidator/JsonValidatorEndpointUriFactory.java
 
b/components/camel-json-validator/src/generated/java/org/apache/camel/component/jsonvalidator/JsonValidatorEndpointUriFactory.java
index 27ce3b0deef..b2ea6550517 100644
--- 
a/components/camel-json-validator/src/generated/java/org/apache/camel/component/jsonvalidator/JsonValidatorEndpointUriFactory.java
+++ 
b/components/camel-json-validator/src/generated/java/org/apache/camel/component/jsonvalidator/JsonValidatorEndpointUriFactory.java
@@ -23,7 +23,7 @@ public class JsonValidatorEndpointUriFactory extends 
org.apache.camel.support.co
     private static final Set<String> SECRET_PROPERTY_NAMES;
     private static final Set<String> MULTI_VALUE_PREFIXES;
     static {
-        Set<String> props = new HashSet<>(11);
+        Set<String> props = new HashSet<>(12);
         props.add("allowContextMapAll");
         props.add("contentCache");
         props.add("disabledDeserializationFeatures");
@@ -33,6 +33,7 @@ public class JsonValidatorEndpointUriFactory extends 
org.apache.camel.support.co
         props.add("failOnNullHeader");
         props.add("headerName");
         props.add("lazyStartProducer");
+        props.add("objectMapper");
         props.add("resourceUri");
         props.add("uriSchemaLoader");
         PROPERTY_NAMES = Collections.unmodifiableSet(props);
diff --git 
a/components/camel-json-validator/src/generated/resources/META-INF/org/apache/camel/component/jsonvalidator/json-validator.json
 
b/components/camel-json-validator/src/generated/resources/META-INF/org/apache/camel/component/jsonvalidator/json-validator.json
index 43e81fbebee..740b08c047a 100644
--- 
a/components/camel-json-validator/src/generated/resources/META-INF/org/apache/camel/component/jsonvalidator/json-validator.json
+++ 
b/components/camel-json-validator/src/generated/resources/META-INF/org/apache/camel/component/jsonvalidator/json-validator.json
@@ -24,7 +24,8 @@
   },
   "componentProperties": {
     "lazyStartProducer": { "index": 0, "kind": "property", "displayName": 
"Lazy Start Producer", "group": "producer", "label": "producer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the producer should be started lazy (on the first message). By 
starting lazy you can use this to allow CamelContext and routes to startup in 
situations where a producer may otherwise fail [...]
-    "autowiredEnabled": { "index": 1, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+    "autowiredEnabled": { "index": 1, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+    "objectMapper": { "index": 2, "kind": "property", "displayName": "Object 
Mapper", "group": "advanced", "label": "advanced", "required": false, "type": 
"object", "javaType": "com.fasterxml.jackson.databind.ObjectMapper", 
"deprecated": false, "autowired": true, "secret": false, "description": "To use 
a custom ObjectMapper" }
   },
   "properties": {
     "resourceUri": { "index": 0, "kind": "path", "displayName": "Resource 
Uri", "group": "producer", "label": "", "required": true, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "supportFileReference": true, 
"description": "Path to the resource. You can prefix with: classpath, file, 
http, ref, or bean. classpath, file and http loads the resource using these 
protocols (classpath is default). ref will look [...]
@@ -37,6 +38,7 @@
     "disabledDeserializationFeatures": { "index": 7, "kind": "parameter", 
"displayName": "Disabled Deserialization Features", "group": "advanced", 
"label": "advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Comma-separated list of Jackson DeserializationFeature enum 
values which will be disabled for parsing exchange body" },
     "enabledDeserializationFeatures": { "index": 8, "kind": "parameter", 
"displayName": "Enabled Deserialization Features", "group": "advanced", 
"label": "advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Comma-separated list of Jackson DeserializationFeature enum 
values which will be enabled for parsing exchange body" },
     "errorHandler": { "index": 9, "kind": "parameter", "displayName": "Error 
Handler", "group": "advanced", "label": "advanced", "required": false, "type": 
"object", "javaType": 
"org.apache.camel.component.jsonvalidator.JsonValidatorErrorHandler", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
use a custom ValidatorErrorHandler. The default error handler captures the 
errors and throws an exception." },
-    "uriSchemaLoader": { "index": 10, "kind": "parameter", "displayName": "Uri 
Schema Loader", "group": "advanced", "label": "advanced", "required": false, 
"type": "object", "javaType": 
"org.apache.camel.component.jsonvalidator.JsonUriSchemaLoader", "deprecated": 
false, "autowired": false, "secret": false, "description": "To use a custom 
schema loader allowing for adding custom format validation. The default 
implementation will create a schema loader that tries to determine the schema 
ve [...]
+    "objectMapper": { "index": 10, "kind": "parameter", "displayName": "Object 
Mapper", "group": "advanced", "label": "advanced", "required": false, "type": 
"object", "javaType": "com.fasterxml.jackson.databind.ObjectMapper", 
"deprecated": false, "autowired": false, "secret": false, "description": "The 
used Jackson object mapper" },
+    "uriSchemaLoader": { "index": 11, "kind": "parameter", "displayName": "Uri 
Schema Loader", "group": "advanced", "label": "advanced", "required": false, 
"type": "object", "javaType": 
"org.apache.camel.component.jsonvalidator.JsonUriSchemaLoader", "deprecated": 
false, "autowired": false, "secret": false, "description": "To use a custom 
schema loader allowing for adding custom format validation. The default 
implementation will create a schema loader that tries to determine the schema 
ve [...]
   }
 }
diff --git 
a/components/camel-json-validator/src/main/java/org/apache/camel/component/jsonvalidator/JsonValidatorComponent.java
 
b/components/camel-json-validator/src/main/java/org/apache/camel/component/jsonvalidator/JsonValidatorComponent.java
index dbf87289cb8..5ff20b28ce5 100644
--- 
a/components/camel-json-validator/src/main/java/org/apache/camel/component/jsonvalidator/JsonValidatorComponent.java
+++ 
b/components/camel-json-validator/src/main/java/org/apache/camel/component/jsonvalidator/JsonValidatorComponent.java
@@ -18,7 +18,9 @@ package org.apache.camel.component.jsonvalidator;
 
 import java.util.Map;
 
+import com.fasterxml.jackson.databind.ObjectMapper;
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
@@ -28,11 +30,25 @@ import org.apache.camel.support.DefaultComponent;
 @Component("json-validator")
 public class JsonValidatorComponent extends DefaultComponent {
 
+    @Metadata(label = "advanced", autowired = true)
+    private ObjectMapper objectMapper;
+
     @Override
     protected Endpoint createEndpoint(String uri, String remaining, 
Map<String, Object> parameters) throws Exception {
         JsonValidatorEndpoint endpoint = new JsonValidatorEndpoint(uri, this, 
remaining);
+        endpoint.setObjectMapper(objectMapper);
         setProperties(endpoint, parameters);
         return endpoint;
     }
 
+    /**
+     * To use a custom {@link ObjectMapper}
+     */
+    public void setObjectMapper(ObjectMapper objectMapper) {
+        this.objectMapper = objectMapper;
+    }
+
+    public ObjectMapper getObjectMapper() {
+        return objectMapper;
+    }
 }
diff --git 
a/components/camel-json-validator/src/main/java/org/apache/camel/component/jsonvalidator/JsonValidatorEndpoint.java
 
b/components/camel-json-validator/src/main/java/org/apache/camel/component/jsonvalidator/JsonValidatorEndpoint.java
index 54306bc73e0..e9226b6631e 100644
--- 
a/components/camel-json-validator/src/main/java/org/apache/camel/component/jsonvalidator/JsonValidatorEndpoint.java
+++ 
b/components/camel-json-validator/src/main/java/org/apache/camel/component/jsonvalidator/JsonValidatorEndpoint.java
@@ -46,8 +46,6 @@ public class JsonValidatorEndpoint extends ResourceEndpoint {
 
     private volatile JsonSchema schema;
 
-    private ObjectMapper mapper;
-
     @UriParam(defaultValue = "true")
     private boolean failOnNullBody = true;
     @UriParam(defaultValue = "true")
@@ -67,6 +65,9 @@ public class JsonValidatorEndpoint extends ResourceEndpoint {
               description = "Comma-separated list of Jackson 
DeserializationFeature enum values which will be disabled for parsing exchange 
body")
     private String disabledDeserializationFeatures;
 
+    @UriParam(label = "advanced", description = "The used Jackson object 
mapper")
+    private ObjectMapper objectMapper;
+
     public JsonValidatorEndpoint(String endpointUri, Component component, 
String resourceUri) {
         super(endpointUri, component, resourceUri);
     }
@@ -85,17 +86,19 @@ public class JsonValidatorEndpoint extends ResourceEndpoint 
{
     @Override
     protected void doInit() throws Exception {
         super.doInit();
-        mapper = new ObjectMapper();
+        if (objectMapper == null) {
+            objectMapper = new ObjectMapper();
+        }
         if (enabledDeserializationFeatures != null) {
             for (var featureName : enabledDeserializationFeatures.split(",")) {
                 var feature = DeserializationFeature.valueOf(featureName);
-                mapper.enable(feature);
+                objectMapper.enable(feature);
             }
         }
         if (disabledDeserializationFeatures != null) {
             for (var featureName : disabledDeserializationFeatures.split(",")) 
{
                 var feature = DeserializationFeature.valueOf(featureName);
-                mapper.disable(feature);
+                objectMapper.disable(feature);
             }
         }
     }
@@ -144,7 +147,7 @@ public class JsonValidatorEndpoint extends ResourceEndpoint 
{
                 }
                 try (InputStream is = 
exchange.getContext().getTypeConverter().mandatoryConvertTo(InputStream.class, 
exchange,
                         cache != null ? cache : content)) {
-                    JsonNode node = mapper.readTree(is);
+                    JsonNode node = objectMapper.readTree(is);
                     if (node == null) {
                         throw new NoJsonBodyValidationException(exchange);
                     }
@@ -275,4 +278,12 @@ public class JsonValidatorEndpoint extends 
ResourceEndpoint {
     public void setDisabledDeserializationFeatures(String 
disabledDeserializationFeatures) {
         this.disabledDeserializationFeatures = disabledDeserializationFeatures;
     }
+
+    public ObjectMapper getObjectMapper() {
+        return objectMapper;
+    }
+
+    public void setObjectMapper(ObjectMapper objectMapper) {
+        this.objectMapper = objectMapper;
+    }
 }
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/JsonValidatorComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/JsonValidatorComponentBuilderFactory.java
index a3e7252e1ea..be9de60ce2c 100644
--- 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/JsonValidatorComponentBuilderFactory.java
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/JsonValidatorComponentBuilderFactory.java
@@ -96,6 +96,23 @@ public interface JsonValidatorComponentBuilderFactory {
             doSetProperty("autowiredEnabled", autowiredEnabled);
             return this;
         }
+    
+        /**
+         * To use a custom ObjectMapper.
+         * 
+         * The option is a:
+         * &lt;code&gt;com.fasterxml.jackson.databind.ObjectMapper&lt;/code&gt;
+         * type.
+         * 
+         * Group: advanced
+         * 
+         * @param objectMapper the value to set
+         * @return the dsl builder
+         */
+        default JsonValidatorComponentBuilder 
objectMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper) {
+            doSetProperty("objectMapper", objectMapper);
+            return this;
+        }
     }
 
     class JsonValidatorComponentBuilderImpl
@@ -113,6 +130,7 @@ public interface JsonValidatorComponentBuilderFactory {
             switch (name) {
             case "lazyStartProducer": ((JsonValidatorComponent) 
component).setLazyStartProducer((boolean) value); return true;
             case "autowiredEnabled": ((JsonValidatorComponent) 
component).setAutowiredEnabled((boolean) value); return true;
+            case "objectMapper": ((JsonValidatorComponent) 
component).setObjectMapper((com.fasterxml.jackson.databind.ObjectMapper) 
value); return true;
             default: return false;
             }
         }
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/JsonValidatorEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/JsonValidatorEndpointBuilderFactory.java
index 0c703bd127e..3b192621def 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/JsonValidatorEndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/JsonValidatorEndpointBuilderFactory.java
@@ -306,6 +306,36 @@ public interface JsonValidatorEndpointBuilderFactory {
             doSetProperty("errorHandler", errorHandler);
             return this;
         }
+        /**
+         * The used Jackson object mapper.
+         * 
+         * The option is a:
+         * <code>com.fasterxml.jackson.databind.ObjectMapper</code> type.
+         * 
+         * Group: advanced
+         * 
+         * @param objectMapper the value to set
+         * @return the dsl builder
+         */
+        default AdvancedJsonValidatorEndpointBuilder 
objectMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper) {
+            doSetProperty("objectMapper", objectMapper);
+            return this;
+        }
+        /**
+         * The used Jackson object mapper.
+         * 
+         * The option will be converted to a
+         * <code>com.fasterxml.jackson.databind.ObjectMapper</code> type.
+         * 
+         * Group: advanced
+         * 
+         * @param objectMapper the value to set
+         * @return the dsl builder
+         */
+        default AdvancedJsonValidatorEndpointBuilder objectMapper(String 
objectMapper) {
+            doSetProperty("objectMapper", objectMapper);
+            return this;
+        }
         /**
          * To use a custom schema loader allowing for adding custom format
          * validation. The default implementation will create a schema loader
diff --git 
a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/JsonValidatorUriDsl.kt
 
b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/JsonValidatorUriDsl.kt
index 54f65f8c223..61e4301a7db 100644
--- 
a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/JsonValidatorUriDsl.kt
+++ 
b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/JsonValidatorUriDsl.kt
@@ -170,6 +170,13 @@ public class JsonValidatorUriDsl(
     it.property("errorHandler", errorHandler)
   }
 
+  /**
+   * The used Jackson object mapper
+   */
+  public fun objectMapper(objectMapper: String) {
+    it.property("objectMapper", objectMapper)
+  }
+
   /**
    * To use a custom schema loader allowing for adding custom format 
validation. The default
    * implementation will create a schema loader that tries to determine the 
schema version from the

Reply via email to