aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksandr <ognelisar@gmail.com>2017-10-13 14:13:28 +0700
committerAleksandr <ognelisar@gmail.com>2017-10-13 14:13:28 +0700
commit2a1bba7d8b5fbc6a2d665c10ffea110bc7d89b46 (patch)
tree2c3536e446744b82ca4a02744643ca5dc2d98bf9
parentf466bbbdb2cea1f64f7b3781795f890aaf390acf (diff)
downloadrest-query-2a1bba7d8b5fbc6a2d665c10ffea110bc7d89b46.tar.gz
rest-query-2a1bba7d8b5fbc6a2d665c10ffea110bc7d89b46.tar.bz2
rest-query-2a1bba7d8b5fbc6a2d665c10ffea110bc7d89b46.zip
Added swagger annotations for new entities
-rw-r--r--src/main/scala/xyz/driver/pdsuicommon/utils/CustomSwaggerJsonFormats.scala7
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/fakes/entities/trialcuration.scala47
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/criterion.scala2
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/intervention.scala2
4 files changed, 55 insertions, 3 deletions
diff --git a/src/main/scala/xyz/driver/pdsuicommon/utils/CustomSwaggerJsonFormats.scala b/src/main/scala/xyz/driver/pdsuicommon/utils/CustomSwaggerJsonFormats.scala
index 6d2a068..b718c1f 100644
--- a/src/main/scala/xyz/driver/pdsuicommon/utils/CustomSwaggerJsonFormats.scala
+++ b/src/main/scala/xyz/driver/pdsuicommon/utils/CustomSwaggerJsonFormats.scala
@@ -7,6 +7,8 @@ import spray.json.JsValue
import xyz.driver.pdsuicommon.domain.{LongId, StringId, TextJson, UuidId}
import xyz.driver.pdsuidomain.entities._
import xyz.driver.pdsuidomain.formats.json.sprayformats.arm._
+import xyz.driver.pdsuidomain.formats.json.sprayformats.slotarm._
+import xyz.driver.pdsuidomain.formats.json.sprayformats.eligibilityarm._
import xyz.driver.pdsuidomain.formats.json.sprayformats.criterion._
import xyz.driver.pdsuidomain.formats.json.sprayformats.intervention._
import xyz.driver.pdsuidomain.formats.json.sprayformats.hypothesis._
@@ -54,7 +56,10 @@ object CustomSwaggerJsonFormats {
classOf[Hypothesis] -> hypothesisFormat.write(
xyz.driver.pdsuidomain.fakes.entities.trialcuration.nextHypothesis()),
classOf[StudyDesign] -> studyDesignFormat.write(
- xyz.driver.pdsuidomain.fakes.entities.trialcuration.nextStudyDesign())
+ xyz.driver.pdsuidomain.fakes.entities.trialcuration.nextStudyDesign()),
+ classOf[EligibilityArmWithDiseases] -> eligibilityArmWithDiseasesWriter.write(
+ xyz.driver.pdsuidomain.fakes.entities.trialcuration.nextEligibilityArmWithDiseases()),
+ classOf[SlotArm] -> slotArmFormat.write(xyz.driver.pdsuidomain.fakes.entities.trialcuration.nextSlotArm())
)
// records-processing-service
diff --git a/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/trialcuration.scala b/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/trialcuration.scala
index ade0115..d323e86 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/trialcuration.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/trialcuration.scala
@@ -1,15 +1,20 @@
package xyz.driver.pdsuidomain.fakes.entities
+import xyz.driver.core.generators._
import xyz.driver.entities.labels.{Label, LabelCategory}
+import xyz.driver.entities.patient.CancerType
import xyz.driver.pdsuicommon.domain.{LongId, User}
import xyz.driver.pdsuidomain.entities._
import xyz.driver.pdsuidomain.services.CriterionService.RichCriterion
object trialcuration {
+
import common._
import xyz.driver.core.generators
import xyz.driver.pdsuidomain.entities.InterventionType._
+ private val maxItemsInCollectionNumber: Int = 5
+
def nextTrial(): Trial = Trial(
id = nextStringId[Trial],
externalId = nextUuidId[Trial],
@@ -144,4 +149,46 @@ object trialcuration {
SurgeryProcedure
)
+ EligibilityArmDisease
+
+ def nextEligibilityArm(): EligibilityArm = EligibilityArm(
+ id = nextLongId,
+ name = nextString(),
+ originalName = nextString(),
+ trialId = nextStringId
+ )
+
+ def nextPatientCancerType(): CancerType = generators.oneOf[CancerType](
+ CancerType.Lung,
+ CancerType.Breast,
+ CancerType.Prostate
+ )
+
+ def nextEligibilityArmDisease(): EligibilityArmDisease = EligibilityArmDisease(
+ eligibilityArmId = nextLongId,
+ disease = nextPatientCancerType()
+ )
+
+ private def nextEligibilityArmDiseaseCollection(count: Int): Seq[EligibilityArmDisease] =
+ Seq.fill(count)(nextEligibilityArmDisease())
+
+ def nextEligibilityArmWithDiseases(): EligibilityArmWithDiseases = {
+ val entity = nextEligibilityArm()
+ val id = entity.id
+ val collection = nextEligibilityArmDiseaseCollection(
+ nextInt(maxItemsInCollectionNumber, minValue = 0)
+ ).map(_.copy(eligibilityArmId = id))
+
+ EligibilityArmWithDiseases(
+ entity,
+ collection
+ )
+ }
+
+ def nextSlotArm(): SlotArm = SlotArm(
+ id = nextLongId,
+ name = nextString(),
+ originalName = nextString(),
+ trialId = nextStringId
+ )
}
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 47a46d1..dca107c 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
@@ -37,7 +37,7 @@ object criterion {
.flatMap(_.convertTo[Option[String]])
.map {
case "Yes" => true
- case "No" => false
+ case "No" => false
case other =>
deserializationError(s"Unknown `value` of CriterionLabel object: expected `yes` or `no`, but got $other")
}
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 f0d1a0a..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
@@ -56,7 +56,7 @@ object intervention {
val arms = fields
.get("arms")
.map(_.convertTo[List[LongId[SlotArm]]])
- .map(_ map(x => InterventionArm(armId = x, interventionId = LongId(0L))))
+ .map(_ map (x => InterventionArm(armId = x, interventionId = LongId(0L))))
.getOrElse(List.empty[InterventionArm])
InterventionWithArms(