diff options
author | Jakob Odersky <jakob@driver.xyz> | 2017-08-03 14:22:46 -0700 |
---|---|---|
committer | Jakob Odersky <jakob@driver.xyz> | 2017-08-16 19:26:10 -0700 |
commit | eb5e95e95714ce23705a0de0f4dd525a8efeafe2 (patch) | |
tree | deddb5928cedbf3383bedb5115992e8b81e51847 /src/main/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParser.scala | |
parent | 985ee69beed836b97f3476306736d3f15ce37e1c (diff) | |
download | rest-query-eb5e95e95714ce23705a0de0f4dd525a8efeafe2.tar.gz rest-query-eb5e95e95714ce23705a0de0f4dd525a8efeafe2.tar.bz2 rest-query-eb5e95e95714ce23705a0de0f4dd525a8efeafe2.zip |
Remove play requirements from parsers
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParser.scala')
-rw-r--r-- | src/main/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParser.scala | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/main/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParser.scala b/src/main/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParser.scala index c6ea2e1..58b80ce 100644 --- a/src/main/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParser.scala +++ b/src/main/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParser.scala @@ -1,11 +1,9 @@ -package xyz.driver.server.parsers +package xyz.driver.pdsuicommon.parsers -import xyz.driver.server.parsers.errors.ParseQueryArgException import xyz.driver.pdsuicommon.utils.Implicits.{toCharOps, toStringOps} import fastparse.all._ import fastparse.core.Parsed import fastparse.parsers.Intrinsics.CharPred -import play.api.routing.sird._ import xyz.driver.pdsuicommon.db.{SearchFilterBinaryOperation, SearchFilterExpr, SearchFilterNAryOperation} import scala.util.Try @@ -110,11 +108,11 @@ object SearchFilterParser { private val atomParser: Parser[SearchFilterExpr.Atom] = P(binaryAtomParser | nAryAtomParser) - def parse(queryString: QueryString): Try[SearchFilterExpr] = Try { - queryString.getOrElse("filters", Seq.empty) match { + def parse(query: Seq[(String, String)]): Try[SearchFilterExpr] = Try { + query.toList.collect { case ("filters", value) => value } match { case Nil => SearchFilterExpr.Empty - case head +: Nil => + case head :: Nil => atomParser.parse(head) match { case Parsed.Success(x, _) => x case e: Parsed.Failure => throw new ParseQueryArgException("filters" -> formatFailure(1, e)) |