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 <orpi...@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)); } /**