You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2020/09/16 12:52:02 UTC

[camel] 05/06: CAMEL-15478: Fixed camelCaseToDash util

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

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

commit b205d606fe97ee2c150f24fc298b6387b8c0415b
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Sep 16 13:49:14 2020 +0200

    CAMEL-15478: Fixed camelCaseToDash util
---
 .../src/main/java/org/apache/camel/util/StringHelper.java      | 10 ++++++++--
 .../src/test/java/org/apache/camel/util/StringHelperTest.java  |  7 +++++++
 2 files changed, 15 insertions(+), 2 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 e90412b..e240e1b 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
@@ -851,9 +851,15 @@ public final class StringHelper {
             if (ch == '-' || ch == '_') {
                 answer.append("-");
             } else if (Character.isUpperCase(ch) && prev != null && !Character.isUpperCase(prev)) {
-                answer.append("-").append(ch);
+                if (prev != '-' && prev != '_') {
+                    answer.append("-");
+                }
+                answer.append(ch);
             } else if (Character.isUpperCase(ch) && prev != null && next != null && Character.isLowerCase(next)) {
-                answer.append("-").append(ch);
+                if (prev != '-' && prev != '_') {
+                    answer.append("-");
+                }
+                answer.append(ch);
             } else {
                 answer.append(ch);
             }
diff --git a/core/camel-util/src/test/java/org/apache/camel/util/StringHelperTest.java b/core/camel-util/src/test/java/org/apache/camel/util/StringHelperTest.java
index 4c4a0d4..1aea496 100644
--- a/core/camel-util/src/test/java/org/apache/camel/util/StringHelperTest.java
+++ b/core/camel-util/src/test/java/org/apache/camel/util/StringHelperTest.java
@@ -44,6 +44,13 @@ public class StringHelperTest {
 
         assertEquals("use-mdc-logging", camelCaseToDash("UseMDCLogging"));
         assertEquals("mdc-logging-keys-pattern", camelCaseToDash("MDCLoggingKeysPattern"));
+        assertEquals("available-phone-number-country", camelCaseToDash("AVAILABLE_PHONE_NUMBER_COUNTRY"));
+        assertEquals("available-phone-number-country", camelCaseToDash("AVAILABLE-PHONE_NUMBER-COUNTRY"));
+        assertEquals("available-phone-number-country", camelCaseToDash("Available-Phone-Number-Country"));
+        assertEquals("available-phone-number-country", camelCaseToDash("Available_Phone_Number_Country"));
+        assertEquals("available-phone-number-country", camelCaseToDash("available_phone_number_country"));
+        assertEquals("available-phone-number-country", camelCaseToDash("availablePhoneNumberCountry"));
+        assertEquals("available-phone-number-country", camelCaseToDash("AvailablePhoneNumberCountry"));
     }
 
     @Test