Skip to content

Commit 9d6f0db

Browse files
committed
upgrade server dependencies, add scheduler grpc services
1 parent fb586df commit 9d6f0db

File tree

11 files changed

+45
-30
lines changed

11 files changed

+45
-30
lines changed

api/src/main/scala/app/softnetwork/scheduler/api/SchedulerApi.scala

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package app.softnetwork.scheduler.api
22

33
import akka.actor.typed.ActorSystem
4-
import akka.http.scaladsl.model.{HttpRequest, HttpResponse}
54
import app.softnetwork.persistence.jdbc.query.{JdbcJournalProvider, JdbcOffsetProvider}
65
import app.softnetwork.persistence.schema.SchemaProvider
76
import app.softnetwork.scheduler.handlers.SchedulerHandler
@@ -11,8 +10,6 @@ import app.softnetwork.session.config.Settings
1110
import com.typesafe.config.Config
1211
import org.softnetwork.session.model.Session
1312

14-
import scala.concurrent.Future
15-
1613
trait SchedulerApi extends SchedulerApplication { _: SchemaProvider =>
1714

1815
override def entity2SchedulerProcessorStream: ActorSystem[_] => Entity2SchedulerProcessorStream =
@@ -27,10 +24,6 @@ trait SchedulerApi extends SchedulerApplication { _: SchemaProvider =>
2724
override implicit def system: ActorSystem[_] = sys
2825
}
2926

30-
override def grpcServices
31-
: ActorSystem[_] => Seq[PartialFunction[HttpRequest, Future[HttpResponse]]] = system =>
32-
Seq(SchedulerServiceApiHandler.partial(schedulerServer(system))(system))
33-
3427
override protected def sessionType: Session.SessionType =
3528
Settings.Session.SessionContinuityAndTransport
3629

build.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ ThisBuild / organization := "app.softnetwork"
22

33
name := "scheduler"
44

5-
ThisBuild / version := "0.6.2"
5+
ThisBuild / version := "0.6.3"
66

77
ThisBuild / scalaVersion := "2.12.15"
88

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package app.softnetwork.scheduler.api
2+
3+
import akka.actor.typed.ActorSystem
4+
import akka.http.scaladsl.model.{HttpRequest, HttpResponse}
5+
import app.softnetwork.api.server.GrpcService
6+
7+
import scala.concurrent.Future
8+
9+
class SchedulerGrpcService(server: SchedulerServer) extends GrpcService {
10+
override def grpcService: ActorSystem[_] => PartialFunction[HttpRequest, Future[HttpResponse]] =
11+
system => SchedulerServiceApiHandler.partial(server)(system)
12+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package app.softnetwork.scheduler.api
2+
3+
import akka.actor.typed.ActorSystem
4+
import app.softnetwork.api.server.{GrpcService, GrpcServices}
5+
import app.softnetwork.scheduler.launch.SchedulerGuardian
6+
7+
trait SchedulerGrpcServices extends GrpcServices { _: SchedulerGuardian =>
8+
9+
override def grpcServices: ActorSystem[_] => Seq[GrpcService] = system =>
10+
schedulerGrpcServices(system)
11+
12+
}

core/src/main/scala/app/softnetwork/scheduler/launch/SchedulerApplication.scala

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,12 @@ package app.softnetwork.scheduler.launch
33
import app.softnetwork.api.server.ApiRoutes
44
import app.softnetwork.api.server.launch.Application
55
import app.softnetwork.persistence.schema.SchemaProvider
6+
import app.softnetwork.scheduler.api.SchedulerGrpcServices
67

7-
trait SchedulerApplication extends Application with ApiRoutes with SchedulerGuardian {
8+
trait SchedulerApplication
9+
extends Application
10+
with ApiRoutes
11+
with SchedulerGuardian
12+
with SchedulerGrpcServices {
813
_: SchemaProvider =>
914
}

core/src/main/scala/app/softnetwork/scheduler/launch/SchedulerGuardian.scala

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
package app.softnetwork.scheduler.launch
22

33
import akka.actor.typed.ActorSystem
4+
import app.softnetwork.api.server.GrpcService
45
import app.softnetwork.persistence.launch.PersistentEntity
56
import app.softnetwork.persistence.launch.PersistenceGuardian._
67
import app.softnetwork.persistence.query.EventProcessorStream
78
import app.softnetwork.persistence.schema.SchemaProvider
89
import app.softnetwork.scheduler.SchedulerCoreBuildInfo
9-
import app.softnetwork.scheduler.api.SchedulerServer
10+
import app.softnetwork.scheduler.api.{SchedulerGrpcService, SchedulerServer}
1011
import app.softnetwork.scheduler.handlers.SchedulerDao
1112
import app.softnetwork.scheduler.persistence.query.{
1213
Entity2SchedulerProcessorStream,
@@ -59,6 +60,11 @@ trait SchedulerGuardian extends SessionGuardian with CsrfCheckHeader { self: Sch
5960
*/
6061
def schedulerServer: ActorSystem[_] => SchedulerServer = sys => SchedulerServer(sys)
6162

63+
def schedulerGrpcServices: ActorSystem[_] => Seq[GrpcService] = system =>
64+
Seq(
65+
new SchedulerGrpcService(schedulerServer(system))
66+
)
67+
6268
override def initSystem: ActorSystem[_] => Unit = initSchedulerSystem
6369

6470
override def systemVersion(): String =

project/Versions.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
object Versions {
22

3-
val genericPersistence = "0.6.1"
3+
val genericPersistence = "0.6.2"
44

55
val scalatest = "3.2.16"
66
}

testkit/src/main/scala/app/softnetwork/scheduler/api/SchedulerGrpcServer.scala renamed to testkit/src/main/scala/app/softnetwork/scheduler/api/SchedulerGrpcServerTestKit.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ import app.softnetwork.persistence.scalatest.InMemoryPersistenceTestKit
55
import app.softnetwork.scheduler.launch.SchedulerGuardian
66
import org.scalatest.Suite
77

8-
trait SchedulerGrpcServer
8+
trait SchedulerGrpcServerTestKit
99
extends PersistenceScalatestGrpcTest
10-
with SchedulerGrpcServices
10+
with SchedulerGrpcServicesTestKit
1111
with InMemoryPersistenceTestKit { _: Suite with SchedulerGuardian =>
1212
override lazy val additionalConfig: String = schedulerGrpcConfig
1313
}

testkit/src/main/scala/app/softnetwork/scheduler/api/SchedulerGrpcServices.scala renamed to testkit/src/main/scala/app/softnetwork/scheduler/api/SchedulerGrpcServicesTestKit.scala

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,11 @@
11
package app.softnetwork.scheduler.api
22

3-
import akka.actor.typed.ActorSystem
4-
import akka.http.scaladsl.model.{HttpRequest, HttpResponse}
5-
import app.softnetwork.api.server.GrpcServices
63
import app.softnetwork.api.server.scalatest.ServerTestKit
74
import app.softnetwork.scheduler.launch.SchedulerGuardian
85

9-
import scala.concurrent.Future
10-
11-
trait SchedulerGrpcServices extends GrpcServices {
6+
trait SchedulerGrpcServicesTestKit extends SchedulerGrpcServices {
127
_: SchedulerGuardian with ServerTestKit =>
138

14-
override def grpcServices
15-
: ActorSystem[_] => Seq[PartialFunction[HttpRequest, Future[HttpResponse]]] =
16-
schedulerGrpcServices
17-
18-
def schedulerGrpcServices
19-
: ActorSystem[_] => Seq[PartialFunction[HttpRequest, Future[HttpResponse]]] = system =>
20-
Seq(SchedulerServiceApiHandler.partial(schedulerServer(system))(system))
21-
229
def schedulerGrpcConfig: String = s"""
2310
|# Important: enable HTTP/2 in ActorSystem's config
2411
|akka.http.server.preview.enable-http2 = on

testkit/src/main/scala/app/softnetwork/scheduler/scalatest/SchedulerRouteTestKit.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package app.softnetwork.scheduler.scalatest
33
import akka.http.scaladsl.model.{StatusCode, StatusCodes}
44
import app.softnetwork.api.server.ApiRoutes
55
import app.softnetwork.api.server.config.ServerSettings.RootPath
6-
import app.softnetwork.scheduler.api.SchedulerGrpcServices
6+
import app.softnetwork.scheduler.api.SchedulerGrpcServicesTestKit
77
import app.softnetwork.scheduler.config.SchedulerSettings.SchedulerPath
88
import app.softnetwork.scheduler.message._
99
import app.softnetwork.scheduler.model.{CronTab, Schedule, Scheduler}
@@ -16,7 +16,7 @@ import org.softnetwork.session.model.Session
1616
trait SchedulerRouteTestKit
1717
extends SessionTestKit[Session]
1818
with SchedulerTestKit
19-
with SchedulerGrpcServices {
19+
with SchedulerGrpcServicesTestKit {
2020
_: Suite with ApiRoutes with SessionMaterials[Session] =>
2121

2222
override def beforeAll(): Unit = {

0 commit comments

Comments
 (0)