aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/intervention.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/intervention.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/intervention.scala20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/intervention.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/intervention.scala
index 2ced434..bd68566 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/intervention.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/intervention.scala
@@ -9,7 +9,7 @@ object intervention {
import DefaultJsonProtocol._
import common._
- implicit val interventionFormat: JsonFormat[InterventionWithArms] = new RootJsonFormat[InterventionWithArms] {
+ implicit def interventionFormat: RootJsonFormat[InterventionWithArms] = new RootJsonFormat[InterventionWithArms] {
override def write(obj: InterventionWithArms) =
JsObject(
"id" -> obj.intervention.id.toJson,
@@ -34,7 +34,7 @@ object intervention {
val typeId = fields
.get("typeId")
- .map(_.convertTo[LongId[InterventionType]])
+ .flatMap(_.convertTo[Option[LongId[InterventionType]]])
val name = fields
.get("name")
@@ -44,7 +44,6 @@ object intervention {
val dosage = fields
.get("dosage")
.map(_.convertTo[String])
- .getOrElse("")
val isActive = fields
.get("isActive")
@@ -52,23 +51,24 @@ object intervention {
val deliveryMethod = fields
.get("deliveryMethod")
- .map(_.convertTo[String])
+ .flatMap(_.convertTo[Option[String]])
val arms = fields
.get("arms")
- .map(_.convertTo[List[LongId[SlotArm]]].map(x => InterventionArm(armId = x, interventionId = LongId(0))))
+ .map(_.convertTo[List[LongId[SlotArm]]])
+ .map(_ map (x => InterventionArm(armId = x, interventionId = LongId(0L))))
.getOrElse(List.empty[InterventionArm])
InterventionWithArms(
intervention = Intervention(
- id = LongId(0),
+ id = LongId(0L),
trialId = trialId,
name = name,
originalName = name,
typeId = typeId,
originalType = None,
- dosage = dosage,
- originalDosage = dosage,
+ dosage = dosage.getOrElse(""),
+ originalDosage = dosage.getOrElse(""),
isActive = isActive,
deliveryMethod = deliveryMethod
),
@@ -120,8 +120,8 @@ object intervention {
case _ => deserializationError(s"Expected Json Object as partial Intervention, but got $json")
}
- implicit val interventionTypeFormat: JsonFormat[InterventionType] = new RootJsonFormat[InterventionType] {
- override def read(json: JsValue) = json match {
+ implicit def interventionTypeFormat: JsonFormat[InterventionType] = new RootJsonFormat[InterventionType] {
+ override def read(json: JsValue): InterventionType = json match {
case JsObject(fields) =>
val name = fields
.get("name")