aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuicommon/parsers/SortingParser.scala
diff options
context:
space:
mode:
authorJakob Odersky <jakob@driver.xyz>2017-08-03 14:22:46 -0700
committerJakob Odersky <jakob@driver.xyz>2017-08-16 19:26:10 -0700
commiteb5e95e95714ce23705a0de0f4dd525a8efeafe2 (patch)
treededdb5928cedbf3383bedb5115992e8b81e51847 /src/main/scala/xyz/driver/pdsuicommon/parsers/SortingParser.scala
parent985ee69beed836b97f3476306736d3f15ce37e1c (diff)
downloadrest-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/SortingParser.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuicommon/parsers/SortingParser.scala12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/main/scala/xyz/driver/pdsuicommon/parsers/SortingParser.scala b/src/main/scala/xyz/driver/pdsuicommon/parsers/SortingParser.scala
index c042211..375dee2 100644
--- a/src/main/scala/xyz/driver/pdsuicommon/parsers/SortingParser.scala
+++ b/src/main/scala/xyz/driver/pdsuicommon/parsers/SortingParser.scala
@@ -1,10 +1,8 @@
-package xyz.driver.server.parsers
+package xyz.driver.pdsuicommon.parsers
-import xyz.driver.server.parsers.errors.ParseQueryArgException
import xyz.driver.pdsuicommon.db.{Sorting, SortingOrder}
import fastparse.all._
import fastparse.core.Parsed
-import play.api.routing.sird._
import scala.util.Try
@@ -32,11 +30,11 @@ object SortingParser {
}
}
- def parse(validDimensions: Set[String], queryString: QueryString): Try[Sorting] = Try {
- queryString.getOrElse("sort", Seq.empty) match {
+ def parse(validDimensions: Set[String], query: Seq[(String, String)]): Try[Sorting] = Try {
+ query.toList.collect { case ("sort", value) => value } match {
case Nil => Sorting.Sequential(Seq.empty)
- case rawSorting +: Nil =>
+ case rawSorting :: Nil =>
val parser = sequentialSortingParser(validDimensions.toSeq)
parser.parse(rawSorting) match {
case Parsed.Success(x, _) => x
@@ -44,7 +42,7 @@ object SortingParser {
throw new ParseQueryArgException("sort" -> formatFailure(e))
}
- case xs => throw new ParseQueryArgException("sort" -> "multiple sections are not allowed")
+ case _ => throw new ParseQueryArgException("sort" -> "multiple sections are not allowed")
}
}