From b249515292bfefbb70d1b5743ca46ced6da22a00 Mon Sep 17 00:00:00 2001 From: Kseniya Tomskikh Date: Mon, 28 Aug 2017 17:11:27 +0700 Subject: Added converting camel case to snake case for filters and sorting AST --- .../scala/xyz/driver/pdsuicommon/parsers/SearchFilterParser.scala | 4 +++- src/main/scala/xyz/driver/pdsuicommon/parsers/SortingParser.scala | 8 ++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) (limited to 'src/main/scala/xyz/driver/pdsuicommon/parsers') diff --git a/src/main/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParser.scala b/src/main/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParser.scala index 768e5f5..7bbcd10 100644 --- a/src/main/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParser.scala +++ b/src/main/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParser.scala @@ -5,6 +5,7 @@ import fastparse.all._ import fastparse.core.Parsed import fastparse.parsers.Intrinsics.CharPred import xyz.driver.pdsuicommon.db.{SearchFilterBinaryOperation, SearchFilterExpr, SearchFilterNAryOperation} +import xyz.driver.pdsuicommon.utils.Utils._ import scala.util.Try @@ -56,7 +57,8 @@ object SearchFilterParser { CharPred(c => c.isLetterOrDigit) .rep(min = 1)).!.map(SearchFilterExpr.Dimension(None, _)) val pathParser = P(identParser.! ~ "." ~ identParser.!) map { - case (left, right) => SearchFilterExpr.Dimension(Some(left), right) + case (left, right) => + SearchFilterExpr.Dimension(Some(toSnakeCase(left)), toSnakeCase(right)) } P(pathParser | identParser) } diff --git a/src/main/scala/xyz/driver/pdsuicommon/parsers/SortingParser.scala b/src/main/scala/xyz/driver/pdsuicommon/parsers/SortingParser.scala index c1c332f..4bfc669 100644 --- a/src/main/scala/xyz/driver/pdsuicommon/parsers/SortingParser.scala +++ b/src/main/scala/xyz/driver/pdsuicommon/parsers/SortingParser.scala @@ -3,6 +3,7 @@ package xyz.driver.pdsuicommon.parsers import xyz.driver.pdsuicommon.db.{Sorting, SortingOrder} import fastparse.all._ import fastparse.core.Parsed +import xyz.driver.pdsuicommon.utils.Utils._ import scala.util.Try @@ -18,8 +19,11 @@ object SortingParser { case (sortingOrder, field) => val prefixedFields = field.split("\\.", 2) prefixedFields.size match { - case 1 => Sorting.Dimension(None, field, sortingOrder) - case 2 => Sorting.Dimension(Some(prefixedFields.head), prefixedFields.last, sortingOrder) + case 1 => Sorting.Dimension(None, toSnakeCase(field), sortingOrder) + case 2 => + Sorting.Dimension(Some(prefixedFields.head).map(toSnakeCase), + toSnakeCase(prefixedFields.last), + sortingOrder) } } } -- cgit v1.2.3