From a0877d81ca2844d75dc361b5ce7c99afacd6e25f Mon Sep 17 00:00:00 2001 From: vlad Date: Thu, 25 Jan 2018 14:12:31 -0800 Subject: Extracting query library --- .../driver/pdsuidomain/formats/json/trial.scala | 187 --------------------- 1 file changed, 187 deletions(-) delete mode 100644 src/main/scala/xyz/driver/pdsuidomain/formats/json/trial.scala (limited to 'src/main/scala/xyz/driver/pdsuidomain/formats/json/trial.scala') diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/trial.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/trial.scala deleted file mode 100644 index cdc52d9..0000000 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/trial.scala +++ /dev/null @@ -1,187 +0,0 @@ -package xyz.driver.pdsuidomain.formats.json - -import java.time.{LocalDateTime, ZoneId, ZonedDateTime} - -import spray.json._ -import xyz.driver.core.auth.User -import xyz.driver.core.json._ -import xyz.driver.pdsuicommon.domain.{LongId, StringId, UuidId} -import xyz.driver.pdsuidomain.entities._ - -object trial { - import DefaultJsonProtocol._ - import Trial._ - import common._ - - implicit val trialStatusFormat: RootJsonFormat[Status] = new EnumJsonFormat[Status]( - "New" -> Status.New, - "ReviewSummary" -> Status.ReviewSummary, - "Summarized" -> Status.Summarized, - "PendingUpdate" -> Status.PendingUpdate, - "Update" -> Status.Update, - "ReviewCriteria" -> Status.ReviewCriteria, - "Done" -> Status.Done, - "Flagged" -> Status.Flagged, - "Archived" -> Status.Archived - ) - - implicit val trialFormat: RootJsonFormat[Trial] = new RootJsonFormat[Trial] { - override def write(obj: Trial) = - JsObject( - "id" -> obj.id.toJson, - "externalid" -> obj.externalId.toJson, - "lastUpdate" -> ZonedDateTime.of(obj.lastUpdate, ZoneId.of("Z")).toJson, - "status" -> obj.status.toJson, - "assignee" -> obj.assignee.toJson, - "previousStatus" -> obj.previousStatus.toJson, - "previousAssignee" -> obj.previousAssignee.toJson, - "lastActiveUser" -> obj.lastActiveUserId.toJson, - "phase" -> obj.phase.toJson, - "hypothesisId" -> obj.hypothesisId.toJson, - "studyDesignId" -> obj.studyDesignId.toJson, - "originalStudyDesignId" -> obj.originalStudyDesign.toJson, - "isPartner" -> obj.isPartner.toJson, - "overview" -> obj.overview.toJson, - "overviewTemplate" -> obj.overviewTemplate.toJson, - "isUpdated" -> obj.isUpdated.toJson, - "title" -> obj.title.toJson, - "originalTitle" -> obj.originalTitle.toJson - ) - - override def read(json: JsValue): Trial = { - json match { - case JsObject(fields) => - val id = fields - .get("id") - .map(_.convertTo[StringId[Trial]]) - .getOrElse(deserializationError(s"Trial create json object does not contain `id` field: $json")) - val externalid = fields - .get("externalid") - .map(_.convertTo[UuidId[Trial]]) - .getOrElse(deserializationError(s"Trial create json object does not contain `externalid` field: $json")) - val status = fields - .get("status") - .map(_.convertTo[Trial.Status]) - .getOrElse(deserializationError(s"Trial create json object does not contain `status` field: $json")) - val assignee = fields - .get("assignee") - .flatMap(_.convertTo[Option[xyz.driver.core.Id[User]]]) - val previousStatus = fields - .get("previousStatus") - .flatMap(_.convertTo[Option[Trial.Status]]) - val previousAssignee = fields - .get("previousAssignee") - .flatMap(_.convertTo[Option[xyz.driver.core.Id[User]]]) - val lastActiveUser = fields - .get("lastActiveUser") - .flatMap(_.convertTo[Option[xyz.driver.core.Id[User]]]) - val lastUpdate = fields - .get("lastUpdate") - .map(_.convertTo[LocalDateTime]) - .getOrElse(deserializationError(s"Trial create json object does not contain `lastUpdate` field: $json")) - val phase = fields - .get("phase") - .map(_.convertTo[String]) - .getOrElse(deserializationError(s"Trial create json object does not contain `phase` field: $json")) - val hypothesisId = fields - .get("hypothesisId") - .flatMap(_.convertTo[Option[UuidId[Hypothesis]]]) - val studyDesignId = fields - .get("studyDesignId") - .flatMap(_.convertTo[Option[LongId[StudyDesign]]]) - val originalStudyDesignId = fields - .get("originalStudyDesignId") - .flatMap(_.convertTo[Option[String]]) - val isPartner = fields - .get("isPartner") - .map(_.convertTo[Boolean]) - .getOrElse(deserializationError(s"Trial create json object does not contain `isPartner` field: $json")) - val overview = fields - .get("overview") - .flatMap(_.convertTo[Option[String]]) - val overviewTemplate = fields - .get("overviewTemplate") - .map(_.convertTo[String]) - .getOrElse( - deserializationError(s"Trial create json object does not contain `overviewTemplate` field: $json")) - val isUpdated = fields - .get("isUpdated") - .map(_.convertTo[Boolean]) - .getOrElse(deserializationError(s"Trial create json object does not contain `isUpdated` field: $json")) - val title = fields - .get("title") - .map(_.convertTo[String]) - .getOrElse(deserializationError(s"Trial create json object does not contain `title` field: $json")) - val originalTitle = fields - .get("originalTitle") - .map(_.convertTo[String]) - .getOrElse(deserializationError(s"Trial create json object does not contain `originalTitle` field: $json")) - - Trial( - id, - externalid, - status, - assignee, - previousStatus, - previousAssignee, - lastActiveUser, - lastUpdate, - phase, - hypothesisId, - studyDesignId, - originalStudyDesignId, - isPartner, - overview, - overviewTemplate, - isUpdated, - title, - originalTitle - ) - - case _ => deserializationError(s"Expected Json Object as Trial, but got $json") - } - } - } - - def applyUpdateToTrial(json: JsValue, orig: Trial): Trial = json match { - case JsObject(fields) => - val hypothesisId = fields - .get("hypothesisId") - .map(_.convertTo[Option[UuidId[Hypothesis]]]) - .getOrElse(orig.hypothesisId) - - val studyDesignId = fields - .get("studyDesignId") - .map(_.convertTo[Option[LongId[StudyDesign]]]) - .getOrElse(orig.studyDesignId) - - val overview = fields - .get("overview") - .map(_.convertTo[Option[String]]) - .getOrElse(orig.overview) - - val title = fields - .get("title") - .map(_.convertTo[Option[String]].getOrElse("")) - .getOrElse(orig.title) - - val originalTitle = fields - .get("originalTitle") - .flatMap(_.convertTo[Option[String]]) - .getOrElse(orig.originalTitle) - - orig.copy( - hypothesisId = hypothesisId, - studyDesignId = studyDesignId, - overview = overview, - title = title, - originalTitle = originalTitle - ) - - case _ => deserializationError(s"Expected Json Object as Trial, but got $json") - } - - implicit val trialCreationRequestFormat: RootJsonFormat[TrialCreationRequest] = - jsonFormat3(TrialCreationRequest.apply) - -} -- cgit v1.2.3