1 /*
2  *  Make.org Core API
3  *  Copyright (C) 2018 Make.org
4  *
5  * This program is free software: you can redistribute it and/or modify
6  *  it under the terms of the GNU Affero General Public License as
7  *  published by the Free Software Foundation, either version 3 of the
8  *  License, or (at your option) any later version.
9  *
10  *  This program is distributed in the hope that it will be useful,
11  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  *  GNU Affero General Public License for more details.
14  *
15  *  You should have received a copy of the GNU Affero General Public License
16  *  along with this program.  If not, see <https://www.gnu.org/licenses/>.
17  *
18  */
19 
20 package org.make.api.technical.job
21 
22 import org.make.api.technical.job.JobActor.{DefinedJob, EmptyJob}
23 import org.make.api.technical.job.JobEvent._
24 import org.make.core.SprayJsonFormatters
25 import spray.json.DefaultJsonProtocol._
26 
27 import stamina.{V1, V2}
28 import stamina.json.{from, persister, JsonPersister}
29 
30 object JobSerializers extends SprayJsonFormatters {
31 
32   private val jobSerializer: JsonPersister[DefinedJob, V2] =
33     persister[DefinedJob, V2]("job", from[V1].to[V2](job => Map("job" -> job).toJson))
34   private val emptyJobSerializer: JsonPersister[EmptyJob.type, V1] = persister[EmptyJob.type]("empty-job")
35   private val startedSerializer: JsonPersister[Started, V1] = persister[Started]("job-started")
36   private val heartbeatReceivedSerializer: JsonPersister[HeartbeatReceived, V1] =
37     persister[HeartbeatReceived]("job-heartbeat-received")
38   private val progressedSerializer: JsonPersister[Progressed, V1] = persister[Progressed]("job-progressed")
39   private val finishedSerializer: JsonPersister[Finished, V1] = persister[Finished]("job-finished")
40 
41   val serializers: Seq[JsonPersister[_, _]] =
42     Seq(
43       jobSerializer,
44       emptyJobSerializer,
45       startedSerializer,
46       heartbeatReceivedSerializer,
47       progressedSerializer,
48       finishedSerializer
49     )
50 
51 }
Line Stmt Id Pos Tree Symbol Tests Code
33 13487 1203 - 1251 ApplyToImplicitArgs stamina.migrations.Migrator.to org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest stamina.json.`package`.from[stamina.V1](stamina.this.V1.Info).to[stamina.V2](((job: spray.json.JsValue) => json.this.`package`.enrichAny[scala.collection.immutable.Map[String,spray.json.JsValue]](scala.Predef.Map.apply[String, spray.json.JsValue](scala.Predef.ArrowAssoc[String]("job").->[spray.json.JsValue](job))).toJson(spray.json.DefaultJsonProtocol.mapFormat[String, spray.json.JsValue](spray.json.DefaultJsonProtocol.StringJsonFormat, spray.json.DefaultJsonProtocol.JsValueFormat))))(stamina.this.V2.Info, stamina.this.V2.Info)
33 16424 1244 - 1244 ApplyToImplicitArgs spray.json.CollectionFormats.mapFormat org.scalatest.testsuite spray.json.DefaultJsonProtocol.mapFormat[String, spray.json.JsValue](spray.json.DefaultJsonProtocol.StringJsonFormat, spray.json.DefaultJsonProtocol.JsValueFormat)
33 9967 1230 - 1242 Apply scala.Predef.ArrowAssoc.-> org.scalatest.testsuite scala.Predef.ArrowAssoc[String]("job").->[spray.json.JsValue](job)
33 17593 1226 - 1243 Apply scala.collection.MapFactory.apply org.scalatest.testsuite scala.Predef.Map.apply[String, spray.json.JsValue](scala.Predef.ArrowAssoc[String]("job").->[spray.json.JsValue](job))
33 14216 1244 - 1244 Select spray.json.BasicFormats.StringJsonFormat org.scalatest.testsuite spray.json.DefaultJsonProtocol.StringJsonFormat
33 12972 1226 - 1250 ApplyToImplicitArgs spray.json.RichAny.toJson org.scalatest.testsuite json.this.`package`.enrichAny[scala.collection.immutable.Map[String,spray.json.JsValue]](scala.Predef.Map.apply[String, spray.json.JsValue](scala.Predef.ArrowAssoc[String]("job").->[spray.json.JsValue](job))).toJson(spray.json.DefaultJsonProtocol.mapFormat[String, spray.json.JsValue](spray.json.DefaultJsonProtocol.StringJsonFormat, spray.json.DefaultJsonProtocol.JsValueFormat))
33 10618 1170 - 1252 ApplyToImplicitArgs stamina.json.persister org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest stamina.json.`package`.persister[org.make.api.technical.job.JobActor.DefinedJob, stamina.V2]("job", stamina.json.`package`.from[stamina.V1](stamina.this.V1.Info).to[stamina.V2](((job: spray.json.JsValue) => json.this.`package`.enrichAny[scala.collection.immutable.Map[String,spray.json.JsValue]](scala.Predef.Map.apply[String, spray.json.JsValue](scala.Predef.ArrowAssoc[String]("job").->[spray.json.JsValue](job))).toJson(spray.json.DefaultJsonProtocol.mapFormat[String, spray.json.JsValue](spray.json.DefaultJsonProtocol.StringJsonFormat, spray.json.DefaultJsonProtocol.JsValueFormat))))(stamina.this.V2.Info, stamina.this.V2.Info))(JobActor.this.DefinedJob.jsonFormat, (ClassTag.apply[org.make.api.technical.job.JobActor.DefinedJob](classOf[org.make.api.technical.job.JobActor$$DefinedJob]): scala.reflect.ClassTag[org.make.api.technical.job.JobActor.DefinedJob]), stamina.this.V2.Info, stamina.this.V2.Info)
33 10916 1218 - 1218 Select stamina.V2.Info org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest stamina.this.V2.Info
33 16685 1196 - 1201 Literal <nosymbol> org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest "job"
33 13111 1207 - 1207 Select stamina.V1.Info org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest stamina.this.V1.Info
33 15964 1195 - 1195 Select stamina.V2.Info org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest stamina.this.V2.Info
33 13933 1195 - 1195 Select stamina.V2.Info org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest stamina.this.V2.Info
33 10120 1244 - 1244 Select spray.json.AdditionalFormats.JsValueFormat org.scalatest.testsuite spray.json.DefaultJsonProtocol.JsValueFormat
33 9842 1195 - 1195 Select org.make.api.technical.job.JobActor.DefinedJob.jsonFormat org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest JobActor.this.DefinedJob.jsonFormat
33 17181 1218 - 1218 Select stamina.V2.Info org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest stamina.this.V2.Info
34 10806 1322 - 1359 ApplyToImplicitArgs stamina.json.persister org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest stamina.json.`package`.persister[org.make.api.technical.job.JobActor.EmptyJob.type]("empty-job")(JobActor.this.EmptyJob.emptyJobJsonFormat, (ClassTag.apply[org.make.api.technical.job.JobActor.EmptyJob.type](classOf[org.make.api.technical.job.JobActor$$EmptyJob]): scala.reflect.ClassTag[org.make.api.technical.job.JobActor.EmptyJob.type]))
34 12848 1346 - 1346 Select org.make.api.technical.job.JobActor.EmptyJob.emptyJobJsonFormat org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest JobActor.this.EmptyJob.emptyJobJsonFormat
34 16436 1347 - 1358 Literal <nosymbol> org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest "empty-job"
35 13391 1440 - 1440 Select org.make.api.technical.job.JobEvent.Started.formatter org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest JobEvent.this.Started.formatter
35 16928 1441 - 1454 Literal <nosymbol> org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest "job-started"
35 9858 1422 - 1455 ApplyToImplicitArgs stamina.json.persister org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest stamina.json.`package`.persister[org.make.api.technical.job.JobEvent.Started]("job-started")(JobEvent.this.Started.formatter, (ClassTag.apply[org.make.api.technical.job.JobEvent.Started](classOf[org.make.api.technical.job.JobEvent$$Started]): scala.reflect.ClassTag[org.make.api.technical.job.JobEvent.Started]))
37 13816 1570 - 1570 Select org.make.api.technical.job.JobEvent.HeartbeatReceived.formatter org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest JobEvent.this.HeartbeatReceived.formatter
37 10103 1542 - 1596 ApplyToImplicitArgs stamina.json.persister org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest stamina.json.`package`.persister[org.make.api.technical.job.JobEvent.HeartbeatReceived]("job-heartbeat-received")(JobEvent.this.HeartbeatReceived.formatter, (ClassTag.apply[org.make.api.technical.job.JobEvent.HeartbeatReceived](classOf[org.make.api.technical.job.JobEvent$$HeartbeatReceived]): scala.reflect.ClassTag[org.make.api.technical.job.JobEvent.HeartbeatReceived]))
37 15719 1571 - 1595 Literal <nosymbol> org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest "job-heartbeat-received"
38 12865 1686 - 1686 Select org.make.api.technical.job.JobEvent.Progressed.formatter org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest JobEvent.this.Progressed.formatter
38 16344 1687 - 1703 Literal <nosymbol> org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest "job-progressed"
38 9151 1665 - 1704 ApplyToImplicitArgs stamina.json.persister org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest stamina.json.`package`.persister[org.make.api.technical.job.JobEvent.Progressed]("job-progressed")(JobEvent.this.Progressed.formatter, (ClassTag.apply[org.make.api.technical.job.JobEvent.Progressed](classOf[org.make.api.technical.job.JobEvent$$Progressed]): scala.reflect.ClassTag[org.make.api.technical.job.JobEvent.Progressed]))
39 9874 1769 - 1804 ApplyToImplicitArgs stamina.json.persister org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest stamina.json.`package`.persister[org.make.api.technical.job.JobEvent.Finished]("job-finished")(JobEvent.this.Finished.formatter, (ClassTag.apply[org.make.api.technical.job.JobEvent.Finished](classOf[org.make.api.technical.job.JobEvent$$Finished]): scala.reflect.ClassTag[org.make.api.technical.job.JobEvent.Finished]))
39 16802 1789 - 1803 Literal <nosymbol> org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest "job-finished"
39 13108 1788 - 1788 Select org.make.api.technical.job.JobEvent.Finished.formatter org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest JobEvent.this.Finished.formatter
42 17175 1856 - 2026 Apply scala.collection.SeqFactory.Delegate.apply org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest scala.`package`.Seq.apply[stamina.json.JsonPersister[_ >: org.make.api.technical.job.JobEvent.Finished with org.make.api.technical.job.JobEvent.Progressed with org.make.api.technical.job.JobEvent.HeartbeatReceived with org.make.api.technical.job.JobEvent.Started with org.make.api.technical.job.JobActor.EmptyJob.type with org.make.api.technical.job.JobActor.DefinedJob <: org.make.core.MakeSerializable, _ >: stamina.V1 with stamina.V2 <: stamina.Version]](JobSerializers.this.jobSerializer, JobSerializers.this.emptyJobSerializer, JobSerializers.this.startedSerializer, JobSerializers.this.heartbeatReceivedSerializer, JobSerializers.this.progressedSerializer, JobSerializers.this.finishedSerializer)
43 15606 1867 - 1880 Select org.make.api.technical.job.JobSerializers.jobSerializer org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest JobSerializers.this.jobSerializer
44 13835 1888 - 1906 Select org.make.api.technical.job.JobSerializers.emptyJobSerializer org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest JobSerializers.this.emptyJobSerializer
45 10600 1914 - 1931 Select org.make.api.technical.job.JobSerializers.startedSerializer org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest JobSerializers.this.startedSerializer
46 16087 1939 - 1966 Select org.make.api.technical.job.JobSerializers.heartbeatReceivedSerializer org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest JobSerializers.this.heartbeatReceivedSerializer
47 12642 1974 - 1994 Select org.make.api.technical.job.JobSerializers.progressedSerializer org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest JobSerializers.this.progressedSerializer
48 9027 2002 - 2020 Select org.make.api.technical.job.JobSerializers.finishedSerializer org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest JobSerializers.this.finishedSerializer