From 1fa90814e5930ad0bbe61ba5b082747781e1dc92 Mon Sep 17 00:00:00 2001 From: Kseniya Tomskikh Date: Wed, 27 Sep 2017 16:41:04 +0700 Subject: PDSUI-2275 Review fixes --- .../formats/json/sprayformats/intervention.scala | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) (limited to 'src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/intervention.scala') 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 4bd5bad..2bf1f2b 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 @@ -123,33 +123,22 @@ object intervention { implicit val interventionTypeFormat: JsonFormat[InterventionType] = new RootJsonFormat[InterventionType] { override def read(json: JsValue) = json match { case JsObject(fields) => - val id = fields - .get("id") - .map(_.convertTo[LongId[InterventionType]]) - .getOrElse(deserializationError(s"Intervention type json object does not contain `id` field: $json")) - val name = fields .get("name") .map(_.convertTo[String]) .getOrElse(deserializationError(s"Intervention type json object does not contain `name` field: $json")) - InterventionType(id, name) + InterventionType.typeFromString(name) case _ => deserializationError(s"Expected Json Object as Intervention type, but got $json") } - override def write(obj: InterventionType) = { - val typeMethods = InterventionType.deliveryMethodGroups - .getOrElse(obj.id, Set.empty[DeliveryMethod]) - .map(DeliveryMethod.methodToString) - .toList - + override def write(obj: InterventionType) = JsObject( "id" -> obj.id.toJson, "name" -> obj.name.toJson, - "deliveryMethods" -> typeMethods.toJson + "deliveryMethods" -> obj.deliveryMethod.map(DeliveryMethod.methodToString).toJson ) - } } } -- cgit v1.2.3