From 1aaaf7a5ecf2cd28350fff872e334f9f6186966a Mon Sep 17 00:00:00 2001 From: Zach Smith Date: Tue, 17 Oct 2017 14:42:39 -0700 Subject: Rename files containing multiple classes to lowercase --- src/main/scala/xyz/driver/core/app/Module.scala | 54 ------------------- src/main/scala/xyz/driver/core/app/module.scala | 50 +++++++++++++++++ .../xyz/driver/core/rest/ServiceDiscovery.scala | 26 --------- .../driver/core/rest/ServiceRequestContext.scala | 62 ---------------------- .../xyz/driver/core/rest/serviceDiscovery.scala | 24 +++++++++ .../driver/core/rest/serviceRequestContext.scala | 62 ++++++++++++++++++++++ 6 files changed, 136 insertions(+), 142 deletions(-) delete mode 100644 src/main/scala/xyz/driver/core/app/Module.scala create mode 100644 src/main/scala/xyz/driver/core/app/module.scala delete mode 100644 src/main/scala/xyz/driver/core/rest/ServiceDiscovery.scala delete mode 100644 src/main/scala/xyz/driver/core/rest/ServiceRequestContext.scala create mode 100644 src/main/scala/xyz/driver/core/rest/serviceDiscovery.scala create mode 100644 src/main/scala/xyz/driver/core/rest/serviceRequestContext.scala diff --git a/src/main/scala/xyz/driver/core/app/Module.scala b/src/main/scala/xyz/driver/core/app/Module.scala deleted file mode 100644 index 3aea876..0000000 --- a/src/main/scala/xyz/driver/core/app/Module.scala +++ /dev/null @@ -1,54 +0,0 @@ -package xyz.driver.core.app - -import akka.http.scaladsl.model.StatusCodes -import akka.http.scaladsl.server.Directives.complete -import akka.http.scaladsl.server.{Route, RouteConcatenation} -import xyz.driver.core.rest.ServiceDiscovery -import xyz.driver.core.rest.ServiceDiscovery.{NoServiceDiscovery, SavingUsedServiceDiscovery} - -import scala.reflect.runtime.universe._ - -trait Module { - val name: String - def route: Route - def routeTypes: Seq[Type] - - val serviceDiscovery: ServiceDiscovery with SavingUsedServiceDiscovery = new NoServiceDiscovery() - - def activate(): Unit = {} - def deactivate(): Unit = {} -} - -object Module { - - class EmptyModule extends Module { - override val name: String = "Nothing" - - override def route: Route = complete(StatusCodes.OK) - - override def routeTypes: Seq[Type] = Seq.empty[Type] - } - - class SimpleModule(override val name: String, override val route: Route, routeType: Type) extends Module { - def routeTypes: Seq[Type] = Seq(routeType) - } - - /** - * Module implementation which may be used to composed a few - * - * @param name more general name of the composite module, - * must be provided as there is no good way to automatically - * generalize the name from the composed modules' names - * @param modules modules to compose into a single one - */ - class CompositeModule(override val name: String, modules: Seq[Module]) extends Module with RouteConcatenation { - - override def route: Route = RouteConcatenation.concat(modules.map(_.route): _*) - - override def routeTypes: Seq[Type] = modules.flatMap(_.routeTypes) - - override def activate(): Unit = modules.foreach(_.activate()) - - override def deactivate(): Unit = modules.reverse.foreach(_.deactivate()) - } -} diff --git a/src/main/scala/xyz/driver/core/app/module.scala b/src/main/scala/xyz/driver/core/app/module.scala new file mode 100644 index 0000000..c6f979f --- /dev/null +++ b/src/main/scala/xyz/driver/core/app/module.scala @@ -0,0 +1,50 @@ +package xyz.driver.core.app + +import akka.http.scaladsl.model.StatusCodes +import akka.http.scaladsl.server.Directives.complete +import akka.http.scaladsl.server.{Route, RouteConcatenation} +import xyz.driver.core.rest.{NoServiceDiscovery, SavingUsedServiceDiscovery, ServiceDiscovery} + +import scala.reflect.runtime.universe._ + +trait Module { + val name: String + def route: Route + def routeTypes: Seq[Type] + + val serviceDiscovery: ServiceDiscovery with SavingUsedServiceDiscovery = new NoServiceDiscovery() + + def activate(): Unit = {} + def deactivate(): Unit = {} +} + +class EmptyModule extends Module { + override val name: String = "Nothing" + + override def route: Route = complete(StatusCodes.OK) + + override def routeTypes: Seq[Type] = Seq.empty[Type] +} + +class SimpleModule(override val name: String, override val route: Route, routeType: Type) extends Module { + def routeTypes: Seq[Type] = Seq(routeType) +} + +/** + * Module implementation which may be used to composed a few + * + * @param name more general name of the composite module, + * must be provided as there is no good way to automatically + * generalize the name from the composed modules' names + * @param modules modules to compose into a single one + */ +class CompositeModule(override val name: String, modules: Seq[Module]) extends Module with RouteConcatenation { + + override def route: Route = RouteConcatenation.concat(modules.map(_.route): _*) + + override def routeTypes: Seq[Type] = modules.flatMap(_.routeTypes) + + override def activate(): Unit = modules.foreach(_.activate()) + + override def deactivate(): Unit = modules.reverse.foreach(_.deactivate()) +} diff --git a/src/main/scala/xyz/driver/core/rest/ServiceDiscovery.scala b/src/main/scala/xyz/driver/core/rest/ServiceDiscovery.scala deleted file mode 100644 index 5f589a9..0000000 --- a/src/main/scala/xyz/driver/core/rest/ServiceDiscovery.scala +++ /dev/null @@ -1,26 +0,0 @@ -package xyz.driver.core.rest - -import xyz.driver.core.Name - -trait ServiceDiscovery { - - def discover[T <: Service](serviceName: Name[Service]): T -} - -object ServiceDiscovery { - trait SavingUsedServiceDiscovery { - private val usedServices = new scala.collection.mutable.HashSet[String]() - - def saveServiceUsage(serviceName: Name[Service]): Unit = usedServices.synchronized { - usedServices += serviceName.value - } - - def getUsedServices: Set[String] = usedServices.synchronized { usedServices.toSet } - } - - class NoServiceDiscovery extends ServiceDiscovery with SavingUsedServiceDiscovery { - - def discover[T <: Service](serviceName: Name[Service]): T = - throw new IllegalArgumentException(s"Service with name $serviceName is unknown") - } -} diff --git a/src/main/scala/xyz/driver/core/rest/ServiceRequestContext.scala b/src/main/scala/xyz/driver/core/rest/ServiceRequestContext.scala deleted file mode 100644 index 4020d57..0000000 --- a/src/main/scala/xyz/driver/core/rest/ServiceRequestContext.scala +++ /dev/null @@ -1,62 +0,0 @@ -package xyz.driver.core.rest - -import xyz.driver.core.auth.{AuthToken, PermissionsToken, User} -import xyz.driver.core.generators - -import scalaz.Scalaz.{mapEqual, stringInstance} -import scalaz.syntax.equal._ - -class ServiceRequestContext(val trackingId: String = generators.nextUuid().toString, - val contextHeaders: Map[String, String] = Map.empty[String, String]) { - def authToken: Option[AuthToken] = - contextHeaders.get(AuthProvider.AuthenticationTokenHeader).map(AuthToken.apply) - - def permissionsToken: Option[PermissionsToken] = - contextHeaders.get(AuthProvider.PermissionsTokenHeader).map(PermissionsToken.apply) - - def withAuthToken(authToken: AuthToken): ServiceRequestContext = - new ServiceRequestContext( - trackingId, - contextHeaders.updated(AuthProvider.AuthenticationTokenHeader, authToken.value) - ) - - def withAuthenticatedUser[U <: User](authToken: AuthToken, user: U): AuthorizedServiceRequestContext[U] = - new AuthorizedServiceRequestContext( - trackingId, - contextHeaders.updated(AuthProvider.AuthenticationTokenHeader, authToken.value), - user - ) - - override def hashCode(): Int = - Seq[Any](trackingId, contextHeaders).foldLeft(31)((result, obj) => 31 * result + obj.hashCode()) - - override def equals(obj: Any): Boolean = obj match { - case ctx: ServiceRequestContext => trackingId === ctx.trackingId && contextHeaders === ctx.contextHeaders - case _ => false - } - - override def toString: String = s"ServiceRequestContext($trackingId, $contextHeaders)" -} - -class AuthorizedServiceRequestContext[U <: User](override val trackingId: String = generators.nextUuid().toString, - override val contextHeaders: Map[String, String] = - Map.empty[String, String], - val authenticatedUser: U) - extends ServiceRequestContext { - - def withPermissionsToken(permissionsToken: PermissionsToken): AuthorizedServiceRequestContext[U] = - new AuthorizedServiceRequestContext[U]( - trackingId, - contextHeaders.updated(AuthProvider.PermissionsTokenHeader, permissionsToken.value), - authenticatedUser) - - override def hashCode(): Int = 31 * super.hashCode() + authenticatedUser.hashCode() - - override def equals(obj: Any): Boolean = obj match { - case ctx: AuthorizedServiceRequestContext[U] => super.equals(ctx) && ctx.authenticatedUser == authenticatedUser - case _ => false - } - - override def toString: String = - s"AuthorizedServiceRequestContext($trackingId, $contextHeaders, $authenticatedUser)" -} diff --git a/src/main/scala/xyz/driver/core/rest/serviceDiscovery.scala b/src/main/scala/xyz/driver/core/rest/serviceDiscovery.scala new file mode 100644 index 0000000..55f1a2e --- /dev/null +++ b/src/main/scala/xyz/driver/core/rest/serviceDiscovery.scala @@ -0,0 +1,24 @@ +package xyz.driver.core.rest + +import xyz.driver.core.Name + +trait ServiceDiscovery { + + def discover[T <: Service](serviceName: Name[Service]): T +} + +trait SavingUsedServiceDiscovery { + private val usedServices = new scala.collection.mutable.HashSet[String]() + + def saveServiceUsage(serviceName: Name[Service]): Unit = usedServices.synchronized { + usedServices += serviceName.value + } + + def getUsedServices: Set[String] = usedServices.synchronized { usedServices.toSet } +} + +class NoServiceDiscovery extends ServiceDiscovery with SavingUsedServiceDiscovery { + + def discover[T <: Service](serviceName: Name[Service]): T = + throw new IllegalArgumentException(s"Service with name $serviceName is unknown") +} diff --git a/src/main/scala/xyz/driver/core/rest/serviceRequestContext.scala b/src/main/scala/xyz/driver/core/rest/serviceRequestContext.scala new file mode 100644 index 0000000..4020d57 --- /dev/null +++ b/src/main/scala/xyz/driver/core/rest/serviceRequestContext.scala @@ -0,0 +1,62 @@ +package xyz.driver.core.rest + +import xyz.driver.core.auth.{AuthToken, PermissionsToken, User} +import xyz.driver.core.generators + +import scalaz.Scalaz.{mapEqual, stringInstance} +import scalaz.syntax.equal._ + +class ServiceRequestContext(val trackingId: String = generators.nextUuid().toString, + val contextHeaders: Map[String, String] = Map.empty[String, String]) { + def authToken: Option[AuthToken] = + contextHeaders.get(AuthProvider.AuthenticationTokenHeader).map(AuthToken.apply) + + def permissionsToken: Option[PermissionsToken] = + contextHeaders.get(AuthProvider.PermissionsTokenHeader).map(PermissionsToken.apply) + + def withAuthToken(authToken: AuthToken): ServiceRequestContext = + new ServiceRequestContext( + trackingId, + contextHeaders.updated(AuthProvider.AuthenticationTokenHeader, authToken.value) + ) + + def withAuthenticatedUser[U <: User](authToken: AuthToken, user: U): AuthorizedServiceRequestContext[U] = + new AuthorizedServiceRequestContext( + trackingId, + contextHeaders.updated(AuthProvider.AuthenticationTokenHeader, authToken.value), + user + ) + + override def hashCode(): Int = + Seq[Any](trackingId, contextHeaders).foldLeft(31)((result, obj) => 31 * result + obj.hashCode()) + + override def equals(obj: Any): Boolean = obj match { + case ctx: ServiceRequestContext => trackingId === ctx.trackingId && contextHeaders === ctx.contextHeaders + case _ => false + } + + override def toString: String = s"ServiceRequestContext($trackingId, $contextHeaders)" +} + +class AuthorizedServiceRequestContext[U <: User](override val trackingId: String = generators.nextUuid().toString, + override val contextHeaders: Map[String, String] = + Map.empty[String, String], + val authenticatedUser: U) + extends ServiceRequestContext { + + def withPermissionsToken(permissionsToken: PermissionsToken): AuthorizedServiceRequestContext[U] = + new AuthorizedServiceRequestContext[U]( + trackingId, + contextHeaders.updated(AuthProvider.PermissionsTokenHeader, permissionsToken.value), + authenticatedUser) + + override def hashCode(): Int = 31 * super.hashCode() + authenticatedUser.hashCode() + + override def equals(obj: Any): Boolean = obj match { + case ctx: AuthorizedServiceRequestContext[U] => super.equals(ctx) && ctx.authenticatedUser == authenticatedUser + case _ => false + } + + override def toString: String = + s"AuthorizedServiceRequestContext($trackingId, $contextHeaders, $authenticatedUser)" +} -- cgit v1.2.3