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