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 <claus.ib...@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

Reply via email to