From 34fd432a627f71fc1b98a5b3186f120dd63cf3f8 Mon Sep 17 00:00:00 2001 From: Jakob Odersky Date: Fri, 21 Jul 2017 13:20:39 -0700 Subject: Abstract materializer --- .../xyz/driver/pdsuidomain/services/rest/RestArmService.scala | 4 ++-- .../driver/pdsuidomain/services/rest/RestCriterionService.scala | 4 ++-- .../driver/pdsuidomain/services/rest/RestHypothesisService.scala | 4 ++-- .../driver/pdsuidomain/services/rest/RestInterventionService.scala | 4 ++-- .../pdsuidomain/services/rest/RestInterventionTypeService.scala | 4 ++-- .../xyz/driver/pdsuidomain/services/rest/RestMessageService.scala | 7 +++---- .../driver/pdsuidomain/services/rest/RestStudyDesignService.scala | 4 ++-- .../xyz/driver/pdsuidomain/services/rest/RestTrialService.scala | 7 +++---- 8 files changed, 18 insertions(+), 20 deletions(-) (limited to 'src/main/scala/xyz/driver/pdsuidomain/services') diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestArmService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestArmService.scala index 0a29c08..fe4fa4d 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestArmService.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestArmService.scala @@ -4,7 +4,7 @@ import scala.concurrent.{ExecutionContext, Future} import akka.http.scaladsl.marshalling.Marshal import akka.http.scaladsl.model._ -import akka.stream.ActorMaterializer +import akka.stream.Materializer import xyz.driver.core.rest.{Pagination => _, _} import xyz.driver.pdsuicommon.auth._ import xyz.driver.pdsuicommon.db._ @@ -14,7 +14,7 @@ import xyz.driver.pdsuidomain.formats.json.ListResponse import xyz.driver.pdsuidomain.formats.json.arm.ApiArm import xyz.driver.pdsuidomain.services.ArmService -class RestArmService(transport: ServiceTransport, baseUri: Uri)(implicit protected val materializer: ActorMaterializer, +class RestArmService(transport: ServiceTransport, baseUri: Uri)(implicit protected val materializer: Materializer, protected val exec: ExecutionContext) extends ArmService with RestHelper { diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestCriterionService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestCriterionService.scala index 7470de1..c02953b 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestCriterionService.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestCriterionService.scala @@ -4,7 +4,7 @@ import scala.concurrent.{ExecutionContext, Future} import akka.http.scaladsl.marshalling.Marshal import akka.http.scaladsl.model._ -import akka.stream.ActorMaterializer +import akka.stream.Materializer import xyz.driver.core.rest.{Pagination => _, _} import xyz.driver.pdsuicommon.auth._ import xyz.driver.pdsuicommon.db._ @@ -14,7 +14,7 @@ import xyz.driver.pdsuidomain.formats.json.ListResponse import xyz.driver.pdsuidomain.services.CriterionService class RestCriterionService(transport: ServiceTransport, baseUri: Uri)( - implicit protected val materializer: ActorMaterializer, + implicit protected val materializer: Materializer, protected val exec: ExecutionContext) extends CriterionService with RestHelper { diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestHypothesisService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestHypothesisService.scala index 37b28ae..1b8c943 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestHypothesisService.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestHypothesisService.scala @@ -3,7 +3,7 @@ package xyz.driver.pdsuidomain.services.rest import scala.concurrent.{ExecutionContext, Future} import akka.http.scaladsl.model._ -import akka.stream.ActorMaterializer +import akka.stream.Materializer import xyz.driver.core.rest._ import xyz.driver.pdsuicommon.auth._ import xyz.driver.pdsuicommon.db._ @@ -12,7 +12,7 @@ import xyz.driver.pdsuidomain.formats.json.hypothesis.ApiHypothesis import xyz.driver.pdsuidomain.services.HypothesisService class RestHypothesisService(transport: ServiceTransport, baseUri: Uri)( - implicit protected val materializer: ActorMaterializer, + implicit protected val materializer: Materializer, protected val exec: ExecutionContext) extends HypothesisService with RestHelper { diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestInterventionService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestInterventionService.scala index aa59657..e593c3b 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestInterventionService.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestInterventionService.scala @@ -4,7 +4,7 @@ import scala.concurrent.{ExecutionContext, Future} import akka.http.scaladsl.marshalling.Marshal import akka.http.scaladsl.model._ -import akka.stream.ActorMaterializer +import akka.stream.Materializer import xyz.driver.core.rest.{Pagination => _, _} import xyz.driver.pdsuicommon.auth._ import xyz.driver.pdsuicommon.db._ @@ -15,7 +15,7 @@ import xyz.driver.pdsuidomain.formats.json.intervention.ApiIntervention import xyz.driver.pdsuidomain.services.InterventionService class RestInterventionService(transport: ServiceTransport, baseUri: Uri)( - implicit protected val materializer: ActorMaterializer, + implicit protected val materializer: Materializer, protected val exec: ExecutionContext) extends InterventionService with RestHelper { diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestInterventionTypeService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestInterventionTypeService.scala index fad2841..87f32ec 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestInterventionTypeService.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestInterventionTypeService.scala @@ -3,7 +3,7 @@ package xyz.driver.pdsuidomain.services.rest import scala.concurrent.{ExecutionContext, Future} import akka.http.scaladsl.model._ -import akka.stream.ActorMaterializer +import akka.stream.Materializer import xyz.driver.core.rest._ import xyz.driver.pdsuicommon.auth._ import xyz.driver.pdsuicommon.db._ @@ -11,7 +11,7 @@ import xyz.driver.pdsuidomain.formats.json.intervention.ApiInterventionType import xyz.driver.pdsuidomain.services.InterventionTypeService class RestInterventionTypeService(transport: ServiceTransport, baseUri: Uri)( - implicit protected val materializer: ActorMaterializer, + implicit protected val materializer: Materializer, protected val exec: ExecutionContext) extends InterventionTypeService with RestHelper { 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 1527ad5..e9c09c5 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestMessageService.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestMessageService.scala @@ -4,7 +4,7 @@ import scala.concurrent.{ExecutionContext, Future} import akka.http.scaladsl.marshalling.Marshal import akka.http.scaladsl.model._ -import akka.stream.ActorMaterializer +import akka.stream.Materializer import xyz.driver.core.rest.{Pagination => _, _} import xyz.driver.pdsuicommon.auth._ import xyz.driver.pdsuicommon.db._ @@ -14,9 +14,8 @@ import xyz.driver.pdsuidomain.formats.json.ListResponse import xyz.driver.pdsuidomain.formats.json.message.ApiMessage import xyz.driver.pdsuidomain.services.MessageService -class RestMessageService(transport: ServiceTransport, baseUri: Uri)( - implicit protected val materializer: ActorMaterializer, - protected val exec: ExecutionContext) +class RestMessageService(transport: ServiceTransport, baseUri: Uri)(implicit protected val materializer: Materializer, + protected val exec: ExecutionContext) extends MessageService with RestHelper { import xyz.driver.pdsuicommon.serialization.PlayJsonSupport._ diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestStudyDesignService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestStudyDesignService.scala index 4fba287..98b397d 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestStudyDesignService.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestStudyDesignService.scala @@ -3,7 +3,7 @@ package xyz.driver.pdsuidomain.services.rest import scala.concurrent.{ExecutionContext, Future} import akka.http.scaladsl.model._ -import akka.stream.ActorMaterializer +import akka.stream.Materializer import xyz.driver.core.rest._ import xyz.driver.pdsuicommon.auth._ import xyz.driver.pdsuicommon.db._ @@ -12,7 +12,7 @@ import xyz.driver.pdsuidomain.formats.json.studydesign.ApiStudyDesign import xyz.driver.pdsuidomain.services.StudyDesignService class RestStudyDesignService(transport: ServiceTransport, baseUri: Uri)( - implicit protected val materializer: ActorMaterializer, + implicit protected val materializer: Materializer, protected val exec: ExecutionContext) extends StudyDesignService with RestHelper { diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestTrialService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestTrialService.scala index e1f9d87..54f5f2e 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestTrialService.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestTrialService.scala @@ -5,7 +5,7 @@ import scala.concurrent.{ExecutionContext, Future} import akka.http.scaladsl.marshalling.Marshal import akka.http.scaladsl.model._ -import akka.stream.ActorMaterializer +import akka.stream.Materializer import xyz.driver.core.rest.{Pagination => _, _} import xyz.driver.pdsuicommon.auth._ import xyz.driver.pdsuicommon.db._ @@ -15,9 +15,8 @@ import xyz.driver.pdsuidomain.formats.json.ListResponse import xyz.driver.pdsuidomain.formats.json.trial.ApiTrial import xyz.driver.pdsuidomain.services.TrialService -class RestTrialService(transport: ServiceTransport, baseUri: Uri)( - implicit protected val materializer: ActorMaterializer, - protected val exec: ExecutionContext) +class RestTrialService(transport: ServiceTransport, baseUri: Uri)(implicit protected val materializer: Materializer, + protected val exec: ExecutionContext) extends TrialService with RestHelper { import xyz.driver.pdsuicommon.serialization.PlayJsonSupport._ -- cgit v1.2.3 From 525ef428d950a6c9ddb58247101aeb1cb1f42d80 Mon Sep 17 00:00:00 2001 From: Jakob Odersky Date: Fri, 21 Jul 2017 13:20:56 -0700 Subject: Implement fake trial service --- .../services/fake/FakeTrialService.scala | 77 ++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 src/main/scala/xyz/driver/pdsuidomain/services/fake/FakeTrialService.scala (limited to 'src/main/scala/xyz/driver/pdsuidomain/services') diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/fake/FakeTrialService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/fake/FakeTrialService.scala new file mode 100644 index 0000000..bd176b3 --- /dev/null +++ b/src/main/scala/xyz/driver/pdsuidomain/services/fake/FakeTrialService.scala @@ -0,0 +1,77 @@ +package xyz.driver.pdsuidomain.services.fake + +import java.time.LocalDateTime +import xyz.driver.pdsuicommon.auth.AuthenticatedRequestContext +import xyz.driver.pdsuicommon.db._ +import xyz.driver.pdsuicommon.domain.{StringId, UuidId} +import xyz.driver.pdsuidomain.entities.Trial +import xyz.driver.pdsuidomain.services.TrialService +import scala.concurrent.Future + +class FakeTrialService extends TrialService { + + import TrialService._ + + private val trial = Trial( + id = StringId(""), + externalId = UuidId(), + status = Trial.Status.New, + assignee = None, + previousStatus = None, + previousAssignee = None, + lastActiveUserId = None, + lastUpdate = LocalDateTime.now(), + condition = Trial.Condition.Breast, + phase = "", + hypothesisId = None, + studyDesignId = None, + originalStudyDesign = None, + isPartner = false, + overview = None, + overviewTemplate = "", + isUpdated = false, + title = "", + originalTitle = "" + ) + + def getById(id: StringId[Trial])(implicit requestContext: AuthenticatedRequestContext): Future[GetByIdReply] = + Future.successful( + GetByIdReply.Entity(trial) + ) + + def getPdfSource(trialId: StringId[Trial])( + implicit requestContext: AuthenticatedRequestContext): Future[GetPdfSourceReply] = + Future.failed(new NotImplementedError("fake pdf download is not implemented")) + + def getAll(filter: SearchFilterExpr = SearchFilterExpr.Empty, + sorting: Option[Sorting] = None, + pagination: Option[Pagination] = None)( + implicit requestContext: AuthenticatedRequestContext): Future[GetListReply] = + Future.successful(GetListReply.EntityList(Seq(trial), 1, None)) + + def update(origTrial: Trial, draftTrial: Trial)( + implicit requestContext: AuthenticatedRequestContext): Future[UpdateReply] = + Future.successful(UpdateReply.Updated(draftTrial)) + + def start(origTrial: Trial)(implicit requestContext: AuthenticatedRequestContext): Future[UpdateReply] = + update(origTrial, origTrial) + + def submit(origTrial: Trial)(implicit requestContext: AuthenticatedRequestContext): Future[UpdateReply] = + update(origTrial, origTrial) + + def restart(origTrial: Trial)(implicit requestContext: AuthenticatedRequestContext): Future[UpdateReply] = + update(origTrial, origTrial) + + def flag(origTrial: Trial)(implicit requestContext: AuthenticatedRequestContext): Future[UpdateReply] = + update(origTrial, origTrial) + + def resolve(origTrial: Trial)(implicit requestContext: AuthenticatedRequestContext): Future[UpdateReply] = + update(origTrial, origTrial) + + def archive(origTrial: Trial)(implicit requestContext: AuthenticatedRequestContext): Future[UpdateReply] = + update(origTrial, origTrial) + + def unassign(origTrial: Trial)(implicit requestContext: AuthenticatedRequestContext): Future[UpdateReply] = + update(origTrial, origTrial) + +} -- cgit v1.2.3