aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Odersky <jakob@driver.xyz>2017-07-14 15:05:12 -0700
committerJakob Odersky <jakob@driver.xyz>2017-07-14 15:08:15 -0700
commitd733294cb16fa83be014ce1efccbf364aa309d25 (patch)
treeda106c15b9402f3f6f9f19f92fe2a2258d5cf7d3
parent7fe13f4d62b8865db7434383085d960d9d23ddec (diff)
downloadrest-query-d733294cb16fa83be014ce1efccbf364aa309d25.tar.gz
rest-query-d733294cb16fa83be014ce1efccbf364aa309d25.tar.bz2
rest-query-d733294cb16fa83be014ce1efccbf364aa309d25.zip
Fix PR
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/Trial.scala9
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/trial/ApiTrial.scala6
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/services/rest/RestHelper.scala13
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/services/rest/RestMessageService.scala2
4 files changed, 15 insertions, 15 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/Trial.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/Trial.scala
index f5c6974..2f90820 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/Trial.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/entities/Trial.scala
@@ -70,10 +70,11 @@ object Trial {
case object Lung extends Condition
case object Prostate extends Condition
- def fromString(condition: String): Condition = condition match {
- case "Breast" => Breast
- case "Lung" => Lung
- case "Prostate" => Prostate
+ def fromString(condition: String): Option[Condition] = condition match {
+ case "Breast" => Some(Breast)
+ case "Lung" => Some(Lung)
+ case "Prostate" => Some(Prostate)
+ case _ => None
}
val All: Set[Condition] = Set(Breast, Lung, Prostate)
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/trial/ApiTrial.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/trial/ApiTrial.scala
index 2556feb..f59836e 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/trial/ApiTrial.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/trial/ApiTrial.scala
@@ -37,7 +37,11 @@ final case class ApiTrial(id: String,
previousAssignee = this.previousAssignee.map(id => StringId(id)),
lastActiveUserId = this.lastActiveUser.map(id => StringId(id)),
lastUpdate = this.lastUpdate.toLocalDateTime(),
- condition = Trial.Condition.fromString(this.condition),
+ condition = Trial.Condition
+ .fromString(this.condition)
+ .getOrElse(
+ throw new NoSuchElementException(s"unknown condition ${this.condition}")
+ ),
phase = this.phase,
hypothesisId = this.hypothesisId.map(id => UuidId(id)),
studyDesignId = this.studyDesignId.map(id => LongId(id)),
diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestHelper.scala b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestHelper.scala
index 3113b21..5284ff1 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestHelper.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestHelper.scala
@@ -74,21 +74,16 @@ trait RestHelper {
case Some(pp) =>
Seq(
"pageNumber" -> pp.pageNumber.toString,
- "pageSize" -> pp.pageSize.toHexString
+ "pageSize" -> pp.pageSize.toString
)
}
- /** Utility method to parse responses that encode success and errors as subtypes
- * of a common reply type.
+ /** Utility method to parse responses from records-acquisition-server.
*
+ * Non-2xx HTTP error codes will be cause the returned future to fail with a corresponding
+ * `DomainException`.
* @tparam ApiReply The type of the serialized reply object, contained in the HTTP entity
- * @tparam DomainReply The type of the domain object that will be created from a successful reply.
- *
* @param response The HTTP response to parse.
- * @param successMapper Transformation function from a deserialized api entity to a domain object.
- * @param errorMapper Transformation function from general domain errors to
- * specialized errors of the given DomainReply. Note that if a domain error
- * is not explicitly handled, it will be encoded as a failure in the returned future.
* @param unmarshaller An unmarshaller that converts a successful response to an api reply.
*/
def apiResponse[ApiReply](response: HttpResponse)(
diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestMessageService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestMessageService.scala
index 4eb48d5..1527ad5 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestMessageService.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestMessageService.scala
@@ -76,7 +76,7 @@ class RestMessageService(transport: ServiceTransport, baseUri: Uri)(
}
def delete(messageId: LongId[Message])(implicit requestContext: AuthenticatedRequestContext): Future[DeleteReply] = {
- val request = HttpRequest(HttpMethods.GET, endpointUri(baseUri, s"/v1/message/${messageId.id}"))
+ val request = HttpRequest(HttpMethods.DELETE, endpointUri(baseUri, s"/v1/message/${messageId.id}"))
for {
response <- transport.sendRequestGetResponse(requestContext)(request)
reply <- apiResponse[ApiMessage](response)