aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParser.scala
diff options
context:
space:
mode:
authorAleksandr <ognelisar@gmail.com>2017-10-12 10:44:54 +0700
committerAleksandr <ognelisar@gmail.com>2017-10-12 10:44:54 +0700
commitf525ab2604cc5d1366c852bdbcb4d912bbcea800 (patch)
tree4fe4b35e1f474e2dc85a8885dc4c9002f3ea46c2 /src/main/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParser.scala
parent9198729ebf3d20b650b4467daa0d484a3148f01c (diff)
parente15415d69ec990d5243e58704e232e619b80aa6f (diff)
downloadrest-query-f525ab2604cc5d1366c852bdbcb4d912bbcea800.tar.gz
rest-query-f525ab2604cc5d1366c852bdbcb4d912bbcea800.tar.bz2
rest-query-f525ab2604cc5d1366c852bdbcb4d912bbcea800.zip
All merge conflicts are resolved
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParser.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParser.scala8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/main/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParser.scala b/src/main/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParser.scala
index e46e11c..85e9149 100644
--- a/src/main/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParser.scala
+++ b/src/main/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParser.scala
@@ -104,9 +104,12 @@ object SearchFilterParser {
private val longParser: Parser[Long] = P(CharIn('0' to '9').rep(min = 1).!.map(_.toLong))
+ private val booleanParser: Parser[Boolean] =
+ P((IgnoreCase("true") | IgnoreCase("false")).!.map(_.toBoolean))
+
private val binaryAtomParser: Parser[SearchFilterExpr.Atom.Binary] = P(
dimensionParser ~ whitespaceParser ~ (
- (numericOperatorParser.! ~ whitespaceParser ~ (longParser | numberParser.!)) |
+ (numericOperatorParser.! ~ whitespaceParser ~ (longParser | booleanParser | numberParser.!)) |
(commonOperatorParser.! ~ whitespaceParser ~ AnyChar.rep(min = 1).!)
) ~ End
).map {
@@ -116,7 +119,8 @@ object SearchFilterParser {
private val nAryAtomParser: Parser[SearchFilterExpr.Atom.NAry] = P(
dimensionParser ~ whitespaceParser ~ (
naryOperatorParser ~ whitespaceParser ~
- (longParser.rep(min = 1, sep = ",") | nAryValueParser.!.rep(min = 1, sep = ","))
+ (longParser.rep(min = 1, sep = ",") | booleanParser.rep(min = 1, sep = ",") | nAryValueParser.!.rep(min = 1,
+ sep = ","))
) ~ End
).map {
case NAryAtomFromTuple(atom) => atom