aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build.sbt9
-rw-r--r--core-database/src/main/scala/xyz/driver/core/database/Converters.scala (renamed from src/main/scala/xyz/driver/core/database/Converters.scala)3
-rw-r--r--core-database/src/main/scala/xyz/driver/core/database/PatchedHsqldbProfile.scala (renamed from src/main/scala/xyz/driver/core/database/PatchedHsqldbProfile.scala)0
-rw-r--r--core-database/src/main/scala/xyz/driver/core/database/Repository.scala (renamed from src/main/scala/xyz/driver/core/database/Repository.scala)0
-rw-r--r--core-database/src/main/scala/xyz/driver/core/database/SlickGetResultSupport.scala (renamed from src/main/scala/xyz/driver/core/database/SlickGetResultSupport.scala)0
-rw-r--r--core-database/src/main/scala/xyz/driver/core/database/database.scala (renamed from src/main/scala/xyz/driver/core/database/database.scala)0
-rw-r--r--core-database/src/main/scala/xyz/driver/core/database/package.scala (renamed from src/main/scala/xyz/driver/core/database/package.scala)0
-rw-r--r--core-database/src/test/scala/xyz/driver/core/database/DatabaseTest.scala (renamed from src/test/scala/xyz/driver/core/database/DatabaseTest.scala)0
-rw-r--r--core-rest/src/main/scala/xyz/driver/core/json.scala2
-rw-r--r--core-rest/src/main/scala/xyz/driver/core/rest/DriverRoute.scala3
-rw-r--r--core-rest/src/main/scala/xyz/driver/core/rest/errors/serviceException.scala3
-rw-r--r--src/main/scala/xyz/driver/core/database/MdcAsyncExecutor.scala53
12 files changed, 8 insertions, 65 deletions
diff --git a/build.sbt b/build.sbt
index 4f32af7..c57a7ca 100644
--- a/build.sbt
+++ b/build.sbt
@@ -72,9 +72,14 @@ lazy val `core-messaging` = project
.dependsOn(`core-reporting`)
.settings(testdeps)
+lazy val `core-database` = project
+ .enablePlugins(LibraryPlugin)
+ .dependsOn(`core-types`)
+ .settings(testdeps)
+
lazy val `core-init` = project
.enablePlugins(LibraryPlugin)
- .dependsOn(`core-reporting`, `core-storage`, `core-messaging`, `core-rest`)
+ .dependsOn(`core-reporting`, `core-storage`, `core-messaging`, `core-rest`, `core-database`)
.settings(testdeps)
lazy val core = project
@@ -91,5 +96,5 @@ lazy val core = project
s"https://github.com/drivergroup/driver-core/blob/master€{FILE_PATH}.scala"
)
)
- .dependsOn(`core-types`, `core-rest`, `core-reporting`, `core-storage`, `core-messaging`, `core-init`)
+ .dependsOn(`core-types`, `core-rest`, `core-reporting`, `core-storage`, `core-messaging`, `core-database`, `core-init`)
.settings(testdeps)
diff --git a/src/main/scala/xyz/driver/core/database/Converters.scala b/core-database/src/main/scala/xyz/driver/core/database/Converters.scala
index ad79abf..b0054ad 100644
--- a/src/main/scala/xyz/driver/core/database/Converters.scala
+++ b/core-database/src/main/scala/xyz/driver/core/database/Converters.scala
@@ -1,7 +1,5 @@
package xyz.driver.core.database
-import xyz.driver.core.rest.errors.DatabaseException
-
import scala.reflect.ClassTag
/**
@@ -24,3 +22,4 @@ trait Converters {
query.map(expectValid[ADT](mapper, _))
}
}
+final case class DatabaseException(message: String = "Database access error") extends RuntimeException(message)
diff --git a/src/main/scala/xyz/driver/core/database/PatchedHsqldbProfile.scala b/core-database/src/main/scala/xyz/driver/core/database/PatchedHsqldbProfile.scala
index e2efd32..e2efd32 100644
--- a/src/main/scala/xyz/driver/core/database/PatchedHsqldbProfile.scala
+++ b/core-database/src/main/scala/xyz/driver/core/database/PatchedHsqldbProfile.scala
diff --git a/src/main/scala/xyz/driver/core/database/Repository.scala b/core-database/src/main/scala/xyz/driver/core/database/Repository.scala
index 5d7f787..5d7f787 100644
--- a/src/main/scala/xyz/driver/core/database/Repository.scala
+++ b/core-database/src/main/scala/xyz/driver/core/database/Repository.scala
diff --git a/src/main/scala/xyz/driver/core/database/SlickGetResultSupport.scala b/core-database/src/main/scala/xyz/driver/core/database/SlickGetResultSupport.scala
index 8293371..8293371 100644
--- a/src/main/scala/xyz/driver/core/database/SlickGetResultSupport.scala
+++ b/core-database/src/main/scala/xyz/driver/core/database/SlickGetResultSupport.scala
diff --git a/src/main/scala/xyz/driver/core/database/database.scala b/core-database/src/main/scala/xyz/driver/core/database/database.scala
index bd20b54..bd20b54 100644
--- a/src/main/scala/xyz/driver/core/database/database.scala
+++ b/core-database/src/main/scala/xyz/driver/core/database/database.scala
diff --git a/src/main/scala/xyz/driver/core/database/package.scala b/core-database/src/main/scala/xyz/driver/core/database/package.scala
index aee14c6..aee14c6 100644
--- a/src/main/scala/xyz/driver/core/database/package.scala
+++ b/core-database/src/main/scala/xyz/driver/core/database/package.scala
diff --git a/src/test/scala/xyz/driver/core/database/DatabaseTest.scala b/core-database/src/test/scala/xyz/driver/core/database/DatabaseTest.scala
index 8d2a4ac..8d2a4ac 100644
--- a/src/test/scala/xyz/driver/core/database/DatabaseTest.scala
+++ b/core-database/src/test/scala/xyz/driver/core/database/DatabaseTest.scala
diff --git a/core-rest/src/main/scala/xyz/driver/core/json.scala b/core-rest/src/main/scala/xyz/driver/core/json.scala
index edc2347..40888aa 100644
--- a/core-rest/src/main/scala/xyz/driver/core/json.scala
+++ b/core-rest/src/main/scala/xyz/driver/core/json.scala
@@ -383,7 +383,6 @@ object json extends PathMatchers with Unmarshallers {
case _: ResourceNotFoundException => "ResourceNotFoundException"
case _: ExternalServiceException => "ExternalServiceException"
case _: ExternalServiceTimeoutException => "ExternalServiceTimeoutException"
- case _: DatabaseException => "DatabaseException"
} {
case "InvalidInputException" => jsonFormat(InvalidInputException, "message")
case "InvalidActionException" => jsonFormat(InvalidActionException, "message")
@@ -392,7 +391,6 @@ object json extends PathMatchers with Unmarshallers {
case "ExternalServiceException" =>
jsonFormat(ExternalServiceException, "serviceName", "serviceMessage", "serviceException")
case "ExternalServiceTimeoutException" => jsonFormat(ExternalServiceTimeoutException, "message")
- case "DatabaseException" => jsonFormat(DatabaseException, "message")
}
}
diff --git a/core-rest/src/main/scala/xyz/driver/core/rest/DriverRoute.scala b/core-rest/src/main/scala/xyz/driver/core/rest/DriverRoute.scala
index 911e306..b94f611 100644
--- a/core-rest/src/main/scala/xyz/driver/core/rest/DriverRoute.scala
+++ b/core-rest/src/main/scala/xyz/driver/core/rest/DriverRoute.scala
@@ -88,9 +88,6 @@ trait DriverRoute {
case e: ExternalServiceTimeoutException =>
log.error("Service timeout error", e)
StatusCodes.GatewayTimeout
- case e: DatabaseException =>
- log.error("Database error", e)
- StatusCodes.InternalServerError
}
{ (ctx: RequestContext) =>
diff --git a/core-rest/src/main/scala/xyz/driver/core/rest/errors/serviceException.scala b/core-rest/src/main/scala/xyz/driver/core/rest/errors/serviceException.scala
index f2962c9..b43a1d3 100644
--- a/core-rest/src/main/scala/xyz/driver/core/rest/errors/serviceException.scala
+++ b/core-rest/src/main/scala/xyz/driver/core/rest/errors/serviceException.scala
@@ -22,6 +22,3 @@ final case class ExternalServiceException(
final case class ExternalServiceTimeoutException(serviceName: String)
extends ServiceException(s"$serviceName took too long to respond")
-
-final case class DatabaseException(override val message: String = "Database access error")
- extends ServiceException(message)
diff --git a/src/main/scala/xyz/driver/core/database/MdcAsyncExecutor.scala b/src/main/scala/xyz/driver/core/database/MdcAsyncExecutor.scala
deleted file mode 100644
index 5939efb..0000000
--- a/src/main/scala/xyz/driver/core/database/MdcAsyncExecutor.scala
+++ /dev/null
@@ -1,53 +0,0 @@
-/** Code ported from "de.geekonaut" %% "slickmdc" % "1.0.0"
- * License: @see https://github.com/AVGP/slickmdc/blob/master/LICENSE
- * Blog post: @see http://50linesofco.de/post/2016-07-01-slick-and-slf4j-mdc-logging-in-scala.html
- */
-package xyz.driver.core
-package database
-
-import java.util.concurrent._
-import java.util.concurrent.atomic.AtomicInteger
-
-import scala.concurrent._
-import com.typesafe.scalalogging.StrictLogging
-import slick.util.AsyncExecutor
-
-import logging.MdcExecutionContext
-
-/** Taken from the original Slick AsyncExecutor and simplified
- * @see https://github.com/slick/slick/blob/3.1/slick/src/main/scala/slick/util/AsyncExecutor.scala
- */
-object MdcAsyncExecutor extends StrictLogging {
-
- /** Create an AsyncExecutor with a fixed-size thread pool.
- *
- * @param name The name for the thread pool.
- * @param numThreads The number of threads in the pool.
- */
- def apply(name: String, numThreads: Int): AsyncExecutor = {
- new AsyncExecutor {
- val tf = new DaemonThreadFactory(name + "-")
-
- lazy val executionContext = {
- new MdcExecutionContext(ExecutionContext.fromExecutor(Executors.newFixedThreadPool(numThreads, tf)))
- }
-
- def close(): Unit = {}
- }
- }
-
- def default(name: String = "AsyncExecutor.default"): AsyncExecutor = apply(name, 20)
-
- private class DaemonThreadFactory(namePrefix: String) extends ThreadFactory {
- private[this] val group =
- Option(System.getSecurityManager).fold(Thread.currentThread.getThreadGroup)(_.getThreadGroup)
- private[this] val threadNumber = new AtomicInteger(1)
-
- def newThread(r: Runnable): Thread = {
- val t = new Thread(group, r, namePrefix + threadNumber.getAndIncrement, 0)
- if (!t.isDaemon) t.setDaemon(true)
- if (t.getPriority != Thread.NORM_PRIORITY) t.setPriority(Thread.NORM_PRIORITY)
- t
- }
- }
-}