diff --git a/src/main/java/io/ebean/util/CamelCaseHelper.java b/src/main/java/io/ebean/util/CamelCaseHelper.java index 42ed0d0de..9ef24656a 100644 --- a/src/main/java/io/ebean/util/CamelCaseHelper.java +++ b/src/main/java/io/ebean/util/CamelCaseHelper.java @@ -12,7 +12,7 @@ public class CamelCaseHelper { String[] vals = underscore.split("_"); if (vals.length == 1) { - return underscore; + return isUpperCase(underscore) ? underscore.toLowerCase() : underscore; } StringBuilder result = new StringBuilder(); @@ -29,4 +29,13 @@ public class CamelCaseHelper { return result.toString(); } + + private static boolean isUpperCase(String underscore) { + for (int i = 0; i < underscore.length(); i++) { + if (Character.isLowerCase(underscore.charAt(i))) { + return false; + } + } + return true; + } } diff --git a/src/test/java/io/ebean/util/CamelCaseHelperTest.java b/src/test/java/io/ebean/util/CamelCaseHelperTest.java index b06ebc55c..ab5b4af2f 100644 --- a/src/test/java/io/ebean/util/CamelCaseHelperTest.java +++ b/src/test/java/io/ebean/util/CamelCaseHelperTest.java @@ -25,7 +25,7 @@ public class CamelCaseHelperTest { assertEquals(CamelCaseHelper.toCamelFromUnderscore("helloThere"), "helloThere"); assertEquals(CamelCaseHelper.toCamelFromUnderscore("helloThereJim"), "helloThereJim"); assertEquals(CamelCaseHelper.toCamelFromUnderscore("hello"), "hello"); - assertEquals(CamelCaseHelper.toCamelFromUnderscore("HELLO"), "HELLO"); + assertEquals(CamelCaseHelper.toCamelFromUnderscore("HELLO"), "hello"); } }