From 56187bec9276f51886a01a2752c663f2227d9fc3 Mon Sep 17 00:00:00 2001 From: vlad Date: Fri, 30 Jun 2017 23:06:43 -0700 Subject: Export entities JSON formats --- .../json/export/ApiExportTrialLabelCriterion.scala | 39 ++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/main/scala/xyz/driver/pdsuidomain/formats/json/export/ApiExportTrialLabelCriterion.scala (limited to 'src/main/scala/xyz/driver/pdsuidomain/formats/json/export/ApiExportTrialLabelCriterion.scala') diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/export/ApiExportTrialLabelCriterion.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/export/ApiExportTrialLabelCriterion.scala new file mode 100644 index 0000000..09935c0 --- /dev/null +++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/export/ApiExportTrialLabelCriterion.scala @@ -0,0 +1,39 @@ +package xyz.driver.pdsuidomain.formats.json.export + +import xyz.driver.pdsuicommon.domain.FuzzyValue +import play.api.libs.functional.syntax._ +import play.api.libs.json._ +import xyz.driver.pdsuidomain.entities.export.trial.ExportTrialLabelCriterion + +final case class ApiExportTrialLabelCriterion(value: String, + labelId: String, + criterionId: String, + criterionText: String, + armIds: List[String], + isCompound: Boolean, + isDefining: Boolean) + +object ApiExportTrialLabelCriterion { + + implicit val format: Format[ApiExportTrialLabelCriterion] = ( + (JsPath \ "value").format[String](Writes[String](x => JsString(x.toUpperCase))) and + (JsPath \ "labelId").format[String] and + (JsPath \ "criterionId").format[String] and + (JsPath \ "criterionText").format[String] and + (JsPath \ "armIds").format[List[String]] and + (JsPath \ "isCompound").format[Boolean] and + (JsPath \ "isDefining").format[Boolean] + ) (ApiExportTrialLabelCriterion.apply, unlift(ApiExportTrialLabelCriterion.unapply)) + + def fromDomain(x: ExportTrialLabelCriterion) = ApiExportTrialLabelCriterion( + value = x.value.map { x => + FuzzyValue.valueToString(FuzzyValue.fromBoolean(x)) + }.getOrElse("Unknown"), + labelId = x.labelId.toString, + criterionId = x.criterionId.toString, + criterionText = x.criteria, + armIds = x.armIds.map(_.toString).toList, + isCompound = x.isCompound, + isDefining = x.isDefining + ) +} -- cgit v1.2.3