aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuicommon/utils/Utils.scala
diff options
context:
space:
mode:
authorKseniya Tomskikh <ktomskih@datamonsters.co>2017-08-28 17:11:27 +0700
committerKseniya Tomskikh <ktomskih@datamonsters.co>2017-08-28 17:21:04 +0700
commitb249515292bfefbb70d1b5743ca46ced6da22a00 (patch)
treeca6d966182e21d072895f7c32bea2fbc35bc2c23 /src/main/scala/xyz/driver/pdsuicommon/utils/Utils.scala
parent4512539b01e6e598d494246426b9eac261d10acf (diff)
downloadrest-query-b249515292bfefbb70d1b5743ca46ced6da22a00.tar.gz
rest-query-b249515292bfefbb70d1b5743ca46ced6da22a00.tar.bz2
rest-query-b249515292bfefbb70d1b5743ca46ced6da22a00.zip
Added converting camel case to snake case for filters and sorting AST
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuicommon/utils/Utils.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuicommon/utils/Utils.scala20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/pdsuicommon/utils/Utils.scala b/src/main/scala/xyz/driver/pdsuicommon/utils/Utils.scala
index 02c9e28..63b0572 100644
--- a/src/main/scala/xyz/driver/pdsuicommon/utils/Utils.scala
+++ b/src/main/scala/xyz/driver/pdsuicommon/utils/Utils.scala
@@ -1,6 +1,7 @@
package xyz.driver.pdsuicommon.utils
import java.time.LocalDateTime
+import java.util.regex.{Matcher, Pattern}
object Utils {
@@ -20,4 +21,23 @@ object Utils {
fullClassName.substring(fullClassName.lastIndexOf("$") + 1)
}
}
+
+ def toSnakeCase(str: String): String =
+ str
+ .replaceAll("([A-Z]+)([A-Z][a-z])", "$1_$2")
+ .replaceAll("([a-z\\d])([A-Z])", "$1_$2")
+ .toLowerCase
+
+ def toCamelCase(str: String): String = {
+ val sb = new StringBuffer()
+ def loop(m: Matcher): Unit = if (m.find()) {
+ m.appendReplacement(sb, m.group(1).toUpperCase())
+ loop(m)
+ }
+ val m: Matcher = Pattern.compile("_(.)").matcher(str)
+ loop(m)
+ m.appendTail(sb)
+ sb.toString
+ }
+
}