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

orpiske 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 4eace066acb (chores) consolidate valid boolean check (#11495)
4eace066acb is described below

commit 4eace066acb7b2cfa25f13ea4ec0ca4c8e838efb
Author: Otavio Rodolfo Piske <orpi...@users.noreply.github.com>
AuthorDate: Wed Sep 20 17:05:20 2023 +0200

    (chores) consolidate valid boolean check (#11495)
---
 .../org/apache/camel/catalog/impl/AbstractCamelCatalog.java |  5 +++--
 .../src/main/java/org/apache/camel/util/ObjectHelper.java   | 13 +++++++++++--
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git 
a/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
 
b/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
index abe4bd56d5f..2061558b099 100644
--- 
a/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
+++ 
b/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
@@ -53,6 +53,7 @@ import org.apache.camel.tooling.model.JsonMapper;
 import org.apache.camel.tooling.model.LanguageModel;
 import org.apache.camel.tooling.model.MainModel;
 import org.apache.camel.tooling.model.OtherModel;
+import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.StringHelper;
 import org.apache.camel.util.URISupport;
 
@@ -297,7 +298,7 @@ public abstract class AbstractCamelCatalog {
                 // is boolean
                 if (!multiValue && !valuePlaceholder && !lookup && 
"boolean".equals(row.getType())) {
                     // value must be a boolean
-                    boolean bool = "true".equalsIgnoreCase(value) || 
"false".equalsIgnoreCase(value);
+                    boolean bool = ObjectHelper.isBoolean(value);
                     if (!bool) {
                         result.addInvalidBoolean(name, value);
                     }
@@ -1177,7 +1178,7 @@ public abstract class AbstractCamelCatalog {
             // is boolean
             if (!optionPlaceholder && !lookup && 
"boolean".equals(row.getType())) {
                 // value must be a boolean
-                boolean bool = "true".equalsIgnoreCase(value) || 
"false".equalsIgnoreCase(value);
+                boolean bool = ObjectHelper.isBoolean(value);
                 if (!bool) {
                     result.addInvalidBoolean(longKey, value);
                 }
diff --git 
a/core/camel-util/src/main/java/org/apache/camel/util/ObjectHelper.java 
b/core/camel-util/src/main/java/org/apache/camel/util/ObjectHelper.java
index b66e03ad803..29f57fcdf68 100644
--- a/core/camel-util/src/main/java/org/apache/camel/util/ObjectHelper.java
+++ b/core/camel-util/src/main/java/org/apache/camel/util/ObjectHelper.java
@@ -123,14 +123,14 @@ public final class ObjectHelper {
         }
         if (value instanceof byte[]) {
             String str = new String((byte[]) value);
-            if ("true".equalsIgnoreCase(str) || "false".equalsIgnoreCase(str)) 
{
+            if (isBoolean(str)) {
                 return Boolean.valueOf(str);
             }
         }
         if (value instanceof String) {
             // we only want to accept true or false as accepted values
             String str = (String) value;
-            if ("true".equalsIgnoreCase(str) || "false".equalsIgnoreCase(str)) 
{
+            if (isBoolean(str)) {
                 return Boolean.valueOf(str);
             }
         }
@@ -1322,6 +1322,15 @@ public final class ObjectHelper {
         }
     }
 
+    /**
+     * Checks whether the given string is a valid boolean value (i.e.; either 
"true" or "false") ignoring its case
+     * @param str the string to evaluate
+     * @return true if it is a valid boolean value or false otherwise
+     */
+    public static boolean isBoolean(String str) {
+        return "true".equalsIgnoreCase(str) || "false".equalsIgnoreCase(str);
+    }
+
     /*
      * NOTE: see CAMEL-19724. We log like this instead of using a statically 
declared logger in order to
      * reduce the risk of dropping log messages due to slf4j log substitution 
behavior during its own

Reply via email to