1 /*
2  * sys-emu - A system emulator for tutorials
3  * Copyright (C) 2018 - 2019 osdevelopment-info
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 published by
7  * the Free Software Foundation, either version 3 of the License, or
8  * (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 package info.osdevelopment.sysemu.rest
19 
20 import akka.http.scaladsl.model._
21 import akka.http.scaladsl.model.headers.{Location, `Content-Type`}
22 import akka.http.scaladsl.server.Directives._
23 import akka.http.scaladsl.server.Route
24 import info.osdevelopment.sysemu.model.{MessageModel, SysEmuJsonProtocol, SystemModel}
25 import info.osdevelopment.sysemu.system.SystemRepository
26 import io.swagger.v3.oas.annotations.enums.ParameterIn
27 import io.swagger.v3.oas.annotations.{Operation, Parameter}
28 import io.swagger.v3.oas.annotations.media.{ArraySchema, Content, Schema}
29 import io.swagger.v3.oas.annotations.responses.ApiResponse
30 import javax.ws.rs.{DELETE, GET, POST, Path}
31 import org.slf4j.{Logger, LoggerFactory}
32 import spray.json.{JsObject, JsString}
33 
34 @Path("/systems")
35 class RestSystemService(val systemRepository: SystemRepository) extends SysEmuJsonProtocol {
36 
37   val log: Logger = LoggerFactory getLogger classOf[RestSystemService]
38 
39   def route: Route = {
40     respondWithHeader(`Content-Type`(MediaTypes.`application/json`))
41     pathPrefix("system") {
42       getSystem ~
43       deleteSystem ~
44       getAllSystems ~
45       createSystem
46     }
47   }
48 
49   @GET
50   @Path("")
51   @Operation(
52     summary = "Get all systems",
53     description = "Return all systems available",
54     responses = Array(
55       new ApiResponse(
56         responseCode = "200",
57         description = "All systems",
58         content = Array(
59           new Content(
60             array = new ArraySchema(
61               schema = new Schema(implementation = classOf[SystemModel])
62             ),
63             mediaType = "application/json"
64           )
65         )
66       ),
67       new ApiResponse(
68         responseCode = "500",
69         description = "Internal server error"
70       )
71     )
72   )
73   def getAllSystems: Route = {
74     pathEndOrSingleSlash {
75       get {
76         complete(StatusCodes.OK ->
77           systemRepository.all()
78         )
79       }
80     }
81   }
82 
83   @POST
84   @Path("")
85   @Operation(
86     summary = "Create a new system",
87     description = "Create a new system and return the created UUID of the system",
88     responses = Array(
89       new ApiResponse(
90         responseCode = "201",
91         description = "System created",
92         content = Array(
93           new Content(
94             schema = new Schema(implementation = classOf[SystemModel]),
95             mediaType = "application/json"
96           )
97         )
98       ),
99       new ApiResponse(
100         responseCode = "500",
101         description = "Internal server error"
102       )
103     )
104   )
105   def createSystem: Route = {
106     pathEndOrSingleSlash {
107       post {
108         extractUri { uri =>
109           systemRepository.create() match {
110             case Some(system) =>
111               val uuidPath = "/" + system.uuid
112               complete(StatusCodes.Created,
113                 List(Location(uri.copy(path = uri.path + uuidPath))),
114                 system
115               )
116             case None =>
117               complete(StatusCodes.InternalServerError)
118           }
119         }
120       }
121     }
122   }
123 
124   @GET
125   @Path("/{uuid}")
126   @Operation(
127     summary = "Return a specific system",
128     description = "Search for the system specified by the UUID in the path and return it",
129     parameters = Array(
130       new Parameter(
131         in = ParameterIn.PATH,
132         name = "uuid",
133         schema = new Schema(
134           name = "uuid",
135           description = "The UUID of the system to retrieve",
136           `type` = "uuid",
137           format = "uuid",
138           example = "01234567-89ab-cdef-0123-456789abcdef"
139         )
140       )
141     ),
142     responses = Array(
143       new ApiResponse(
144         responseCode = "200",
145         description = "The system requested",
146         content = Array(
147           new Content(
148             schema = new Schema(implementation = classOf[SystemModel]),
149             mediaType = "application/json"
150           )
151         )
152       ),
153       new ApiResponse(
154         responseCode = "404",
155         description = "When the system with the given UUID cannot be found",
156         content = Array(
157           new Content(
158             schema = new Schema(implementation = classOf[MessageModel]),
159             mediaType = "application/json"
160           )
161         )
162       ),
163       new ApiResponse(
164         responseCode = "500",
165         description = "Internal server error"
166       )
167     )
168   )
169   def getSystem: Route = {
170     path(JavaUUID) { uuid =>
171       get {
172         systemRepository.byUUID(uuid) match {
173           case Some(system) =>
174             complete(StatusCodes.OK, system)
175           case None =>
176             complete(StatusCodes.NotFound, new MessageModel("No system with UUID " + uuid + " can be found."))
177         }
178       }
179     }
180   }
181 
182   @DELETE
183   @Path("/{uuid}")
184   @Operation(
185     summary = "Delete a specific system",
186     description = "Search for the system specified by the UUID in the path and delete it",
187     parameters = Array(
188       new Parameter(
189         in = ParameterIn.PATH,
190         name = "uuid",
191         schema = new Schema(
192           name = "uuid",
193           description = "The UUID of the system to delete",
194           `type` = "uuid",
195           format = "uuid",
196           example = "01234567-89ab-cdef-0123-456789abcdef"
197         )
198       )
199     ),
200     responses = Array(
201       new ApiResponse(
202         responseCode = "202",
203         description = "System deleted",
204         content = Array(
205           new Content(
206             schema = new Schema(implementation = classOf[MessageModel]),
207             mediaType = "application/json"
208           )
209         )
210       ),
211       new ApiResponse(
212         responseCode = "404",
213         description = "When the system with the given UUID cannot be found",
214         content = Array(
215           new Content(
216             schema = new Schema(implementation = classOf[MessageModel]),
217             mediaType = "application/json"
218           )
219         )
220       ),
221       new ApiResponse(
222         responseCode = "500",
223         description = "Internal server error"
224       )
225     )
226   )
227   def deleteSystem: Route = {
228     path(JavaUUID) { uuid =>
229       delete {
230         systemRepository.remove(uuid) match {
231           case Some(_) =>
232             complete(StatusCodes.Accepted, JsObject(("message", JsString("Removed system with UUID " + uuid + "."))))
233           case None =>
234             complete(StatusCodes.NotFound,new MessageModel("No system with UUID " + uuid + " can be found."))
235         }
236       }
237     }
238   }
239 
240 }
Line Stmt Id Pos Tree Symbol Code
37 587 1647 - 1697 Apply org.slf4j.LoggerFactory.getLogger org.slf4j.LoggerFactory.getLogger(classOf[info.osdevelopment.sysemu.rest.RestSystemService])
40 588 1759 - 1788 Select akka.http.scaladsl.model.MediaTypes.application/json akka.http.scaladsl.model.MediaTypes.application/json
40 591 1726 - 1790 Apply akka.http.scaladsl.server.directives.RespondWithDirectives.respondWithHeader akka.http.scaladsl.server.Directives.respondWithHeader(akka.http.scaladsl.model.headers.Content-Type.apply(model.this.ContentType.apply(akka.http.scaladsl.model.MediaTypes.application/json)))
40 590 1744 - 1789 Apply akka.http.scaladsl.model.headers.Content-Type.apply akka.http.scaladsl.model.headers.Content-Type.apply(model.this.ContentType.apply(akka.http.scaladsl.model.MediaTypes.application/json))
40 589 1759 - 1788 ApplyImplicitView akka.http.scaladsl.model.ContentType.apply model.this.ContentType.apply(akka.http.scaladsl.model.MediaTypes.application/json)
41 593 1795 - 1815 Apply akka.http.scaladsl.server.directives.PathDirectives.pathPrefix akka.http.scaladsl.server.Directives.pathPrefix[Unit](akka.http.scaladsl.server.Directives._segmentStringToPathMatcher("system"))
41 592 1806 - 1814 ApplyImplicitView akka.http.scaladsl.server.ImplicitPathMatcherConstruction._segmentStringToPathMatcher akka.http.scaladsl.server.Directives._segmentStringToPathMatcher("system")
41 601 1795 - 1903 Apply scala.Function1.apply server.this.Directive.addByNameNullaryApply(akka.http.scaladsl.server.Directives.pathPrefix[Unit](akka.http.scaladsl.server.Directives._segmentStringToPathMatcher("system"))).apply(akka.http.scaladsl.server.Directives._enhanceRouteWithConcatenation(akka.http.scaladsl.server.Directives._enhanceRouteWithConcatenation(akka.http.scaladsl.server.Directives._enhanceRouteWithConcatenation(RestSystemService.this.getSystem).~(RestSystemService.this.deleteSystem)).~(RestSystemService.this.getAllSystems)).~(RestSystemService.this.createSystem))
42 594 1824 - 1833 Select info.osdevelopment.sysemu.rest.RestSystemService.getSystem RestSystemService.this.getSystem
42 596 1824 - 1854 Apply akka.http.scaladsl.server.RouteConcatenation.RouteWithConcatenation.~ akka.http.scaladsl.server.Directives._enhanceRouteWithConcatenation(RestSystemService.this.getSystem).~(RestSystemService.this.deleteSystem)
43 595 1842 - 1854 Select info.osdevelopment.sysemu.rest.RestSystemService.deleteSystem RestSystemService.this.deleteSystem
43 598 1824 - 1876 Apply akka.http.scaladsl.server.RouteConcatenation.RouteWithConcatenation.~ akka.http.scaladsl.server.Directives._enhanceRouteWithConcatenation(akka.http.scaladsl.server.Directives._enhanceRouteWithConcatenation(RestSystemService.this.getSystem).~(RestSystemService.this.deleteSystem)).~(RestSystemService.this.getAllSystems)
44 600 1824 - 1897 Apply akka.http.scaladsl.server.RouteConcatenation.RouteWithConcatenation.~ akka.http.scaladsl.server.Directives._enhanceRouteWithConcatenation(akka.http.scaladsl.server.Directives._enhanceRouteWithConcatenation(akka.http.scaladsl.server.Directives._enhanceRouteWithConcatenation(RestSystemService.this.getSystem).~(RestSystemService.this.deleteSystem)).~(RestSystemService.this.getAllSystems)).~(RestSystemService.this.createSystem)
44 597 1863 - 1876 Select info.osdevelopment.sysemu.rest.RestSystemService.getAllSystems RestSystemService.this.getAllSystems
45 599 1885 - 1897 Select info.osdevelopment.sysemu.rest.RestSystemService.createSystem RestSystemService.this.createSystem
74 602 2537 - 2557 Select akka.http.scaladsl.server.directives.PathDirectives.pathEndOrSingleSlash akka.http.scaladsl.server.Directives.pathEndOrSingleSlash
74 616 2537 - 2663 Apply scala.Function1.apply server.this.Directive.addByNameNullaryApply(akka.http.scaladsl.server.Directives.pathEndOrSingleSlash).apply(server.this.Directive.addByNameNullaryApply(akka.http.scaladsl.server.Directives.get).apply(akka.http.scaladsl.server.Directives.complete(marshalling.this.ToResponseMarshallable.apply[(akka.http.scaladsl.model.StatusCodes.Success, Iterable[info.osdevelopment.sysemu.model.SystemModel])](scala.Predef.ArrowAssoc[akka.http.scaladsl.model.StatusCodes.Success](akka.http.scaladsl.model.StatusCodes.OK).->[Iterable[info.osdevelopment.sysemu.model.SystemModel]](RestSystemService.this.systemRepository.all()))(marshalling.this.Marshaller.fromStatusCodeAndValue[akka.http.scaladsl.model.StatusCodes.Success, Iterable[info.osdevelopment.sysemu.model.SystemModel]](scala.Predef.$conforms[akka.http.scaladsl.model.StatusCodes.Success], RestSystemService.this.sprayJsonMarshaller[Iterable[info.osdevelopment.sysemu.model.SystemModel]](RestSystemService.this.iterableFormat[info.osdevelopment.sysemu.model.SystemModel](RestSystemService.this.SystemJsonFormat), RestSystemService.this.sprayJsonMarshaller$default$2[Iterable[info.osdevelopment.sysemu.model.SystemModel]]))))))
75 603 2566 - 2569 Select akka.http.scaladsl.server.directives.MethodDirectives.get akka.http.scaladsl.server.Directives.get
75 615 2566 - 2657 Apply scala.Function1.apply server.this.Directive.addByNameNullaryApply(akka.http.scaladsl.server.Directives.get).apply(akka.http.scaladsl.server.Directives.complete(marshalling.this.ToResponseMarshallable.apply[(akka.http.scaladsl.model.StatusCodes.Success, Iterable[info.osdevelopment.sysemu.model.SystemModel])](scala.Predef.ArrowAssoc[akka.http.scaladsl.model.StatusCodes.Success](akka.http.scaladsl.model.StatusCodes.OK).->[Iterable[info.osdevelopment.sysemu.model.SystemModel]](RestSystemService.this.systemRepository.all()))(marshalling.this.Marshaller.fromStatusCodeAndValue[akka.http.scaladsl.model.StatusCodes.Success, Iterable[info.osdevelopment.sysemu.model.SystemModel]](scala.Predef.$conforms[akka.http.scaladsl.model.StatusCodes.Success], RestSystemService.this.sprayJsonMarshaller[Iterable[info.osdevelopment.sysemu.model.SystemModel]](RestSystemService.this.iterableFormat[info.osdevelopment.sysemu.model.SystemModel](RestSystemService.this.SystemJsonFormat), RestSystemService.this.sprayJsonMarshaller$default$2[Iterable[info.osdevelopment.sysemu.model.SystemModel]])))))
76 609 2604 - 2604 ApplyToImplicitArgs spray.json.CollectionFormats.iterableFormat RestSystemService.this.iterableFormat[info.osdevelopment.sysemu.model.SystemModel](RestSystemService.this.SystemJsonFormat)
76 612 2604 - 2604 ApplyToImplicitArgs akka.http.scaladsl.marshalling.PredefinedToResponseMarshallers.fromStatusCodeAndValue marshalling.this.Marshaller.fromStatusCodeAndValue[akka.http.scaladsl.model.StatusCodes.Success, Iterable[info.osdevelopment.sysemu.model.SystemModel]](scala.Predef.$conforms[akka.http.scaladsl.model.StatusCodes.Success], RestSystemService.this.sprayJsonMarshaller[Iterable[info.osdevelopment.sysemu.model.SystemModel]](RestSystemService.this.iterableFormat[info.osdevelopment.sysemu.model.SystemModel](RestSystemService.this.SystemJsonFormat), RestSystemService.this.sprayJsonMarshaller$default$2[Iterable[info.osdevelopment.sysemu.model.SystemModel]]))
76 606 2589 - 2639 Apply scala.Predef.ArrowAssoc.-> scala.Predef.ArrowAssoc[akka.http.scaladsl.model.StatusCodes.Success](akka.http.scaladsl.model.StatusCodes.OK).->[Iterable[info.osdevelopment.sysemu.model.SystemModel]](RestSystemService.this.systemRepository.all())
76 608 2604 - 2604 Select info.osdevelopment.sysemu.model.SysEmuJsonProtocol.SystemJsonFormat RestSystemService.this.SystemJsonFormat
76 611 2604 - 2604 ApplyToImplicitArgs akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport.sprayJsonMarshaller RestSystemService.this.sprayJsonMarshaller[Iterable[info.osdevelopment.sysemu.model.SystemModel]](RestSystemService.this.iterableFormat[info.osdevelopment.sysemu.model.SystemModel](RestSystemService.this.SystemJsonFormat), RestSystemService.this.sprayJsonMarshaller$default$2[Iterable[info.osdevelopment.sysemu.model.SystemModel]])
76 614 2580 - 2649 Apply akka.http.scaladsl.server.directives.RouteDirectives.complete akka.http.scaladsl.server.Directives.complete(marshalling.this.ToResponseMarshallable.apply[(akka.http.scaladsl.model.StatusCodes.Success, Iterable[info.osdevelopment.sysemu.model.SystemModel])](scala.Predef.ArrowAssoc[akka.http.scaladsl.model.StatusCodes.Success](akka.http.scaladsl.model.StatusCodes.OK).->[Iterable[info.osdevelopment.sysemu.model.SystemModel]](RestSystemService.this.systemRepository.all()))(marshalling.this.Marshaller.fromStatusCodeAndValue[akka.http.scaladsl.model.StatusCodes.Success, Iterable[info.osdevelopment.sysemu.model.SystemModel]](scala.Predef.$conforms[akka.http.scaladsl.model.StatusCodes.Success], RestSystemService.this.sprayJsonMarshaller[Iterable[info.osdevelopment.sysemu.model.SystemModel]](RestSystemService.this.iterableFormat[info.osdevelopment.sysemu.model.SystemModel](RestSystemService.this.SystemJsonFormat), RestSystemService.this.sprayJsonMarshaller$default$2[Iterable[info.osdevelopment.sysemu.model.SystemModel]]))))
76 604 2589 - 2603 Select akka.http.scaladsl.model.StatusCodes.OK akka.http.scaladsl.model.StatusCodes.OK
76 613 2589 - 2639 ApplyToImplicitArgs akka.http.scaladsl.marshalling.ToResponseMarshallable.apply marshalling.this.ToResponseMarshallable.apply[(akka.http.scaladsl.model.StatusCodes.Success, Iterable[info.osdevelopment.sysemu.model.SystemModel])](scala.Predef.ArrowAssoc[akka.http.scaladsl.model.StatusCodes.Success](akka.http.scaladsl.model.StatusCodes.OK).->[Iterable[info.osdevelopment.sysemu.model.SystemModel]](RestSystemService.this.systemRepository.all()))(marshalling.this.Marshaller.fromStatusCodeAndValue[akka.http.scaladsl.model.StatusCodes.Success, Iterable[info.osdevelopment.sysemu.model.SystemModel]](scala.Predef.$conforms[akka.http.scaladsl.model.StatusCodes.Success], RestSystemService.this.sprayJsonMarshaller[Iterable[info.osdevelopment.sysemu.model.SystemModel]](RestSystemService.this.iterableFormat[info.osdevelopment.sysemu.model.SystemModel](RestSystemService.this.SystemJsonFormat), RestSystemService.this.sprayJsonMarshaller$default$2[Iterable[info.osdevelopment.sysemu.model.SystemModel]])))
76 607 2604 - 2604 TypeApply scala.Predef.$conforms scala.Predef.$conforms[akka.http.scaladsl.model.StatusCodes.Success]
76 610 2604 - 2604 TypeApply akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport.sprayJsonMarshaller$default$2 RestSystemService.this.sprayJsonMarshaller$default$2[Iterable[info.osdevelopment.sysemu.model.SystemModel]]
77 605 2617 - 2639 Apply info.osdevelopment.sysemu.system.SystemRepository.all RestSystemService.this.systemRepository.all()
106 617 3284 - 3304 Select akka.http.scaladsl.server.directives.PathDirectives.pathEndOrSingleSlash akka.http.scaladsl.server.Directives.pathEndOrSingleSlash
106 647 3284 - 3741 Apply scala.Function1.apply server.this.Directive.addByNameNullaryApply(akka.http.scaladsl.server.Directives.pathEndOrSingleSlash).apply(server.this.Directive.addByNameNullaryApply(akka.http.scaladsl.server.Directives.post).apply(server.this.Directive.addDirectiveApply[(akka.http.scaladsl.model.Uri,)](akka.http.scaladsl.server.Directives.extractUri)(util.this.ApplyConverter.hac1[akka.http.scaladsl.model.Uri]).apply(((uri: akka.http.scaladsl.model.Uri) => RestSystemService.this.systemRepository.create() match { case (value: info.osdevelopment.sysemu.model.SystemModel)Some[info.osdevelopment.sysemu.model.SystemModel]((system @ _)) => { val uuidPath: String = "/".+(system.uuid); akka.http.scaladsl.server.Directives.complete(marshalling.this.ToResponseMarshallable.apply[(akka.http.scaladsl.model.StatusCodes.Success, List[akka.http.scaladsl.model.headers.Location], info.osdevelopment.sysemu.model.SystemModel)](scala.Tuple3.apply[akka.http.scaladsl.model.StatusCodes.Success, List[akka.http.scaladsl.model.headers.Location], info.osdevelopment.sysemu.model.SystemModel](akka.http.scaladsl.model.StatusCodes.Created, scala.collection.immutable.List.apply[akka.http.scaladsl.model.headers.Location](akka.http.scaladsl.model.headers.Location.apply({ <artifact> val x$1: akka.http.scaladsl.model.Uri.Path = uri.path.+(uuidPath); <artifact> val x$2: String = uri.copy$default$1; <artifact> val x$3: akka.http.scaladsl.model.Uri.Authority = uri.copy$default$2; <artifact> val x$4: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = uri.copy$default$4; <artifact> val x$5: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = uri.copy$default$5; uri.copy(x$2, x$3, x$1, x$4, x$5) })), system))(marshalling.this.Marshaller.fromStatusCodeAndHeadersAndValue[info.osdevelopment.sysemu.model.SystemModel](RestSystemService.this.sprayJsonMarshaller[info.osdevelopment.sysemu.model.SystemModel](RestSystemService.this.SystemJsonFormat, RestSystemService.this.sprayJsonMarshaller$default$2[info.osdevelopment.sysemu.model.SystemModel])))) } case scala.None => akka.http.scaladsl.server.Directives.complete(marshalling.this.ToResponseMarshallable.apply[akka.http.scaladsl.model.StatusCodes.ServerError](akka.http.scaladsl.model.StatusCodes.InternalServerError)(marshalling.this.Marshaller.fromStatusCode)) }))))
107 618 3313 - 3317 Select akka.http.scaladsl.server.directives.MethodDirectives.post akka.http.scaladsl.server.Directives.post
107 646 3313 - 3735 Apply scala.Function1.apply server.this.Directive.addByNameNullaryApply(akka.http.scaladsl.server.Directives.post).apply(server.this.Directive.addDirectiveApply[(akka.http.scaladsl.model.Uri,)](akka.http.scaladsl.server.Directives.extractUri)(util.this.ApplyConverter.hac1[akka.http.scaladsl.model.Uri]).apply(((uri: akka.http.scaladsl.model.Uri) => RestSystemService.this.systemRepository.create() match { case (value: info.osdevelopment.sysemu.model.SystemModel)Some[info.osdevelopment.sysemu.model.SystemModel]((system @ _)) => { val uuidPath: String = "/".+(system.uuid); akka.http.scaladsl.server.Directives.complete(marshalling.this.ToResponseMarshallable.apply[(akka.http.scaladsl.model.StatusCodes.Success, List[akka.http.scaladsl.model.headers.Location], info.osdevelopment.sysemu.model.SystemModel)](scala.Tuple3.apply[akka.http.scaladsl.model.StatusCodes.Success, List[akka.http.scaladsl.model.headers.Location], info.osdevelopment.sysemu.model.SystemModel](akka.http.scaladsl.model.StatusCodes.Created, scala.collection.immutable.List.apply[akka.http.scaladsl.model.headers.Location](akka.http.scaladsl.model.headers.Location.apply({ <artifact> val x$1: akka.http.scaladsl.model.Uri.Path = uri.path.+(uuidPath); <artifact> val x$2: String = uri.copy$default$1; <artifact> val x$3: akka.http.scaladsl.model.Uri.Authority = uri.copy$default$2; <artifact> val x$4: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = uri.copy$default$4; <artifact> val x$5: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = uri.copy$default$5; uri.copy(x$2, x$3, x$1, x$4, x$5) })), system))(marshalling.this.Marshaller.fromStatusCodeAndHeadersAndValue[info.osdevelopment.sysemu.model.SystemModel](RestSystemService.this.sprayJsonMarshaller[info.osdevelopment.sysemu.model.SystemModel](RestSystemService.this.SystemJsonFormat, RestSystemService.this.sprayJsonMarshaller$default$2[info.osdevelopment.sysemu.model.SystemModel])))) } case scala.None => akka.http.scaladsl.server.Directives.complete(marshalling.this.ToResponseMarshallable.apply[akka.http.scaladsl.model.StatusCodes.ServerError](akka.http.scaladsl.model.StatusCodes.InternalServerError)(marshalling.this.Marshaller.fromStatusCode)) })))
108 645 3328 - 3727 Apply scala.Function1.apply server.this.Directive.addDirectiveApply[(akka.http.scaladsl.model.Uri,)](akka.http.scaladsl.server.Directives.extractUri)(util.this.ApplyConverter.hac1[akka.http.scaladsl.model.Uri]).apply(((uri: akka.http.scaladsl.model.Uri) => RestSystemService.this.systemRepository.create() match { case (value: info.osdevelopment.sysemu.model.SystemModel)Some[info.osdevelopment.sysemu.model.SystemModel]((system @ _)) => { val uuidPath: String = "/".+(system.uuid); akka.http.scaladsl.server.Directives.complete(marshalling.this.ToResponseMarshallable.apply[(akka.http.scaladsl.model.StatusCodes.Success, List[akka.http.scaladsl.model.headers.Location], info.osdevelopment.sysemu.model.SystemModel)](scala.Tuple3.apply[akka.http.scaladsl.model.StatusCodes.Success, List[akka.http.scaladsl.model.headers.Location], info.osdevelopment.sysemu.model.SystemModel](akka.http.scaladsl.model.StatusCodes.Created, scala.collection.immutable.List.apply[akka.http.scaladsl.model.headers.Location](akka.http.scaladsl.model.headers.Location.apply({ <artifact> val x$1: akka.http.scaladsl.model.Uri.Path = uri.path.+(uuidPath); <artifact> val x$2: String = uri.copy$default$1; <artifact> val x$3: akka.http.scaladsl.model.Uri.Authority = uri.copy$default$2; <artifact> val x$4: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = uri.copy$default$4; <artifact> val x$5: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = uri.copy$default$5; uri.copy(x$2, x$3, x$1, x$4, x$5) })), system))(marshalling.this.Marshaller.fromStatusCodeAndHeadersAndValue[info.osdevelopment.sysemu.model.SystemModel](RestSystemService.this.sprayJsonMarshaller[info.osdevelopment.sysemu.model.SystemModel](RestSystemService.this.SystemJsonFormat, RestSystemService.this.sprayJsonMarshaller$default$2[info.osdevelopment.sysemu.model.SystemModel])))) } case scala.None => akka.http.scaladsl.server.Directives.complete(marshalling.this.ToResponseMarshallable.apply[akka.http.scaladsl.model.StatusCodes.ServerError](akka.http.scaladsl.model.StatusCodes.InternalServerError)(marshalling.this.Marshaller.fromStatusCode)) }))
108 620 3328 - 3328 TypeApply akka.http.scaladsl.server.util.ApplyConverterInstances.hac1 util.this.ApplyConverter.hac1[akka.http.scaladsl.model.Uri]
108 619 3328 - 3338 Select akka.http.scaladsl.server.directives.BasicDirectives.extractUri akka.http.scaladsl.server.Directives.extractUri
109 621 3358 - 3383 Apply info.osdevelopment.sysemu.system.SystemRepository.create RestSystemService.this.systemRepository.create()
111 624 3454 - 3471 Apply java.lang.String.+ "/".+(system.uuid)
111 623 3460 - 3471 Select info.osdevelopment.sysemu.model.SystemModel.uuid system.uuid
111 622 3454 - 3457 Literal <nosymbol> "/"
112 636 3494 - 3494 TypeApply akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport.sprayJsonMarshaller$default$2 RestSystemService.this.sprayJsonMarshaller$default$2[info.osdevelopment.sysemu.model.SystemModel]
112 639 3486 - 3624 ApplyToImplicitArgs akka.http.scaladsl.marshalling.ToResponseMarshallable.apply marshalling.this.ToResponseMarshallable.apply[(akka.http.scaladsl.model.StatusCodes.Success, List[akka.http.scaladsl.model.headers.Location], info.osdevelopment.sysemu.model.SystemModel)](scala.Tuple3.apply[akka.http.scaladsl.model.StatusCodes.Success, List[akka.http.scaladsl.model.headers.Location], info.osdevelopment.sysemu.model.SystemModel](akka.http.scaladsl.model.StatusCodes.Created, scala.collection.immutable.List.apply[akka.http.scaladsl.model.headers.Location](akka.http.scaladsl.model.headers.Location.apply({ <artifact> val x$1: akka.http.scaladsl.model.Uri.Path = uri.path.+(uuidPath); <artifact> val x$2: String = uri.copy$default$1; <artifact> val x$3: akka.http.scaladsl.model.Uri.Authority = uri.copy$default$2; <artifact> val x$4: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = uri.copy$default$4; <artifact> val x$5: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = uri.copy$default$5; uri.copy(x$2, x$3, x$1, x$4, x$5) })), system))(marshalling.this.Marshaller.fromStatusCodeAndHeadersAndValue[info.osdevelopment.sysemu.model.SystemModel](RestSystemService.this.sprayJsonMarshaller[info.osdevelopment.sysemu.model.SystemModel](RestSystemService.this.SystemJsonFormat, RestSystemService.this.sprayJsonMarshaller$default$2[info.osdevelopment.sysemu.model.SystemModel])))
112 635 3494 - 3494 Select info.osdevelopment.sysemu.model.SysEmuJsonProtocol.SystemJsonFormat RestSystemService.this.SystemJsonFormat
112 638 3494 - 3494 ApplyToImplicitArgs akka.http.scaladsl.marshalling.PredefinedToResponseMarshallers.fromStatusCodeAndHeadersAndValue marshalling.this.Marshaller.fromStatusCodeAndHeadersAndValue[info.osdevelopment.sysemu.model.SystemModel](RestSystemService.this.sprayJsonMarshaller[info.osdevelopment.sysemu.model.SystemModel](RestSystemService.this.SystemJsonFormat, RestSystemService.this.sprayJsonMarshaller$default$2[info.osdevelopment.sysemu.model.SystemModel]))
112 640 3486 - 3624 Apply akka.http.scaladsl.server.directives.RouteDirectives.complete akka.http.scaladsl.server.Directives.complete(marshalling.this.ToResponseMarshallable.apply[(akka.http.scaladsl.model.StatusCodes.Success, List[akka.http.scaladsl.model.headers.Location], info.osdevelopment.sysemu.model.SystemModel)](scala.Tuple3.apply[akka.http.scaladsl.model.StatusCodes.Success, List[akka.http.scaladsl.model.headers.Location], info.osdevelopment.sysemu.model.SystemModel](akka.http.scaladsl.model.StatusCodes.Created, scala.collection.immutable.List.apply[akka.http.scaladsl.model.headers.Location](akka.http.scaladsl.model.headers.Location.apply({ <artifact> val x$1: akka.http.scaladsl.model.Uri.Path = uri.path.+(uuidPath); <artifact> val x$2: String = uri.copy$default$1; <artifact> val x$3: akka.http.scaladsl.model.Uri.Authority = uri.copy$default$2; <artifact> val x$4: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = uri.copy$default$4; <artifact> val x$5: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = uri.copy$default$5; uri.copy(x$2, x$3, x$1, x$4, x$5) })), system))(marshalling.this.Marshaller.fromStatusCodeAndHeadersAndValue[info.osdevelopment.sysemu.model.SystemModel](RestSystemService.this.sprayJsonMarshaller[info.osdevelopment.sysemu.model.SystemModel](RestSystemService.this.SystemJsonFormat, RestSystemService.this.sprayJsonMarshaller$default$2[info.osdevelopment.sysemu.model.SystemModel]))))
112 634 3486 - 3624 Apply scala.Tuple3.apply scala.Tuple3.apply[akka.http.scaladsl.model.StatusCodes.Success, List[akka.http.scaladsl.model.headers.Location], info.osdevelopment.sysemu.model.SystemModel](akka.http.scaladsl.model.StatusCodes.Created, scala.collection.immutable.List.apply[akka.http.scaladsl.model.headers.Location](akka.http.scaladsl.model.headers.Location.apply({ <artifact> val x$1: akka.http.scaladsl.model.Uri.Path = uri.path.+(uuidPath); <artifact> val x$2: String = uri.copy$default$1; <artifact> val x$3: akka.http.scaladsl.model.Uri.Authority = uri.copy$default$2; <artifact> val x$4: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = uri.copy$default$4; <artifact> val x$5: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = uri.copy$default$5; uri.copy(x$2, x$3, x$1, x$4, x$5) })), system)
112 625 3495 - 3514 Select akka.http.scaladsl.model.StatusCodes.Created akka.http.scaladsl.model.StatusCodes.Created
112 637 3494 - 3494 ApplyToImplicitArgs akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport.sprayJsonMarshaller RestSystemService.this.sprayJsonMarshaller[info.osdevelopment.sysemu.model.SystemModel](RestSystemService.this.SystemJsonFormat, RestSystemService.this.sprayJsonMarshaller$default$2[info.osdevelopment.sysemu.model.SystemModel])
113 627 3550 - 3550 Select akka.http.scaladsl.model.Uri.copy$default$1 uri.copy$default$1
113 630 3550 - 3550 Select akka.http.scaladsl.model.Uri.copy$default$5 uri.copy$default$5
113 633 3532 - 3584 Apply scala.collection.IterableFactory.apply scala.collection.immutable.List.apply[akka.http.scaladsl.model.headers.Location](akka.http.scaladsl.model.headers.Location.apply({ <artifact> val x$1: akka.http.scaladsl.model.Uri.Path = uri.path.+(uuidPath); <artifact> val x$2: String = uri.copy$default$1; <artifact> val x$3: akka.http.scaladsl.model.Uri.Authority = uri.copy$default$2; <artifact> val x$4: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = uri.copy$default$4; <artifact> val x$5: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = uri.copy$default$5; uri.copy(x$2, x$3, x$1, x$4, x$5) }))
113 632 3537 - 3583 Apply akka.http.scaladsl.model.headers.Location.apply akka.http.scaladsl.model.headers.Location.apply({ <artifact> val x$1: akka.http.scaladsl.model.Uri.Path = uri.path.+(uuidPath); <artifact> val x$2: String = uri.copy$default$1; <artifact> val x$3: akka.http.scaladsl.model.Uri.Authority = uri.copy$default$2; <artifact> val x$4: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = uri.copy$default$4; <artifact> val x$5: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = uri.copy$default$5; uri.copy(x$2, x$3, x$1, x$4, x$5) })
113 626 3562 - 3581 Apply akka.http.scaladsl.model.Uri.Path.+ uri.path.+(uuidPath)
113 629 3550 - 3550 Select akka.http.scaladsl.model.Uri.copy$default$4 uri.copy$default$4
113 631 3546 - 3582 Apply akka.http.scaladsl.model.Uri.copy uri.copy(x$2, x$3, x$1, x$4, x$5)
113 628 3550 - 3550 Select akka.http.scaladsl.model.Uri.copy$default$2 uri.copy$default$2
117 642 3685 - 3685 Select akka.http.scaladsl.marshalling.PredefinedToResponseMarshallers.fromStatusCode marshalling.this.Marshaller.fromStatusCode
117 641 3673 - 3704 Select akka.http.scaladsl.model.StatusCodes.InternalServerError akka.http.scaladsl.model.StatusCodes.InternalServerError
117 644 3664 - 3705 Apply akka.http.scaladsl.server.directives.RouteDirectives.complete akka.http.scaladsl.server.Directives.complete(marshalling.this.ToResponseMarshallable.apply[akka.http.scaladsl.model.StatusCodes.ServerError](akka.http.scaladsl.model.StatusCodes.InternalServerError)(marshalling.this.Marshaller.fromStatusCode))
117 643 3673 - 3704 ApplyToImplicitArgs akka.http.scaladsl.marshalling.ToResponseMarshallable.apply marshalling.this.ToResponseMarshallable.apply[akka.http.scaladsl.model.StatusCodes.ServerError](akka.http.scaladsl.model.StatusCodes.InternalServerError)(marshalling.this.Marshaller.fromStatusCode)
170 648 5067 - 5075 Select akka.http.scaladsl.server.PathMatchers.JavaUUID akka.http.scaladsl.server.Directives.JavaUUID
170 650 5066 - 5066 TypeApply akka.http.scaladsl.server.util.ApplyConverterInstances.hac1 util.this.ApplyConverter.hac1[java.util.UUID]
170 674 5062 - 5378 Apply scala.Function1.apply server.this.Directive.addDirectiveApply[(java.util.UUID,)](akka.http.scaladsl.server.Directives.path[(java.util.UUID,)](akka.http.scaladsl.server.Directives.JavaUUID))(util.this.ApplyConverter.hac1[java.util.UUID]).apply(((uuid: java.util.UUID) => server.this.Directive.addByNameNullaryApply(akka.http.scaladsl.server.Directives.get).apply(RestSystemService.this.systemRepository.byUUID(uuid) match { case (value: info.osdevelopment.sysemu.model.SystemModel)Some[info.osdevelopment.sysemu.model.SystemModel]((system @ _)) => akka.http.scaladsl.server.Directives.complete(marshalling.this.ToResponseMarshallable.apply[(akka.http.scaladsl.model.StatusCodes.Success, info.osdevelopment.sysemu.model.SystemModel)](scala.Tuple2.apply[akka.http.scaladsl.model.StatusCodes.Success, info.osdevelopment.sysemu.model.SystemModel](akka.http.scaladsl.model.StatusCodes.OK, system))(marshalling.this.Marshaller.fromStatusCodeAndValue[akka.http.scaladsl.model.StatusCodes.Success, info.osdevelopment.sysemu.model.SystemModel](scala.Predef.$conforms[akka.http.scaladsl.model.StatusCodes.Success], RestSystemService.this.sprayJsonMarshaller[info.osdevelopment.sysemu.model.SystemModel](RestSystemService.this.SystemJsonFormat, RestSystemService.this.sprayJsonMarshaller$default$2[info.osdevelopment.sysemu.model.SystemModel])))) case scala.None => akka.http.scaladsl.server.Directives.complete(marshalling.this.ToResponseMarshallable.apply[(akka.http.scaladsl.model.StatusCodes.ClientError, info.osdevelopment.sysemu.model.MessageModel)](scala.Tuple2.apply[akka.http.scaladsl.model.StatusCodes.ClientError, info.osdevelopment.sysemu.model.MessageModel](akka.http.scaladsl.model.StatusCodes.NotFound, new info.osdevelopment.sysemu.model.MessageModel("No system with UUID ".+(uuid).+(" can be found."))))(marshalling.this.Marshaller.fromStatusCodeAndValue[akka.http.scaladsl.model.StatusCodes.ClientError, info.osdevelopment.sysemu.model.MessageModel](scala.Predef.$conforms[akka.http.scaladsl.model.StatusCodes.ClientError], RestSystemService.this.sprayJsonMarshaller[info.osdevelopment.sysemu.model.MessageModel](RestSystemService.this.MessageJsonFormat, RestSystemService.this.sprayJsonMarshaller$default$2[info.osdevelopment.sysemu.model.MessageModel])))) })))
170 649 5062 - 5076 Apply akka.http.scaladsl.server.directives.PathDirectives.path akka.http.scaladsl.server.Directives.path[(java.util.UUID,)](akka.http.scaladsl.server.Directives.JavaUUID)
171 651 5093 - 5096 Select akka.http.scaladsl.server.directives.MethodDirectives.get akka.http.scaladsl.server.Directives.get
171 673 5093 - 5372 Apply scala.Function1.apply server.this.Directive.addByNameNullaryApply(akka.http.scaladsl.server.Directives.get).apply(RestSystemService.this.systemRepository.byUUID(uuid) match { case (value: info.osdevelopment.sysemu.model.SystemModel)Some[info.osdevelopment.sysemu.model.SystemModel]((system @ _)) => akka.http.scaladsl.server.Directives.complete(marshalling.this.ToResponseMarshallable.apply[(akka.http.scaladsl.model.StatusCodes.Success, info.osdevelopment.sysemu.model.SystemModel)](scala.Tuple2.apply[akka.http.scaladsl.model.StatusCodes.Success, info.osdevelopment.sysemu.model.SystemModel](akka.http.scaladsl.model.StatusCodes.OK, system))(marshalling.this.Marshaller.fromStatusCodeAndValue[akka.http.scaladsl.model.StatusCodes.Success, info.osdevelopment.sysemu.model.SystemModel](scala.Predef.$conforms[akka.http.scaladsl.model.StatusCodes.Success], RestSystemService.this.sprayJsonMarshaller[info.osdevelopment.sysemu.model.SystemModel](RestSystemService.this.SystemJsonFormat, RestSystemService.this.sprayJsonMarshaller$default$2[info.osdevelopment.sysemu.model.SystemModel])))) case scala.None => akka.http.scaladsl.server.Directives.complete(marshalling.this.ToResponseMarshallable.apply[(akka.http.scaladsl.model.StatusCodes.ClientError, info.osdevelopment.sysemu.model.MessageModel)](scala.Tuple2.apply[akka.http.scaladsl.model.StatusCodes.ClientError, info.osdevelopment.sysemu.model.MessageModel](akka.http.scaladsl.model.StatusCodes.NotFound, new info.osdevelopment.sysemu.model.MessageModel("No system with UUID ".+(uuid).+(" can be found."))))(marshalling.this.Marshaller.fromStatusCodeAndValue[akka.http.scaladsl.model.StatusCodes.ClientError, info.osdevelopment.sysemu.model.MessageModel](scala.Predef.$conforms[akka.http.scaladsl.model.StatusCodes.ClientError], RestSystemService.this.sprayJsonMarshaller[info.osdevelopment.sysemu.model.MessageModel](RestSystemService.this.MessageJsonFormat, RestSystemService.this.sprayJsonMarshaller$default$2[info.osdevelopment.sysemu.model.MessageModel])))) })
172 652 5107 - 5136 Apply info.osdevelopment.sysemu.system.SystemRepository.byUUID RestSystemService.this.systemRepository.byUUID(uuid)
174 660 5188 - 5220 ApplyToImplicitArgs akka.http.scaladsl.marshalling.ToResponseMarshallable.apply marshalling.this.ToResponseMarshallable.apply[(akka.http.scaladsl.model.StatusCodes.Success, info.osdevelopment.sysemu.model.SystemModel)](scala.Tuple2.apply[akka.http.scaladsl.model.StatusCodes.Success, info.osdevelopment.sysemu.model.SystemModel](akka.http.scaladsl.model.StatusCodes.OK, system))(marshalling.this.Marshaller.fromStatusCodeAndValue[akka.http.scaladsl.model.StatusCodes.Success, info.osdevelopment.sysemu.model.SystemModel](scala.Predef.$conforms[akka.http.scaladsl.model.StatusCodes.Success], RestSystemService.this.sprayJsonMarshaller[info.osdevelopment.sysemu.model.SystemModel](RestSystemService.this.SystemJsonFormat, RestSystemService.this.sprayJsonMarshaller$default$2[info.osdevelopment.sysemu.model.SystemModel])))
174 654 5188 - 5220 Apply scala.Tuple2.apply scala.Tuple2.apply[akka.http.scaladsl.model.StatusCodes.Success, info.osdevelopment.sysemu.model.SystemModel](akka.http.scaladsl.model.StatusCodes.OK, system)
174 657 5196 - 5196 TypeApply akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport.sprayJsonMarshaller$default$2 RestSystemService.this.sprayJsonMarshaller$default$2[info.osdevelopment.sysemu.model.SystemModel]
174 659 5196 - 5196 ApplyToImplicitArgs akka.http.scaladsl.marshalling.PredefinedToResponseMarshallers.fromStatusCodeAndValue marshalling.this.Marshaller.fromStatusCodeAndValue[akka.http.scaladsl.model.StatusCodes.Success, info.osdevelopment.sysemu.model.SystemModel](scala.Predef.$conforms[akka.http.scaladsl.model.StatusCodes.Success], RestSystemService.this.sprayJsonMarshaller[info.osdevelopment.sysemu.model.SystemModel](RestSystemService.this.SystemJsonFormat, RestSystemService.this.sprayJsonMarshaller$default$2[info.osdevelopment.sysemu.model.SystemModel]))
174 653 5197 - 5211 Select akka.http.scaladsl.model.StatusCodes.OK akka.http.scaladsl.model.StatusCodes.OK
174 656 5196 - 5196 Select info.osdevelopment.sysemu.model.SysEmuJsonProtocol.SystemJsonFormat RestSystemService.this.SystemJsonFormat
174 655 5196 - 5196 TypeApply scala.Predef.$conforms scala.Predef.$conforms[akka.http.scaladsl.model.StatusCodes.Success]
174 658 5196 - 5196 ApplyToImplicitArgs akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport.sprayJsonMarshaller RestSystemService.this.sprayJsonMarshaller[info.osdevelopment.sysemu.model.SystemModel](RestSystemService.this.SystemJsonFormat, RestSystemService.this.sprayJsonMarshaller$default$2[info.osdevelopment.sysemu.model.SystemModel])
174 661 5188 - 5220 Apply akka.http.scaladsl.server.directives.RouteDirectives.complete akka.http.scaladsl.server.Directives.complete(marshalling.this.ToResponseMarshallable.apply[(akka.http.scaladsl.model.StatusCodes.Success, info.osdevelopment.sysemu.model.SystemModel)](scala.Tuple2.apply[akka.http.scaladsl.model.StatusCodes.Success, info.osdevelopment.sysemu.model.SystemModel](akka.http.scaladsl.model.StatusCodes.OK, system))(marshalling.this.Marshaller.fromStatusCodeAndValue[akka.http.scaladsl.model.StatusCodes.Success, info.osdevelopment.sysemu.model.SystemModel](scala.Predef.$conforms[akka.http.scaladsl.model.StatusCodes.Success], RestSystemService.this.sprayJsonMarshaller[info.osdevelopment.sysemu.model.SystemModel](RestSystemService.this.SystemJsonFormat, RestSystemService.this.sprayJsonMarshaller$default$2[info.osdevelopment.sysemu.model.SystemModel]))))
176 669 5264 - 5264 ApplyToImplicitArgs akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport.sprayJsonMarshaller RestSystemService.this.sprayJsonMarshaller[info.osdevelopment.sysemu.model.MessageModel](RestSystemService.this.MessageJsonFormat, RestSystemService.this.sprayJsonMarshaller$default$2[info.osdevelopment.sysemu.model.MessageModel])
176 672 5256 - 5354 Apply akka.http.scaladsl.server.directives.RouteDirectives.complete akka.http.scaladsl.server.Directives.complete(marshalling.this.ToResponseMarshallable.apply[(akka.http.scaladsl.model.StatusCodes.ClientError, info.osdevelopment.sysemu.model.MessageModel)](scala.Tuple2.apply[akka.http.scaladsl.model.StatusCodes.ClientError, info.osdevelopment.sysemu.model.MessageModel](akka.http.scaladsl.model.StatusCodes.NotFound, new info.osdevelopment.sysemu.model.MessageModel("No system with UUID ".+(uuid).+(" can be found."))))(marshalling.this.Marshaller.fromStatusCodeAndValue[akka.http.scaladsl.model.StatusCodes.ClientError, info.osdevelopment.sysemu.model.MessageModel](scala.Predef.$conforms[akka.http.scaladsl.model.StatusCodes.ClientError], RestSystemService.this.sprayJsonMarshaller[info.osdevelopment.sysemu.model.MessageModel](RestSystemService.this.MessageJsonFormat, RestSystemService.this.sprayJsonMarshaller$default$2[info.osdevelopment.sysemu.model.MessageModel]))))
176 663 5304 - 5352 Apply java.lang.String.+ "No system with UUID ".+(uuid).+(" can be found.")
176 666 5264 - 5264 TypeApply scala.Predef.$conforms scala.Predef.$conforms[akka.http.scaladsl.model.StatusCodes.ClientError]
176 668 5264 - 5264 TypeApply akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport.sprayJsonMarshaller$default$2 RestSystemService.this.sprayJsonMarshaller$default$2[info.osdevelopment.sysemu.model.MessageModel]
176 671 5256 - 5354 ApplyToImplicitArgs akka.http.scaladsl.marshalling.ToResponseMarshallable.apply marshalling.this.ToResponseMarshallable.apply[(akka.http.scaladsl.model.StatusCodes.ClientError, info.osdevelopment.sysemu.model.MessageModel)](scala.Tuple2.apply[akka.http.scaladsl.model.StatusCodes.ClientError, info.osdevelopment.sysemu.model.MessageModel](akka.http.scaladsl.model.StatusCodes.NotFound, new info.osdevelopment.sysemu.model.MessageModel("No system with UUID ".+(uuid).+(" can be found."))))(marshalling.this.Marshaller.fromStatusCodeAndValue[akka.http.scaladsl.model.StatusCodes.ClientError, info.osdevelopment.sysemu.model.MessageModel](scala.Predef.$conforms[akka.http.scaladsl.model.StatusCodes.ClientError], RestSystemService.this.sprayJsonMarshaller[info.osdevelopment.sysemu.model.MessageModel](RestSystemService.this.MessageJsonFormat, RestSystemService.this.sprayJsonMarshaller$default$2[info.osdevelopment.sysemu.model.MessageModel])))
176 662 5265 - 5285 Select akka.http.scaladsl.model.StatusCodes.NotFound akka.http.scaladsl.model.StatusCodes.NotFound
176 665 5256 - 5354 Apply scala.Tuple2.apply scala.Tuple2.apply[akka.http.scaladsl.model.StatusCodes.ClientError, info.osdevelopment.sysemu.model.MessageModel](akka.http.scaladsl.model.StatusCodes.NotFound, new info.osdevelopment.sysemu.model.MessageModel("No system with UUID ".+(uuid).+(" can be found.")))
176 664 5287 - 5353 Apply info.osdevelopment.sysemu.model.MessageModel.<init> new info.osdevelopment.sysemu.model.MessageModel("No system with UUID ".+(uuid).+(" can be found."))
176 667 5264 - 5264 Select info.osdevelopment.sysemu.model.SysEmuJsonProtocol.MessageJsonFormat RestSystemService.this.MessageJsonFormat
176 670 5264 - 5264 ApplyToImplicitArgs akka.http.scaladsl.marshalling.PredefinedToResponseMarshallers.fromStatusCodeAndValue marshalling.this.Marshaller.fromStatusCodeAndValue[akka.http.scaladsl.model.StatusCodes.ClientError, info.osdevelopment.sysemu.model.MessageModel](scala.Predef.$conforms[akka.http.scaladsl.model.StatusCodes.ClientError], RestSystemService.this.sprayJsonMarshaller[info.osdevelopment.sysemu.model.MessageModel](RestSystemService.this.MessageJsonFormat, RestSystemService.this.sprayJsonMarshaller$default$2[info.osdevelopment.sysemu.model.MessageModel]))
228 705 6698 - 7084 Apply scala.Function1.apply server.this.Directive.addDirectiveApply[(java.util.UUID,)](akka.http.scaladsl.server.Directives.path[(java.util.UUID,)](akka.http.scaladsl.server.Directives.JavaUUID))(util.this.ApplyConverter.hac1[java.util.UUID]).apply(((uuid: java.util.UUID) => server.this.Directive.addByNameNullaryApply(akka.http.scaladsl.server.Directives.delete).apply(RestSystemService.this.systemRepository.remove(uuid) match { case (value: info.osdevelopment.sysemu.model.SystemModel)Some[info.osdevelopment.sysemu.model.SystemModel](_) => akka.http.scaladsl.server.Directives.complete(marshalling.this.ToResponseMarshallable.apply[(akka.http.scaladsl.model.StatusCodes.Success, spray.json.JsObject)](scala.Tuple2.apply[akka.http.scaladsl.model.StatusCodes.Success, spray.json.JsObject](akka.http.scaladsl.model.StatusCodes.Accepted, spray.json.JsObject.apply(scala.Tuple2.apply[String, spray.json.JsString]("message", spray.json.JsString.apply("Removed system with UUID ".+(uuid).+("."))))))(marshalling.this.Marshaller.fromStatusCodeAndValue[akka.http.scaladsl.model.StatusCodes.Success, spray.json.JsObject](scala.Predef.$conforms[akka.http.scaladsl.model.StatusCodes.Success], RestSystemService.this.sprayJsValueMarshaller(RestSystemService.this.sprayJsValueMarshaller$default$1)))) case scala.None => akka.http.scaladsl.server.Directives.complete(marshalling.this.ToResponseMarshallable.apply[(akka.http.scaladsl.model.StatusCodes.ClientError, info.osdevelopment.sysemu.model.MessageModel)](scala.Tuple2.apply[akka.http.scaladsl.model.StatusCodes.ClientError, info.osdevelopment.sysemu.model.MessageModel](akka.http.scaladsl.model.StatusCodes.NotFound, new info.osdevelopment.sysemu.model.MessageModel("No system with UUID ".+(uuid).+(" can be found."))))(marshalling.this.Marshaller.fromStatusCodeAndValue[akka.http.scaladsl.model.StatusCodes.ClientError, info.osdevelopment.sysemu.model.MessageModel](scala.Predef.$conforms[akka.http.scaladsl.model.StatusCodes.ClientError], RestSystemService.this.sprayJsonMarshaller[info.osdevelopment.sysemu.model.MessageModel](RestSystemService.this.MessageJsonFormat, RestSystemService.this.sprayJsonMarshaller$default$2[info.osdevelopment.sysemu.model.MessageModel])))) })))
228 675 6703 - 6711 Select akka.http.scaladsl.server.PathMatchers.JavaUUID akka.http.scaladsl.server.Directives.JavaUUID
228 677 6702 - 6702 TypeApply akka.http.scaladsl.server.util.ApplyConverterInstances.hac1 util.this.ApplyConverter.hac1[java.util.UUID]
228 676 6698 - 6712 Apply akka.http.scaladsl.server.directives.PathDirectives.path akka.http.scaladsl.server.Directives.path[(java.util.UUID,)](akka.http.scaladsl.server.Directives.JavaUUID)
229 678 6729 - 6735 Select akka.http.scaladsl.server.directives.MethodDirectives.delete akka.http.scaladsl.server.Directives.delete
229 704 6729 - 7078 Apply scala.Function1.apply server.this.Directive.addByNameNullaryApply(akka.http.scaladsl.server.Directives.delete).apply(RestSystemService.this.systemRepository.remove(uuid) match { case (value: info.osdevelopment.sysemu.model.SystemModel)Some[info.osdevelopment.sysemu.model.SystemModel](_) => akka.http.scaladsl.server.Directives.complete(marshalling.this.ToResponseMarshallable.apply[(akka.http.scaladsl.model.StatusCodes.Success, spray.json.JsObject)](scala.Tuple2.apply[akka.http.scaladsl.model.StatusCodes.Success, spray.json.JsObject](akka.http.scaladsl.model.StatusCodes.Accepted, spray.json.JsObject.apply(scala.Tuple2.apply[String, spray.json.JsString]("message", spray.json.JsString.apply("Removed system with UUID ".+(uuid).+("."))))))(marshalling.this.Marshaller.fromStatusCodeAndValue[akka.http.scaladsl.model.StatusCodes.Success, spray.json.JsObject](scala.Predef.$conforms[akka.http.scaladsl.model.StatusCodes.Success], RestSystemService.this.sprayJsValueMarshaller(RestSystemService.this.sprayJsValueMarshaller$default$1)))) case scala.None => akka.http.scaladsl.server.Directives.complete(marshalling.this.ToResponseMarshallable.apply[(akka.http.scaladsl.model.StatusCodes.ClientError, info.osdevelopment.sysemu.model.MessageModel)](scala.Tuple2.apply[akka.http.scaladsl.model.StatusCodes.ClientError, info.osdevelopment.sysemu.model.MessageModel](akka.http.scaladsl.model.StatusCodes.NotFound, new info.osdevelopment.sysemu.model.MessageModel("No system with UUID ".+(uuid).+(" can be found."))))(marshalling.this.Marshaller.fromStatusCodeAndValue[akka.http.scaladsl.model.StatusCodes.ClientError, info.osdevelopment.sysemu.model.MessageModel](scala.Predef.$conforms[akka.http.scaladsl.model.StatusCodes.ClientError], RestSystemService.this.sprayJsonMarshaller[info.osdevelopment.sysemu.model.MessageModel](RestSystemService.this.MessageJsonFormat, RestSystemService.this.sprayJsonMarshaller$default$2[info.osdevelopment.sysemu.model.MessageModel])))) })
230 679 6746 - 6775 Apply info.osdevelopment.sysemu.system.SystemRepository.remove RestSystemService.this.systemRepository.remove(uuid)
232 687 6830 - 6830 TypeApply scala.Predef.$conforms scala.Predef.$conforms[akka.http.scaladsl.model.StatusCodes.Success]
232 681 6863 - 6872 Literal <nosymbol> "message"
232 690 6830 - 6830 ApplyToImplicitArgs akka.http.scaladsl.marshalling.PredefinedToResponseMarshallers.fromStatusCodeAndValue marshalling.this.Marshaller.fromStatusCodeAndValue[akka.http.scaladsl.model.StatusCodes.Success, spray.json.JsObject](scala.Predef.$conforms[akka.http.scaladsl.model.StatusCodes.Success], RestSystemService.this.sprayJsValueMarshaller(RestSystemService.this.sprayJsValueMarshaller$default$1))
232 684 6862 - 6925 Apply scala.Tuple2.apply scala.Tuple2.apply[String, spray.json.JsString]("message", spray.json.JsString.apply("Removed system with UUID ".+(uuid).+(".")))
232 683 6874 - 6924 Apply spray.json.JsString.apply spray.json.JsString.apply("Removed system with UUID ".+(uuid).+("."))
232 692 6822 - 6927 Apply akka.http.scaladsl.server.directives.RouteDirectives.complete akka.http.scaladsl.server.Directives.complete(marshalling.this.ToResponseMarshallable.apply[(akka.http.scaladsl.model.StatusCodes.Success, spray.json.JsObject)](scala.Tuple2.apply[akka.http.scaladsl.model.StatusCodes.Success, spray.json.JsObject](akka.http.scaladsl.model.StatusCodes.Accepted, spray.json.JsObject.apply(scala.Tuple2.apply[String, spray.json.JsString]("message", spray.json.JsString.apply("Removed system with UUID ".+(uuid).+("."))))))(marshalling.this.Marshaller.fromStatusCodeAndValue[akka.http.scaladsl.model.StatusCodes.Success, spray.json.JsObject](scala.Predef.$conforms[akka.http.scaladsl.model.StatusCodes.Success], RestSystemService.this.sprayJsValueMarshaller(RestSystemService.this.sprayJsValueMarshaller$default$1))))
232 686 6822 - 6927 Apply scala.Tuple2.apply scala.Tuple2.apply[akka.http.scaladsl.model.StatusCodes.Success, spray.json.JsObject](akka.http.scaladsl.model.StatusCodes.Accepted, spray.json.JsObject.apply(scala.Tuple2.apply[String, spray.json.JsString]("message", spray.json.JsString.apply("Removed system with UUID ".+(uuid).+(".")))))
232 680 6831 - 6851 Select akka.http.scaladsl.model.StatusCodes.Accepted akka.http.scaladsl.model.StatusCodes.Accepted
232 689 6830 - 6830 ApplyToImplicitArgs akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport.sprayJsValueMarshaller RestSystemService.this.sprayJsValueMarshaller(RestSystemService.this.sprayJsValueMarshaller$default$1)
232 682 6883 - 6923 Apply java.lang.String.+ "Removed system with UUID ".+(uuid).+(".")
232 691 6822 - 6927 ApplyToImplicitArgs akka.http.scaladsl.marshalling.ToResponseMarshallable.apply marshalling.this.ToResponseMarshallable.apply[(akka.http.scaladsl.model.StatusCodes.Success, spray.json.JsObject)](scala.Tuple2.apply[akka.http.scaladsl.model.StatusCodes.Success, spray.json.JsObject](akka.http.scaladsl.model.StatusCodes.Accepted, spray.json.JsObject.apply(scala.Tuple2.apply[String, spray.json.JsString]("message", spray.json.JsString.apply("Removed system with UUID ".+(uuid).+("."))))))(marshalling.this.Marshaller.fromStatusCodeAndValue[akka.http.scaladsl.model.StatusCodes.Success, spray.json.JsObject](scala.Predef.$conforms[akka.http.scaladsl.model.StatusCodes.Success], RestSystemService.this.sprayJsValueMarshaller(RestSystemService.this.sprayJsValueMarshaller$default$1)))
232 685 6853 - 6926 Apply spray.json.JsObject.apply spray.json.JsObject.apply(scala.Tuple2.apply[String, spray.json.JsString]("message", spray.json.JsString.apply("Removed system with UUID ".+(uuid).+("."))))
232 688 6830 - 6830 Select akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport.sprayJsValueMarshaller$default$1 RestSystemService.this.sprayJsValueMarshaller$default$1
234 696 6963 - 7060 Apply scala.Tuple2.apply scala.Tuple2.apply[akka.http.scaladsl.model.StatusCodes.ClientError, info.osdevelopment.sysemu.model.MessageModel](akka.http.scaladsl.model.StatusCodes.NotFound, new info.osdevelopment.sysemu.model.MessageModel("No system with UUID ".+(uuid).+(" can be found.")))
234 699 6971 - 6971 TypeApply akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport.sprayJsonMarshaller$default$2 RestSystemService.this.sprayJsonMarshaller$default$2[info.osdevelopment.sysemu.model.MessageModel]
234 702 6963 - 7060 ApplyToImplicitArgs akka.http.scaladsl.marshalling.ToResponseMarshallable.apply marshalling.this.ToResponseMarshallable.apply[(akka.http.scaladsl.model.StatusCodes.ClientError, info.osdevelopment.sysemu.model.MessageModel)](scala.Tuple2.apply[akka.http.scaladsl.model.StatusCodes.ClientError, info.osdevelopment.sysemu.model.MessageModel](akka.http.scaladsl.model.StatusCodes.NotFound, new info.osdevelopment.sysemu.model.MessageModel("No system with UUID ".+(uuid).+(" can be found."))))(marshalling.this.Marshaller.fromStatusCodeAndValue[akka.http.scaladsl.model.StatusCodes.ClientError, info.osdevelopment.sysemu.model.MessageModel](scala.Predef.$conforms[akka.http.scaladsl.model.StatusCodes.ClientError], RestSystemService.this.sprayJsonMarshaller[info.osdevelopment.sysemu.model.MessageModel](RestSystemService.this.MessageJsonFormat, RestSystemService.this.sprayJsonMarshaller$default$2[info.osdevelopment.sysemu.model.MessageModel])))
234 693 6972 - 6992 Select akka.http.scaladsl.model.StatusCodes.NotFound akka.http.scaladsl.model.StatusCodes.NotFound
234 701 6971 - 6971 ApplyToImplicitArgs akka.http.scaladsl.marshalling.PredefinedToResponseMarshallers.fromStatusCodeAndValue marshalling.this.Marshaller.fromStatusCodeAndValue[akka.http.scaladsl.model.StatusCodes.ClientError, info.osdevelopment.sysemu.model.MessageModel](scala.Predef.$conforms[akka.http.scaladsl.model.StatusCodes.ClientError], RestSystemService.this.sprayJsonMarshaller[info.osdevelopment.sysemu.model.MessageModel](RestSystemService.this.MessageJsonFormat, RestSystemService.this.sprayJsonMarshaller$default$2[info.osdevelopment.sysemu.model.MessageModel]))
234 695 6993 - 7059 Apply info.osdevelopment.sysemu.model.MessageModel.<init> new info.osdevelopment.sysemu.model.MessageModel("No system with UUID ".+(uuid).+(" can be found."))
234 698 6971 - 6971 Select info.osdevelopment.sysemu.model.SysEmuJsonProtocol.MessageJsonFormat RestSystemService.this.MessageJsonFormat
234 697 6971 - 6971 TypeApply scala.Predef.$conforms scala.Predef.$conforms[akka.http.scaladsl.model.StatusCodes.ClientError]
234 700 6971 - 6971 ApplyToImplicitArgs akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport.sprayJsonMarshaller RestSystemService.this.sprayJsonMarshaller[info.osdevelopment.sysemu.model.MessageModel](RestSystemService.this.MessageJsonFormat, RestSystemService.this.sprayJsonMarshaller$default$2[info.osdevelopment.sysemu.model.MessageModel])
234 703 6963 - 7060 Apply akka.http.scaladsl.server.directives.RouteDirectives.complete akka.http.scaladsl.server.Directives.complete(marshalling.this.ToResponseMarshallable.apply[(akka.http.scaladsl.model.StatusCodes.ClientError, info.osdevelopment.sysemu.model.MessageModel)](scala.Tuple2.apply[akka.http.scaladsl.model.StatusCodes.ClientError, info.osdevelopment.sysemu.model.MessageModel](akka.http.scaladsl.model.StatusCodes.NotFound, new info.osdevelopment.sysemu.model.MessageModel("No system with UUID ".+(uuid).+(" can be found."))))(marshalling.this.Marshaller.fromStatusCodeAndValue[akka.http.scaladsl.model.StatusCodes.ClientError, info.osdevelopment.sysemu.model.MessageModel](scala.Predef.$conforms[akka.http.scaladsl.model.StatusCodes.ClientError], RestSystemService.this.sprayJsonMarshaller[info.osdevelopment.sysemu.model.MessageModel](RestSystemService.this.MessageJsonFormat, RestSystemService.this.sprayJsonMarshaller$default$2[info.osdevelopment.sysemu.model.MessageModel]))))
234 694 7010 - 7058 Apply java.lang.String.+ "No system with UUID ".+(uuid).+(" can be found.")