aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuicommon/utils
diff options
context:
space:
mode:
authorKseniya Tomskikh <ktomskih@datamonsters.co>2017-08-28 15:27:40 +0700
committerKseniya Tomskikh <ktomskih@datamonsters.co>2017-08-29 13:11:39 +0700
commit7bf2da3afbde1b4cec0d68cb4899e51a63e8a9b1 (patch)
treec31407bbe1a09918fc73b64484466f8b38244176 /src/main/scala/xyz/driver/pdsuicommon/utils
parent116c78627fd22c4a6b70d5343d6e89fa9ab9e7ad (diff)
downloadrest-query-7bf2da3afbde1b4cec0d68cb4899e51a63e8a9b1.tar.gz
rest-query-7bf2da3afbde1b4cec0d68cb4899e51a63e8a9b1.tar.bz2
rest-query-7bf2da3afbde1b4cec0d68cb4899e51a63e8a9b1.zip
Created custom formats of TriC for swagger
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuicommon/utils')
-rw-r--r--src/main/scala/xyz/driver/pdsuicommon/utils/CustomSwaggerJsonFormats.scala55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/pdsuicommon/utils/CustomSwaggerJsonFormats.scala b/src/main/scala/xyz/driver/pdsuicommon/utils/CustomSwaggerJsonFormats.scala
new file mode 100644
index 0000000..c1a2c7c
--- /dev/null
+++ b/src/main/scala/xyz/driver/pdsuicommon/utils/CustomSwaggerJsonFormats.scala
@@ -0,0 +1,55 @@
+package xyz.driver.pdsuicommon.utils
+
+import java.time.{LocalDate, LocalDateTime}
+
+import io.swagger.models.properties.Property
+import spray.json.JsValue
+import xyz.driver.pdsuicommon.domain.{LongId, StringId, UuidId}
+import xyz.driver.pdsuidomain.entities._
+import xyz.driver.pdsuidomain.formats.json.sprayformats.arm._
+import xyz.driver.pdsuidomain.formats.json.sprayformats.criterion._
+import xyz.driver.pdsuidomain.formats.json.sprayformats.intervention._
+import xyz.driver.pdsuidomain.formats.json.sprayformats.hypothesis._
+import xyz.driver.pdsuidomain.formats.json.sprayformats.studydesign._
+import xyz.driver.pdsuidomain.formats.json.sprayformats.trial._
+import xyz.driver.pdsuidomain.formats.json.sprayformats.trialhistory._
+import xyz.driver.pdsuidomain.formats.json.sprayformats.trialissue._
+import xyz.driver.core.swagger.CustomSwaggerJsonConverter._
+import xyz.driver.pdsuidomain.services.CriterionService.RichCriterion
+
+object CustomSwaggerJsonFormats {
+
+ val customCommonProperties = Map[Class[_], Property](
+ classOf[LocalDateTime] -> stringProperty(example = Some("2010-12-31'T'18:59:59Z")),
+ classOf[LocalDate] -> stringProperty(example = Some("2010-12-31")),
+ classOf[UuidId[_]] -> stringProperty(example = Some("370b0450-35cb-4aab-ba74-0145be75add5")),
+ classOf[StringId[_]] -> stringProperty(),
+ classOf[LongId[_]] -> stringProperty()
+ )
+ val customTrialCurationProperties = Map[Class[_], Property](
+ classOf[Trial.Status] -> stringProperty(),
+ classOf[Trial.Condition] -> stringProperty(),
+ classOf[TrialHistory.Action] -> stringProperty(),
+ classOf[TrialHistory.State] -> stringProperty()
+ ) ++ customCommonProperties
+
+ val customTrialCurationObjectsExamples = Map[Class[_], JsValue](
+ classOf[Trial] -> trialWriter.write(xyz.driver.pdsuidomain.fakes.entities.trialcuration.nextTrial()),
+ classOf[Arm] -> armFormat.write(xyz.driver.pdsuidomain.fakes.entities.trialcuration.nextArm()),
+ classOf[TrialHistory] -> trialHistoryFormat.write(
+ xyz.driver.pdsuidomain.fakes.entities.trialcuration.nextTrialHistory()),
+ classOf[TrialIssue] -> trialIssueWriter.write(
+ xyz.driver.pdsuidomain.fakes.entities.trialcuration.nextTrialIssue()),
+ classOf[RichCriterion] -> richCriterionFormat.write(
+ xyz.driver.pdsuidomain.fakes.entities.trialcuration.nextRichCriterion()),
+ classOf[InterventionWithArms] -> interventionWriter.write(
+ xyz.driver.pdsuidomain.fakes.entities.trialcuration.nextInterventionWithArms()),
+ classOf[InterventionType] -> interventionTypeFormat.write(
+ xyz.driver.pdsuidomain.fakes.entities.trialcuration.nextInterventionType()),
+ classOf[Hypothesis] -> hypothesisFormat.write(
+ xyz.driver.pdsuidomain.fakes.entities.trialcuration.nextHypothesis()),
+ classOf[StudyDesign] -> studyDesignFormat.write(
+ xyz.driver.pdsuidomain.fakes.entities.trialcuration.nextStudyDesign())
+ )
+
+}