case class HttpCommandService(system: ActorSystem[Nothing], locationService: LocationService, connection: HttpConnection) extends Product with Serializable
Support for sending commands to an HTTP service (normally from a CSW component).
- system
the typed actor system
- locationService
used to locate the service
- connection
describes the connection to the HTTP service
- Alphabetic
- By Inheritance
- HttpCommandService
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new HttpCommandService(system: ActorSystem[Nothing], locationService: LocationService, connection: HttpConnection)
- system
the typed actor system
- locationService
used to locate the service
- connection
describes the connection to the HTTP service
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- val connection: HttpConnection
- implicit val ec: ExecutionContext
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val locationService: LocationService
- implicit val mat: Materializer
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def oneway(controlCommand: ControlCommand): Future[OnewayResponse]
Posts a oneway command to the given HTTP connection and returns a OnewayResponse.
Posts a oneway command to the given HTTP connection and returns a OnewayResponse. It is assumed that the HTTP service accepts the command as JSON encoded. Note that the HTTP service must also be registered with the Location Service.
- controlCommand
the command to send to the service
- returns
a future OnewayResponse: Accepted or Invalid, if there was an error
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- def queryFinal(commandRunId: Id)(implicit timeout: Timeout): Future[SubmitResponse]
Query for the final result of a long running command which was sent as Submit to get a csw.params.commands.CommandResponse.SubmitResponse as a Future
Query for the final result of a long running command which was sent as Submit to get a csw.params.commands.CommandResponse.SubmitResponse as a Future
- commandRunId
the runId of the command for which response is required
- returns
a CommandResponse as a Future value
- def submit(controlCommand: ControlCommand): Future[SubmitResponse]
Posts a submit command to the given HTTP connection and returns the response as a SubmitResponse.
Posts a submit command to the given HTTP connection and returns the response as a SubmitResponse. It is assumed that the HTTP service accepts the command as JSON encoded and responds with a JSON encoded CommandResponse. Note that the HTTP service must also be registered with the Location Service.
- controlCommand
the command to send to the service
- returns
the command response or an Error response, if something fails
- def submitAllAndWait(submitCommands: List[ControlCommand])(implicit timeout: Timeout): Future[List[SubmitResponse]]
Submit multiple commands and get a List of csw.params.commands.CommandResponse.SubmitResponse for all commands.
Submit multiple commands and get a List of csw.params.commands.CommandResponse.SubmitResponse for all commands. The CommandResponse can be a response of validation (Accepted, Invalid) or a final Response. In case of response as
Accepted, final CommandResponse can be obtained by usingsubscribeAPI.- submitCommands
the set of csw.params.commands.ControlCommand payloads
- returns
a Source of CommandResponse as a stream of CommandResponses for all commands
- def submitAndWait(controlCommand: ControlCommand)(implicit timeout: Timeout): Future[SubmitResponse]
Submit a command and Subscribe for the result if it was successfully validated as
Startedto get a final csw.params.commands.CommandResponse.SubmitResponse as a FutureSubmit a command and Subscribe for the result if it was successfully validated as
Startedto get a final csw.params.commands.CommandResponse.SubmitResponse as a Future- controlCommand
the csw.params.commands.ControlCommand payload
- returns
a CommandResponse as a Future value
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- implicit val sys: ActorSystem
- val system: ActorSystem[Nothing]
- def validate(controlCommand: ControlCommand): Future[ValidateResponse]
Posts a validate command to the given HTTP connection and returns a ValidateResponse.
Posts a validate command to the given HTTP connection and returns a ValidateResponse. It is assumed that the HTTP service accepts the command as JSON encoded. Note that the HTTP service must also be registered with the Location Service.
- controlCommand
the command to send to the service
- returns
a future OnewayResponse: Accepted or Invalid, if there was an error
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])