aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKseniya Tomskikh <ktomskih@datamonsters.co>2017-10-17 16:17:47 +0700
committerKseniya Tomskikh <ktomskih@datamonsters.co>2017-10-17 16:17:47 +0700
commiteb9a75c226b005e5989d2a6494160ebe0dd9d9e7 (patch)
treed8944dde0afa57273109d8fe959ab5d78a24c4a5
parentc5d36593cc14bfdfb7b8f06d680ad6fc2eb6dde0 (diff)
downloadrest-query-0.9.0.tar.gz
rest-query-0.9.0.tar.bz2
rest-query-0.9.0.zip
Fixed custom formats for rep and tricv0.9.0
-rw-r--r--src/main/scala/xyz/driver/pdsuicommon/utils/CustomSwaggerJsonFormats.scala158
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/fakes/entities/recordprocessing.scala4
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/fakes/entities/treatmentmatching.scala129
3 files changed, 210 insertions, 81 deletions
diff --git a/src/main/scala/xyz/driver/pdsuicommon/utils/CustomSwaggerJsonFormats.scala b/src/main/scala/xyz/driver/pdsuicommon/utils/CustomSwaggerJsonFormats.scala
index b122fab..004a914 100644
--- a/src/main/scala/xyz/driver/pdsuicommon/utils/CustomSwaggerJsonFormats.scala
+++ b/src/main/scala/xyz/driver/pdsuicommon/utils/CustomSwaggerJsonFormats.scala
@@ -4,20 +4,16 @@ import java.time.{LocalDate, LocalDateTime}
import io.swagger.models.properties.Property
import spray.json.JsValue
-import xyz.driver.pdsuicommon.domain.{LongId, StringId, TextJson, UuidId}
+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.pdsuidomain.formats.json.sprayformats.ListResponse._
import xyz.driver.core.swagger.CustomSwaggerJsonConverter._
import xyz.driver.entities.patient.CancerType
import xyz.driver.pdsuicommon.concurrent.BridgeUploadQueue
+import xyz.driver.pdsuidomain.entities.export.patient.ExportPatientWithLabels
+import xyz.driver.pdsuidomain.entities.export.trial.ExportTrialWithLabels
import xyz.driver.pdsuidomain.fakes.entities.common
+import xyz.driver.pdsuidomain.formats.json.sprayformats.ListResponse
import xyz.driver.pdsuidomain.formats.json.sprayformats.bridgeuploadqueue._
import xyz.driver.pdsuidomain.formats.json.sprayformats.record._
import xyz.driver.pdsuidomain.formats.json.sprayformats.document._
@@ -47,35 +43,48 @@ object CustomSwaggerJsonFormats {
classOf[DocumentType] -> documentTypeFormat.write(common.nextDocumentType())
)
- val customTrialCurationProperties = immutable.Map[Class[_], Property](
- classOf[Trial.Status] -> stringProperty(),
- classOf[TrialHistory.Action] -> stringProperty(),
- classOf[TrialHistory.State] -> stringProperty()
- ) ++ customCommonProperties
-
- val customTrialCurationObjectsExamples = immutable.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] -> interventionFormat.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())
- )
+ object trialcuration {
+ import xyz.driver.pdsuidomain.fakes.entities.trialcuration._
+ import xyz.driver.pdsuidomain.fakes.entities.export
+ import xyz.driver.pdsuidomain.formats.json.sprayformats.export._
+ 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._
+
+ val customTrialCurationProperties = immutable.Map[Class[_], Property](
+ classOf[Trial.Status] -> stringProperty(),
+ classOf[TrialHistory.Action] -> stringProperty(),
+ classOf[TrialHistory.State] -> stringProperty()
+ ) ++ customCommonProperties
+
+ val customTrialCurationObjectsExamples = immutable.Map[Class[_], JsValue](
+ classOf[Trial] -> trialWriter.write(nextTrial()),
+ classOf[Arm] -> armFormat.write(nextArm()),
+ classOf[TrialHistory] -> trialHistoryFormat.write(nextTrialHistory()),
+ classOf[TrialIssue] -> trialIssueWriter.write(nextTrialIssue()),
+ classOf[RichCriterion] -> richCriterionFormat.write(nextRichCriterion()),
+ classOf[InterventionWithArms] -> interventionFormat.write(nextInterventionWithArms()),
+ classOf[InterventionType] -> interventionTypeFormat.write(nextInterventionType()),
+ classOf[Hypothesis] -> hypothesisFormat.write(nextHypothesis()),
+ classOf[StudyDesign] -> studyDesignFormat.write(nextStudyDesign()),
+ classOf[ExportTrialWithLabels] -> trialWithLabelsFormat.write(export.nextExportTrialWithLabels())
+ )
+ }
- // records-processing-service
- object Rep {
+ object recordprocessing {
import xyz.driver.pdsuidomain.fakes.entities.recordprocessing._
- import xyz.driver.pdsuidomain.formats.json.sprayformats._
+ import xyz.driver.pdsuidomain.fakes.entities.export
+ import xyz.driver.pdsuidomain.formats.json.sprayformats.export._
+ import xyz.driver.pdsuidomain.formats.json.sprayformats.documentissue._
+ import xyz.driver.pdsuidomain.formats.json.sprayformats.documenthistory._
+ import xyz.driver.pdsuidomain.formats.json.sprayformats.recordissue._
+ import xyz.driver.pdsuidomain.formats.json.sprayformats.recordhistory._
+ import xyz.driver.pdsuidomain.formats.json.sprayformats.extracteddata._
val customRecordProcessingProperties = immutable.Map[Class[_], Property](
classOf[MedicalRecord.Status] -> stringProperty(),
@@ -87,37 +96,15 @@ object CustomSwaggerJsonFormats {
classOf[DocumentHistory.State] -> stringProperty()
) ++ customCommonProperties
- val customRepObjectsExamples = immutable.Map[Class[_], JsValue](
- classOf[Document] ->
- document.documentFormat.write(nextDocument()),
- classOf[DocumentIssue] ->
- documentissue.documentIssueFormat.write(nextDocumentIssue()),
- classOf[DocumentHistory] ->
- documenthistory.documentHistoryFormat.write(nextDocumentHistory()),
- classOf[TextJson[List[MedicalRecord.Meta]]] ->
- record.recordMetaFormat.write(nextMedicalRecordMetaJson()),
- classOf[MedicalRecord] ->
- record.recordFormat.write(nextMedicalRecord()),
- classOf[MedicalRecordIssue] ->
- recordissue.recordIssueFormat.write(nextMedicalRecordIssue()),
- classOf[MedicalRecordHistory] ->
- recordhistory.recordHistoryFormat.write(nextMedicalRecordHistory()),
- classOf[RichExtractedData] ->
- extracteddata.extractedDataFormat.write(nextRichExtractedData()),
- classOf[MedicalRecord.Meta] ->
- record.recordMetaTypeFormat.write(nextMedicalRecordMeta()),
- classOf[TextJson[Document.Meta]] ->
- document.fullDocumentMetaFormat.write(nextDocumentMetaJson()),
- classOf[ExtractedData.Meta] ->
- extracteddata.extractedDataMetaFormat.write(nextExtractedDataMeta()),
- classOf[ExtractedData.Meta.Evidence] ->
- extracteddata.metaEvidenceFormat.write(nextExtractedDataMetaEvidence()),
- classOf[ExtractedData.Meta.Keyword] ->
- extracteddata.metaKeywordFormat.write(nextExtractedDataMetaKeyword()),
- classOf[ExtractedData.Meta.TextLayerPosition] ->
- extracteddata.metaTextLayerPositionFormat.write(nextExtractedDataMetaTextLayerPosition()),
- classOf[TextJson[ExtractedData.Meta]] ->
- extracteddata.fullExtractedDataMetaFormat.write(nextExtractedDataMetaJson())
+ val customRecordProcessingObjectsExamples = immutable.Map[Class[_], JsValue](
+ classOf[Document] -> documentFormat.write(nextDocument()),
+ classOf[DocumentIssue] -> documentIssueFormat.write(nextDocumentIssue()),
+ classOf[DocumentHistory] -> documentHistoryFormat.write(nextDocumentHistory()),
+ classOf[MedicalRecord] -> recordFormat.write(nextMedicalRecord()),
+ classOf[MedicalRecordIssue] -> recordIssueFormat.write(nextMedicalRecordIssue()),
+ classOf[MedicalRecordHistory] -> recordHistoryFormat.write(nextMedicalRecordHistory()),
+ classOf[RichExtractedData] -> extractedDataFormat.write(nextRichExtractedData()),
+ classOf[ExportPatientWithLabels] -> patientWithLabelsFormat.write(export.nextExportPatientWithLabels())
) ++ customCommonObjectsExamples
}
@@ -139,17 +126,32 @@ object CustomSwaggerJsonFormats {
) ++ customCommonProperties
val customTreatmentMatchingObjectsExamples = immutable.Map[Class[_], JsValue](
- classOf[Patient] -> patientWriter.write(nextPatient()),
- classOf[RichPatientLabel] -> richPatientLabelWriter.write(nextRichPatientLabel()),
- classOf[PatientLabel] -> patientLabelDefiningCriteriaWriter.write(nextPatientLabel()),
- classOf[RichPatientCriterion] -> patientCriterionWriter.write(nextRichPatientCriterion()),
- classOf[DraftPatientCriterion] -> draftPatientCriterionFormat.write(nextDraftPatientCriterion()),
- classOf[PatientLabelEvidenceView] -> patientLabelEvidenceWriter.write(nextPatientLabelEvidenceView()),
- classOf[RichPatientEligibleTrial] -> patientEligibleTrialWriter.write(nextRichPatientEligibleTrial()),
- classOf[PatientHypothesis] -> patientHypothesisWriter.write(nextPatientHypothesis()),
- classOf[RichPatientHypothesis] -> richPatientHypothesisWriter.write(nextRichPatientHypothesis()),
- classOf[PatientHistory] -> patientHistoryFormat.write(nextPatientHistory()),
- classOf[PatientIssue] -> patientIssueWriter.write(nextPatientIssue())
+ classOf[Patient] -> patientWriter.write(nextPatient()),
+ classOf[RichPatientLabel] -> richPatientLabelWriter.write(nextRichPatientLabel()),
+ classOf[PatientLabel] -> patientLabelDefiningCriteriaWriter.write(nextPatientLabel()),
+ classOf[RichPatientCriterion] -> patientCriterionWriter.write(nextRichPatientCriterion()),
+ classOf[DraftPatientCriterion] -> draftPatientCriterionFormat.write(nextDraftPatientCriterion()),
+ classOf[PatientLabelEvidenceView] -> patientLabelEvidenceWriter.write(nextPatientLabelEvidenceView()),
+ classOf[RichPatientEligibleTrial] -> patientEligibleTrialWriter.write(nextRichPatientEligibleTrial()),
+ classOf[PatientHypothesis] -> patientHypothesisWriter.write(nextPatientHypothesis()),
+ classOf[RichPatientHypothesis] -> richPatientHypothesisWriter.write(nextRichPatientHypothesis()),
+ classOf[PatientHistory] -> patientHistoryFormat.write(nextPatientHistory()),
+ classOf[PatientIssue] -> patientIssueWriter.write(nextPatientIssue()),
+ classOf[ListResponse[Patient]] -> listResponseWriter[Patient].write(nextPatientListResponse()),
+ classOf[ListResponse[PatientLabel]] -> listResponseWriter[PatientLabel].write(nextPatientLabelListResponse()),
+ classOf[ListResponse[RichPatientLabel]] -> listResponseWriter[RichPatientLabel].write(
+ nextRichPatientLabelListResponse()),
+ classOf[ListResponse[RichPatientCriterion]] -> listResponseWriter[RichPatientCriterion].write(
+ nextRichPatientCriterionListResponse()),
+ classOf[ListResponse[PatientLabelEvidenceView]] -> listResponseWriter[PatientLabelEvidenceView].write(
+ nextPatientLabelEvidenceViewListResponse()),
+ classOf[ListResponse[RichPatientEligibleTrial]] -> listResponseWriter[RichPatientEligibleTrial].write(
+ nextRichPatientEligibleTrialListResponse()),
+ classOf[ListResponse[RichPatientHypothesis]] -> listResponseWriter[RichPatientHypothesis].write(
+ nextRichPatientHypothesisListResponse()),
+ classOf[ListResponse[PatientIssue]] -> listResponseWriter[PatientIssue].write(nextPatientIssuesListResponse()),
+ classOf[ListResponse[PatientHistory]] -> listResponseWriter[PatientHistory].write(
+ nextPatientHistoryListResponse())
) ++ customCommonObjectsExamples
}
diff --git a/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/recordprocessing.scala b/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/recordprocessing.scala
index 279ea38..d2a648c 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/recordprocessing.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/recordprocessing.scala
@@ -105,7 +105,7 @@ object recordprocessing {
def nextMedicalRecord(): MedicalRecord = MedicalRecord(
id = nextLongId[MedicalRecord],
status = nextMedicalRecordStatus(),
- previousStatus = None,
+ previousStatus = nextOption(generators.oneOf[MedicalRecord.Status](MedicalRecord.Status.AllPrevious)),
assignee = nextOption(nextStringId),
previousAssignee = nextOption(nextStringId),
lastActiveUserId = nextOption(nextStringId),
@@ -168,7 +168,7 @@ object recordprocessing {
Document(
id = nextLongId[Document],
status = nextDocumentStatus(),
- previousStatus = None,
+ previousStatus = nextOption(generators.oneOf[Document.Status](Document.Status.AllPrevious)),
assignee = nextOption(nextStringId[User]),
previousAssignee = nextOption(nextStringId[User]),
lastActiveUserId = nextOption(nextStringId[User]),
diff --git a/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/treatmentmatching.scala b/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/treatmentmatching.scala
index 35aa5ef..b0ca136 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/treatmentmatching.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/treatmentmatching.scala
@@ -4,6 +4,7 @@ import xyz.driver.entities.labels.Label
import xyz.driver.fakes
import xyz.driver.pdsuicommon.domain.{LongId, StringId, User}
import xyz.driver.pdsuidomain.entities._
+import xyz.driver.pdsuidomain.formats.json.sprayformats.ListResponse
import xyz.driver.pdsuidomain.services.PatientCriterionService.{DraftPatientCriterion, RichPatientCriterion}
import xyz.driver.pdsuidomain.services.PatientEligibleTrialService.RichPatientEligibleTrial
import xyz.driver.pdsuidomain.services.PatientHypothesisService.RichPatientHypothesis
@@ -27,7 +28,7 @@ object treatmentmatching {
name = nextFullName[Patient],
dob = nextLocalDate,
assignee = generators.nextOption(nextStringId[User]),
- previousStatus = generators.nextOption(nextPatientStatus),
+ previousStatus = generators.nextOption(generators.oneOf[Patient.Status](Patient.Status.AllPrevious)),
previousAssignee = generators.nextOption(nextStringId[User]),
lastActiveUserId = generators.nextOption(nextStringId[User]),
isUpdateRequired = generators.nextBoolean(),
@@ -164,4 +165,130 @@ object treatmentmatching {
created = nextLocalDateTime
)
+ def nextPatientListResponse(): ListResponse[Patient] = {
+ val xs: Seq[Patient] = Seq.fill(3)(nextPatient())
+ val pageSize = generators.nextInt(xs.size, 1)
+ ListResponse(
+ items = xs,
+ meta = ListResponse.Meta(
+ itemsCount = xs.size,
+ pageNumber = generators.nextInt(xs.size / pageSize),
+ pageSize = pageSize,
+ lastUpdate = generators.nextOption(nextLocalDateTime)
+ )
+ )
+ }
+
+ def nextRichPatientLabelListResponse(): ListResponse[RichPatientLabel] = {
+ val xs: Seq[RichPatientLabel] = Seq.fill(3)(nextRichPatientLabel())
+ val pageSize = generators.nextInt(xs.size, 1)
+ ListResponse(
+ items = xs,
+ meta = ListResponse.Meta(
+ itemsCount = xs.size,
+ pageNumber = generators.nextInt(xs.size / pageSize),
+ pageSize = pageSize,
+ lastUpdate = generators.nextOption(nextLocalDateTime)
+ )
+ )
+ }
+
+ def nextPatientLabelListResponse(): ListResponse[PatientLabel] = {
+ val xs: Seq[PatientLabel] = Seq.fill(3)(nextPatientLabel())
+ val pageSize = generators.nextInt(xs.size, 1)
+ ListResponse(
+ items = xs,
+ meta = ListResponse.Meta(
+ itemsCount = xs.size,
+ pageNumber = generators.nextInt(xs.size / pageSize),
+ pageSize = pageSize,
+ lastUpdate = generators.nextOption(nextLocalDateTime)
+ )
+ )
+ }
+
+ def nextRichPatientCriterionListResponse(): ListResponse[RichPatientCriterion] = {
+ val xs: Seq[RichPatientCriterion] = Seq.fill(3)(nextRichPatientCriterion())
+ val pageSize = generators.nextInt(xs.size, 1)
+ ListResponse(
+ items = xs,
+ meta = ListResponse.Meta(
+ itemsCount = xs.size,
+ pageNumber = generators.nextInt(xs.size / pageSize),
+ pageSize = pageSize,
+ lastUpdate = generators.nextOption(nextLocalDateTime)
+ )
+ )
+ }
+
+ def nextRichPatientEligibleTrialListResponse(): ListResponse[RichPatientEligibleTrial] = {
+ val xs: Seq[RichPatientEligibleTrial] = Seq.fill(3)(nextRichPatientEligibleTrial())
+ val pageSize = generators.nextInt(xs.size, 1)
+ ListResponse(
+ items = xs,
+ meta = ListResponse.Meta(
+ itemsCount = xs.size,
+ pageNumber = generators.nextInt(xs.size / pageSize),
+ pageSize = pageSize,
+ lastUpdate = generators.nextOption(nextLocalDateTime)
+ )
+ )
+ }
+
+ def nextRichPatientHypothesisListResponse(): ListResponse[RichPatientHypothesis] = {
+ val xs: Seq[RichPatientHypothesis] = Seq.fill(3)(nextRichPatientHypothesis())
+ val pageSize = generators.nextInt(xs.size, 1)
+ ListResponse(
+ items = xs,
+ meta = ListResponse.Meta(
+ itemsCount = xs.size,
+ pageNumber = generators.nextInt(xs.size / pageSize),
+ pageSize = pageSize,
+ lastUpdate = generators.nextOption(nextLocalDateTime)
+ )
+ )
+ }
+
+ def nextPatientLabelEvidenceViewListResponse(): ListResponse[PatientLabelEvidenceView] = {
+ val xs: Seq[PatientLabelEvidenceView] = Seq.fill(3)(nextPatientLabelEvidenceView())
+ val pageSize = generators.nextInt(xs.size, 1)
+ ListResponse(
+ items = xs,
+ meta = ListResponse.Meta(
+ itemsCount = xs.size,
+ pageNumber = generators.nextInt(xs.size / pageSize),
+ pageSize = pageSize,
+ lastUpdate = generators.nextOption(nextLocalDateTime)
+ )
+ )
+ }
+
+ def nextPatientIssuesListResponse(): ListResponse[PatientIssue] = {
+ val xs: Seq[PatientIssue] = Seq.fill(3)(nextPatientIssue())
+ val pageSize = generators.nextInt(xs.size, 1)
+ ListResponse(
+ items = xs,
+ meta = ListResponse.Meta(
+ itemsCount = xs.size,
+ pageNumber = generators.nextInt(xs.size / pageSize),
+ pageSize = pageSize,
+ lastUpdate = generators.nextOption(nextLocalDateTime)
+ )
+ )
+ }
+
+ def nextPatientHistoryListResponse(): ListResponse[PatientHistory] = {
+ val xs: Seq[PatientHistory] = Seq.fill(3)(nextPatientHistory())
+ val pageSize = generators.nextInt(xs.size, 1)
+ ListResponse(
+ items = xs,
+ meta = ListResponse.Meta(
+ itemsCount = xs.size,
+ pageNumber = generators.nextInt(xs.size / pageSize),
+ pageSize = pageSize,
+ lastUpdate = generators.nextOption(nextLocalDateTime)
+ )
+ )
+ }
+
}