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

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


The following commit(s) were added to refs/heads/master by this push:
     new 26b625c  Configuring some of the XML DSL options should support 
placeholder.
26b625c is described below

commit 26b625c4580b50fd63b13e905069816cb071472f
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Fri Mar 27 08:55:39 2020 +0100

    Configuring some of the XML DSL options should support placeholder.
---
 .../apache/camel/cdi/xml/CamelContextFactoryBean.java  | 18 +++++++++---------
 .../org/apache/camel/spring/camelContext.json          |  6 +++---
 .../apache/camel/spring/CamelContextFactoryBean.java   | 18 +++++++++---------
 .../core/xml/AbstractCamelContextFactoryBean.java      | 15 ++++++++++-----
 .../core/xml/AbstractCamelContextFactoryBeanTest.java  |  5 ++++-
 5 files changed, 35 insertions(+), 27 deletions(-)

diff --git 
a/components/camel-cdi/src/main/java/org/apache/camel/cdi/xml/CamelContextFactoryBean.java
 
b/components/camel-cdi/src/main/java/org/apache/camel/cdi/xml/CamelContextFactoryBean.java
index a945b37..f19230a 100644
--- 
a/components/camel-cdi/src/main/java/org/apache/camel/cdi/xml/CamelContextFactoryBean.java
+++ 
b/components/camel-cdi/src/main/java/org/apache/camel/cdi/xml/CamelContextFactoryBean.java
@@ -144,13 +144,13 @@ public class CamelContextFactoryBean extends 
AbstractCamelContextFactoryBean<Def
     private ShutdownRunningTask shutdownRunningTask;
 
     @XmlAttribute
-    private Boolean loadTypeConverters;
+    private String loadTypeConverters;
 
     @XmlAttribute
-    private Boolean typeConverterStatisticsEnabled;
+    private String typeConverterStatisticsEnabled;
 
     @XmlAttribute
-    private Boolean inflightRepositoryBrowseEnabled;
+    private String inflightRepositoryBrowseEnabled;
 
     @XmlAttribute
     private TypeConverterExists typeConverterExists;
@@ -754,29 +754,29 @@ public class CamelContextFactoryBean extends 
AbstractCamelContextFactoryBean<Def
     }
 
     @Override
-    public Boolean getLoadTypeConverters() {
+    public String getLoadTypeConverters() {
         return loadTypeConverters;
     }
 
-    public void setLoadTypeConverters(Boolean loadTypeConverters) {
+    public void setLoadTypeConverters(String loadTypeConverters) {
         this.loadTypeConverters = loadTypeConverters;
     }
 
     @Override
-    public Boolean getTypeConverterStatisticsEnabled() {
+    public String getTypeConverterStatisticsEnabled() {
         return typeConverterStatisticsEnabled;
     }
 
-    public void setTypeConverterStatisticsEnabled(Boolean 
typeConverterStatisticsEnabled) {
+    public void setTypeConverterStatisticsEnabled(String 
typeConverterStatisticsEnabled) {
         this.typeConverterStatisticsEnabled = typeConverterStatisticsEnabled;
     }
 
     @Override
-    public Boolean getInflightRepositoryBrowseEnabled() {
+    public String getInflightRepositoryBrowseEnabled() {
         return inflightRepositoryBrowseEnabled;
     }
 
-    public void setInflightRepositoryBrowseEnabled(Boolean 
inflightRepositoryBrowseEnabled) {
+    public void setInflightRepositoryBrowseEnabled(String 
inflightRepositoryBrowseEnabled) {
         this.inflightRepositoryBrowseEnabled = inflightRepositoryBrowseEnabled;
     }
 
diff --git 
a/components/camel-spring/src/generated/resources/org/apache/camel/spring/camelContext.json
 
b/components/camel-spring/src/generated/resources/org/apache/camel/spring/camelContext.json
index d683580..60801e5 100644
--- 
a/components/camel-spring/src/generated/resources/org/apache/camel/spring/camelContext.json
+++ 
b/components/camel-spring/src/generated/resources/org/apache/camel/spring/camelContext.json
@@ -35,9 +35,9 @@
     "threadNamePattern": { "kind": "attribute", "displayName": "Thread Name 
Pattern", "required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "secret": false, "defaultValue": "Camel (#camelId#) thread 
##counter# - #name#", "description": "Sets the thread name pattern used for 
creating the full thread name. The default pattern is: Camel (#camelId#) thread 
##counter# - #name# Where #camelId# is the name of the 
org.apache.camel.CamelContext and #counter# is [...]
     "shutdownRoute": { "kind": "attribute", "displayName": "Shutdown Route", 
"required": false, "type": "enum", "javaType": 
"org.apache.camel.ShutdownRoute", "enum": [ "Default", "Defer" ], "deprecated": 
false, "secret": false, "defaultValue": "Default", "description": "Sets the 
ShutdownRoute option for routes." },
     "shutdownRunningTask": { "kind": "attribute", "displayName": "Shutdown 
Running Task", "required": false, "type": "enum", "javaType": 
"org.apache.camel.ShutdownRunningTask", "enum": [ "CompleteAllTasks", 
"CompleteCurrentTaskOnly" ], "deprecated": false, "secret": false, 
"defaultValue": "CompleteCurrentTaskOnly", "description": "Sets the 
ShutdownRunningTask option to use when shutting down a route." },
-    "loadTypeConverters": { "kind": "attribute", "displayName": "Load Type 
Converters", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "secret": false, "defaultValue": 
true, "description": "Sets whether to load custom type converters by scanning 
classpath. This can be turned off if you are only using Camel components that 
does not provide type converters which is needed at runtime. In such situations 
setting this option to false, can speedup s [...]
-    "typeConverterStatisticsEnabled": { "kind": "attribute", "displayName": 
"Type Converter Statistics Enabled", "required": false, "type": "boolean", 
"javaType": "java.lang.Boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "description": "Sets whether or not type converter 
statistics is enabled. By default the type converter utilization statistics is 
disabled. Notice: If enabled then there is a slight performance impact under 
very heavy load. You can enable\/disable [...]
-    "inflightRepositoryBrowseEnabled": { "kind": "attribute", "displayName": 
"Inflight Repository Browse Enabled", "required": false, "type": "boolean", 
"javaType": "java.lang.Boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "description": "Sets whether the inflight repository 
should allow browsing each inflight exchange. This is by default disabled as 
there is a very slight performance overhead when enabled." },
+    "loadTypeConverters": { "kind": "attribute", "displayName": "Load Type 
Converters", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "defaultValue": 
"true", "description": "Sets whether to load custom type converters by scanning 
classpath. This can be turned off if you are only using Camel components that 
does not provide type converters which is needed at runtime. In such situations 
setting this option to false, can speedup s [...]
+    "typeConverterStatisticsEnabled": { "kind": "attribute", "displayName": 
"Type Converter Statistics Enabled", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"description": "Sets whether or not type converter statistics is enabled. By 
default the type converter utilization statistics is disabled. Notice: If 
enabled then there is a slight performance impact under very heavy load. You 
can enable\/disable the statistics at runtim [...]
+    "inflightRepositoryBrowseEnabled": { "kind": "attribute", "displayName": 
"Inflight Repository Browse Enabled", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"description": "Sets whether the inflight repository should allow browsing each 
inflight exchange. This is by default disabled as there is a very slight 
performance overhead when enabled." },
     "typeConverterExists": { "kind": "attribute", "displayName": "Type 
Converter Exists", "required": false, "type": "enum", "javaType": 
"org.apache.camel.TypeConverterExists", "enum": [ "Fail", "Ignore", "Override" 
], "deprecated": false, "secret": false, "defaultValue": "Override", 
"description": "What should happen when attempting to add a duplicate type 
converter. The default behavior is to override the existing." },
     "typeConverterExistsLoggingLevel": { "kind": "attribute", "displayName": 
"Type Converter Exists Logging Level", "required": false, "type": "enum", 
"javaType": "org.apache.camel.LoggingLevel", "enum": [ "DEBUG", "ERROR", 
"INFO", "OFF", "TRACE", "WARN" ], "deprecated": false, "secret": false, 
"defaultValue": "WARN", "description": "The logging level to use when logging 
that a type converter already exists when attempting to add a duplicate type 
converter. The default logging level is WARN" },
     "globalOptions": { "kind": "element", "displayName": "Global Options", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.model.GlobalOptionsDefinition", "deprecated": false, 
"secret": false, "description": "Configuration of CamelContext properties such 
as limit of debug logging and other general options." },
diff --git 
a/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java
 
b/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java
index 364fcb7..3cb5edb 100644
--- 
a/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java
+++ 
b/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java
@@ -149,11 +149,11 @@ public class CamelContextFactoryBean extends 
AbstractCamelContextFactoryBean<Spr
     @XmlAttribute @Metadata(defaultValue = "CompleteCurrentTaskOnly")
     private ShutdownRunningTask shutdownRunningTask;
     @XmlAttribute @Metadata(defaultValue = "true")
-    private Boolean loadTypeConverters;
+    private String loadTypeConverters;
     @XmlAttribute
-    private Boolean typeConverterStatisticsEnabled;
+    private String typeConverterStatisticsEnabled;
     @XmlAttribute
-    private Boolean inflightRepositoryBrowseEnabled;
+    private String inflightRepositoryBrowseEnabled;
     @XmlAttribute @Metadata(defaultValue = "Override")
     private TypeConverterExists typeConverterExists;
     @XmlAttribute @Metadata(defaultValue = "WARN")
@@ -943,7 +943,7 @@ public class CamelContextFactoryBean extends 
AbstractCamelContextFactoryBean<Spr
     }
 
     @Override
-    public Boolean getInflightRepositoryBrowseEnabled() {
+    public String getInflightRepositoryBrowseEnabled() {
         return inflightRepositoryBrowseEnabled;
     }
 
@@ -952,7 +952,7 @@ public class CamelContextFactoryBean extends 
AbstractCamelContextFactoryBean<Spr
      *
      * This is by default disabled as there is a very slight performance 
overhead when enabled.
      */
-    public void setInflightRepositoryBrowseEnabled(Boolean 
inflightRepositoryBrowseEnabled) {
+    public void setInflightRepositoryBrowseEnabled(String 
inflightRepositoryBrowseEnabled) {
         this.inflightRepositoryBrowseEnabled = inflightRepositoryBrowseEnabled;
     }
 
@@ -988,7 +988,7 @@ public class CamelContextFactoryBean extends 
AbstractCamelContextFactoryBean<Spr
     }
 
     @Override
-    public Boolean getLoadTypeConverters() {
+    public String getLoadTypeConverters() {
         return loadTypeConverters;
     }
 
@@ -1001,12 +1001,12 @@ public class CamelContextFactoryBean extends 
AbstractCamelContextFactoryBean<Spr
      *
      * @param loadTypeConverters whether to load custom type converters.
      */
-    public void setLoadTypeConverters(Boolean loadTypeConverters) {
+    public void setLoadTypeConverters(String loadTypeConverters) {
         this.loadTypeConverters = loadTypeConverters;
     }
 
     @Override
-    public Boolean getTypeConverterStatisticsEnabled() {
+    public String getTypeConverterStatisticsEnabled() {
         return typeConverterStatisticsEnabled;
     }
 
@@ -1020,7 +1020,7 @@ public class CamelContextFactoryBean extends 
AbstractCamelContextFactoryBean<Spr
      * {@link 
org.apache.camel.spi.TypeConverterRegistry#getStatistics()#setTypeConverterStatisticsEnabled(Boolean)}
 method,
      * or from JMX on the {@link 
org.apache.camel.api.management.mbean.ManagedTypeConverterRegistryMBean} mbean.
      */
-    public void setTypeConverterStatisticsEnabled(Boolean 
typeConverterStatisticsEnabled) {
+    public void setTypeConverterStatisticsEnabled(String 
typeConverterStatisticsEnabled) {
         this.typeConverterStatisticsEnabled = typeConverterStatisticsEnabled;
     }
 
diff --git 
a/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
 
b/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
index 9752c5b..be5dfc6 100644
--- 
a/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
+++ 
b/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
@@ -187,6 +187,11 @@ public abstract class AbstractCamelContextFactoryBean<T 
extends ModelCamelContex
             getContext().setTypeConverterRegistry(tcr);
         }
 
+        // setup whether to load type converters as early as possible
+        if (getLoadTypeConverters() != null) {
+            
getContext().setLoadTypeConverters(CamelContextHelper.parseBoolean(getContext(),
 getLoadTypeConverters()));
+        }
+
         // then properties component
         PropertiesComponent pc = getBeanForType(PropertiesComponent.class);
         if (pc != null) {
@@ -816,11 +821,11 @@ public abstract class AbstractCamelContextFactoryBean<T 
extends ModelCamelContex
 
     public abstract String getThreadNamePattern();
 
-    public abstract Boolean getLoadTypeConverters();
+    public abstract String getLoadTypeConverters();
 
-    public abstract Boolean getInflightRepositoryBrowseEnabled();
+    public abstract String getInflightRepositoryBrowseEnabled();
 
-    public abstract Boolean getTypeConverterStatisticsEnabled();
+    public abstract String getTypeConverterStatisticsEnabled();
 
     public abstract LoggingLevel getTypeConverterExistsLoggingLevel();
 
@@ -958,10 +963,10 @@ public abstract class AbstractCamelContextFactoryBean<T 
extends ModelCamelContex
             context.setValidators(getValidators().getValidators());
         }
         if (getTypeConverterStatisticsEnabled() != null) {
-            
context.setTypeConverterStatisticsEnabled(getTypeConverterStatisticsEnabled());
+            
context.setTypeConverterStatisticsEnabled(CamelContextHelper.parseBoolean(context,
 getTypeConverterStatisticsEnabled()));
         }
         if (getInflightRepositoryBrowseEnabled() != null) {
-            
context.getInflightRepository().setInflightBrowseEnabled(getInflightRepositoryBrowseEnabled());
+            
context.getInflightRepository().setInflightBrowseEnabled(CamelContextHelper.parseBoolean(context,
 getInflightRepositoryBrowseEnabled()));
         }
         if (getTypeConverterExists() != null) {
             
context.getTypeConverterRegistry().setTypeConverterExists(getTypeConverterExists());
diff --git 
a/core/camel-core-xml/src/test/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBeanTest.java
 
b/core/camel-core-xml/src/test/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBeanTest.java
index 88151e0..2f27241 100644
--- 
a/core/camel-core-xml/src/test/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBeanTest.java
+++ 
b/core/camel-core-xml/src/test/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBeanTest.java
@@ -34,6 +34,7 @@ import org.apache.camel.impl.engine.DefaultFactoryFinder;
 import org.apache.camel.impl.engine.DefaultPackageScanClassResolver;
 import org.apache.camel.model.ModelCamelContext;
 import org.apache.camel.spi.ExecutorServiceManager;
+import org.apache.camel.spi.InflightRepository;
 import org.apache.camel.spi.Injector;
 import org.apache.camel.spi.ManagementNameStrategy;
 import org.apache.camel.spi.RuntimeEndpointRegistry;
@@ -87,7 +88,8 @@ public class AbstractCamelContextFactoryBeanTest {
     // properties that should return value that can be converted to boolean
     Set<String> valuesThatReturnBoolean = new 
HashSet<>(asList("{{getStreamCache}}", "{{getDebug}}", "{{getTrace}}", 
"{{getBacklogTrace}}",
         "{{getMessageHistory}}", "{{getLogMask}}", 
"{{getLogExhaustedMessageBody}}", "{{getHandleFault}}", 
"{{getCaseInsensitiveHeaders}}",
-        "{{getAutoStartup}}", "{{getUseMDCLogging}}", "{{getUseDataType}}", 
"{{getUseBreadcrumb}}", "{{getAllowUseOriginalMessage}}"));
+        "{{getAutoStartup}}", "{{getUseMDCLogging}}", "{{getUseDataType}}", 
"{{getUseBreadcrumb}}", "{{getAllowUseOriginalMessage}}",
+        "{{getLoadTypeConverters}}", "{{getTypeConverterStatisticsEnabled}}", 
"{{getInflightRepositoryBrowseEnabled}}"));
 
     // properties that should return value that can be converted to long
     Set<String> valuesThatReturnLong = new HashSet<>(asList("{{getDelayer}}"));
@@ -127,6 +129,7 @@ public class AbstractCamelContextFactoryBeanTest {
         
when(context.getRuntimeEndpointRegistry()).thenReturn(mock(RuntimeEndpointRegistry.class));
         
when(context.getManagementNameStrategy()).thenReturn(mock(ManagementNameStrategy.class));
         
when(context.getExecutorServiceManager()).thenReturn(mock(ExecutorServiceManager.class));
+        
when(context.getInflightRepository()).thenReturn(mock(InflightRepository.class));
 
         @SuppressWarnings("unchecked")
         final AbstractCamelContextFactoryBean<ModelCamelContext> factory = 
mock(AbstractCamelContextFactoryBean.class);

Reply via email to