From 0e4c0ae6c3ad9000fb4ee18db43ba54f1bc70d1c Mon Sep 17 00:00:00 2001 From: Tigran_Dadaiants Date: Fri, 23 Jun 2017 11:43:15 +0400 Subject: [PATCH] #1043 RawSql should automatically map upper-case column alias to lower-case bean property (#1044) --- src/main/java/io/ebean/util/CamelCaseHelper.java | 11 ++++++++++- src/test/java/io/ebean/util/CamelCaseHelperTest.java | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) 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"); } }