aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/criterion.scala
diff options
context:
space:
mode:
authorKseniya Tomskikh <ktomskih@datamonsters.co>2017-10-02 18:37:52 +0700
committerKseniya Tomskikh <ktomskih@datamonsters.co>2017-10-02 18:37:52 +0700
commitd0e3c6f37347142a3ef5eab871dde47ea70af304 (patch)
treea87d24b1b5d6489576f00fe446f05b5110d62cc0 /src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/criterion.scala
parent283ca02360949143ffe7ee8ad87d51902426b450 (diff)
parent1913870abec9e31d080f6858d0fc296445852cc6 (diff)
downloadrest-query-d0e3c6f37347142a3ef5eab871dde47ea70af304.tar.gz
rest-query-d0e3c6f37347142a3ef5eab871dde47ea70af304.tar.bz2
rest-query-d0e3c6f37347142a3ef5eab871dde47ea70af304.zip
Merge branch 'master' into synch-refactor
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/criterion.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/criterion.scala22
1 files changed, 18 insertions, 4 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/criterion.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/criterion.scala
index 732bcad..8da719c 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/criterion.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/criterion.scala
@@ -1,6 +1,7 @@
package xyz.driver.pdsuidomain.formats.json.sprayformats
import spray.json._
+import xyz.driver.entities.labels.{Label, LabelCategory}
import xyz.driver.pdsuicommon.domain.{LongId, StringId}
import xyz.driver.pdsuidomain.entities._
import xyz.driver.pdsuidomain.services.CriterionService.RichCriterion
@@ -29,7 +30,7 @@ object criterion {
val categoryId = fields
.get("categoryId")
- .map(_.convertTo[LongId[Category]])
+ .map(_.convertTo[LongId[LabelCategory]])
val value = fields
.get("value")
@@ -72,6 +73,11 @@ object criterion {
.map(_.convertTo[Option[String]].getOrElse("{}"))
.getOrElse(orig.criterion.meta)
+ val inclusion = fields
+ .get("inclusion")
+ .map(_.convertTo[Option[Boolean]])
+ .getOrElse(orig.criterion.inclusion)
+
val arms = fields
.get("arms")
.map(_.convertTo[Option[List[LongId[Arm]]]].getOrElse(List.empty[LongId[Arm]]))
@@ -87,7 +93,8 @@ object criterion {
criterion = orig.criterion.copy(
meta = meta,
text = text,
- isCompound = isCompound
+ isCompound = isCompound,
+ inclusion = inclusion
),
armIds = arms,
labels = labels
@@ -105,7 +112,8 @@ object criterion {
"text" -> obj.criterion.text.toJson,
"isCompound" -> obj.criterion.isCompound.toJson,
"labels" -> obj.labels.map(_.toJson).toJson,
- "trialId" -> obj.criterion.trialId.toJson
+ "trialId" -> obj.criterion.trialId.toJson,
+ "inclusion" -> obj.criterion.inclusion.toJson
)
override def read(json: JsValue): RichCriterion = json match {
@@ -128,6 +136,11 @@ object criterion {
.map(_.convertTo[String])
.getOrElse("")
+ val inclusion = fields
+ .get("inclusion")
+ .map(_.convertTo[Option[Boolean]])
+ .getOrElse(None)
+
val arms = fields
.get("arms")
.map(_.convertTo[List[LongId[Arm]]])
@@ -145,7 +158,8 @@ object criterion {
trialId = trialId,
text = text,
isCompound = isCompound,
- meta = meta
+ meta = meta,
+ inclusion = inclusion
),
armIds = arms,
labels = labels