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

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

commit 82a7ac0c5fe27ef40da7aa5d20512d4b2a6b02c7
Author: Claus Ibsen <[email protected]>
AuthorDate: Thu Jun 26 10:19:28 2025 +0200

    CAMEL-22200: components that are resource endpoint based should have 
content cache true as default and make it configurable on component level.
---
 .../jsonvalidator/JsonValidatorComponentConfigurer.java    |  6 ++++++
 .../camel/component/jsonvalidator/json-validator.json      |  9 +++++----
 .../component/jsonvalidator/JsonValidatorComponent.java    | 14 ++++++++++++++
 3 files changed, 25 insertions(+), 4 deletions(-)

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 d918b19f4c2..5ce7e180a6d 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
@@ -25,6 +25,8 @@ public class JsonValidatorComponentConfigurer extends 
PropertyConfigurerSupport
         switch (ignoreCase ? name.toLowerCase() : name) {
         case "autowiredenabled":
         case "autowiredEnabled": 
target.setAutowiredEnabled(property(camelContext, boolean.class, value)); 
return true;
+        case "contentcache":
+        case "contentCache": target.setContentCache(property(camelContext, 
boolean.class, value)); return true;
         case "lazystartproducer":
         case "lazyStartProducer": 
target.setLazyStartProducer(property(camelContext, boolean.class, value)); 
return true;
         case "objectmapper":
@@ -40,6 +42,8 @@ public class JsonValidatorComponentConfigurer extends 
PropertyConfigurerSupport
         switch (ignoreCase ? name.toLowerCase() : name) {
         case "autowiredenabled":
         case "autowiredEnabled": return boolean.class;
+        case "contentcache":
+        case "contentCache": return boolean.class;
         case "lazystartproducer":
         case "lazyStartProducer": return boolean.class;
         case "objectmapper":
@@ -56,6 +60,8 @@ public class JsonValidatorComponentConfigurer extends 
PropertyConfigurerSupport
         switch (ignoreCase ? name.toLowerCase() : name) {
         case "autowiredenabled":
         case "autowiredEnabled": return target.isAutowiredEnabled();
+        case "contentcache":
+        case "contentCache": return target.isContentCache();
         case "lazystartproducer":
         case "lazyStartProducer": return target.isLazyStartProducer();
         case "objectmapper":
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 a39fa4b9af3..92d061c7f29 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,10 +24,11 @@
     "remote": false
   },
   "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 [...]
-    "useDefaultObjectMapper": { "index": 1, "kind": "property", "displayName": 
"Use Default Object Mapper", "group": "producer", "label": "", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether to lookup and use default Jackson ObjectMapper from the registry." },
-    "autowiredEnabled": { "index": 2, "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": 3, "kind": "property", "displayName": "Object 
Mapper", "group": "advanced", "label": "advanced", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Lookup and use the existing 
ObjectMapper with the given id." }
+    "contentCache": { "index": 0, "kind": "property", "displayName": "Content 
Cache", "group": "producer", "label": "", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": true, "description": "Sets whether to use resource 
content cache or not" },
+    "lazyStartProducer": { "index": 1, "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 [...]
+    "useDefaultObjectMapper": { "index": 2, "kind": "property", "displayName": 
"Use Default Object Mapper", "group": "producer", "label": "", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether to lookup and use default Jackson ObjectMapper from the registry." },
+    "autowiredEnabled": { "index": 3, "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": 4, "kind": "property", "displayName": "Object 
Mapper", "group": "advanced", "label": "advanced", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Lookup and use the existing 
ObjectMapper with the given id." }
   },
   "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 [...]
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 de56b3cbd95..4ba9a2f7f56 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
@@ -31,6 +31,8 @@ import org.apache.camel.support.DefaultComponent;
 @Component("json-validator")
 public class JsonValidatorComponent extends DefaultComponent {
 
+    @Metadata(defaultValue = "true", description = "Sets whether to use 
resource content cache or not")
+    private boolean contentCache;
     @Metadata(defaultValue = "true")
     private boolean useDefaultObjectMapper = true;
     @Metadata(label = "advanced")
@@ -46,10 +48,22 @@ public class JsonValidatorComponent extends 
DefaultComponent {
             ObjectMapper om = 
CamelContextHelper.findSingleByType(getCamelContext(), ObjectMapper.class);
             endpoint.setObjectMapper(om);
         }
+        endpoint.setContentCache(contentCache);
         setProperties(endpoint, parameters);
         return endpoint;
     }
 
+    public boolean isContentCache() {
+        return contentCache;
+    }
+
+    /**
+     * Sets whether to use resource content cache or not
+     */
+    public void setContentCache(boolean contentCache) {
+        this.contentCache = contentCache;
+    }
+
     public boolean isUseDefaultObjectMapper() {
         return useDefaultObjectMapper;
     }

Reply via email to