You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2023/08/17 14:14:00 UTC

[camel] branch main updated: (chores) camel-util: simplify StringHelper camelCaseToDash (#11141)

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 268a7d6b375 (chores) camel-util: simplify StringHelper camelCaseToDash (#11141)
268a7d6b375 is described below

commit 268a7d6b375dda5f634719f718a629ee2c0892b4
Author: Otavio Rodolfo Piske <or...@users.noreply.github.com>
AuthorDate: Thu Aug 17 16:13:53 2023 +0200

    (chores) camel-util: simplify StringHelper camelCaseToDash (#11141)
    
    Avoid the overhead of creating multiple String objects by lower casing on the fly
---
 .../java/org/apache/camel/util/StringHelper.java   | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java b/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java
index 8995d9ae900..768676a5300 100644
--- a/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java
+++ b/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java
@@ -1039,22 +1039,24 @@ public final class StringHelper {
             if (ch == '-' || ch == '_') {
                 answer.append("-");
             } else if (Character.isUpperCase(ch) && prev != null && !Character.isUpperCase(prev)) {
-                if (prev != '-' && prev != '_') {
-                    answer.append("-");
-                }
-                answer.append(ch);
+                applyDashPrefix(prev, answer, ch);
             } else if (Character.isUpperCase(ch) && prev != null && next != null && Character.isLowerCase(next)) {
-                if (prev != '-' && prev != '_') {
-                    answer.append("-");
-                }
-                answer.append(ch);
+                applyDashPrefix(prev, answer, ch);
             } else {
-                answer.append(ch);
+                answer.append(Character.toLowerCase(ch));
             }
             prev = ch;
         }
 
-        return answer.toString().toLowerCase(Locale.ENGLISH);
+
+        return answer.toString();
+    }
+
+    private static void applyDashPrefix(Character prev, StringBuilder answer, char ch) {
+        if (prev != '-' && prev != '_') {
+            answer.append("-");
+        }
+        answer.append(Character.toLowerCase(ch));
     }
 
     /**