Class RemoteExecutionManager

java.lang.Object
step.client.AbstractRemoteClient
step.client.executions.RemoteExecutionManager
All Implemented Interfaces:
Closeable, AutoCloseable

public class RemoteExecutionManager extends AbstractRemoteClient
This class provides an API for the execution of plans existing on a remote controller
  • Constructor Details

    • RemoteExecutionManager

      public RemoteExecutionManager()
    • RemoteExecutionManager

      public RemoteExecutionManager(ControllerCredentials credentials)
  • Method Details

    • execute

      public String execute(String planId)
      Executes a plan located on the controller
      Parameters:
      planId - the ID of the plan to be executed.
      Returns:
      the execution ID of the execution
    • execute

      public String execute(String planId, Map<String,String> executionParameters)
      Executes a plan located on the controller
      Parameters:
      planId - the ID of the plan to be executed.
      executionParameters - the execution parameters (the drop-downs that are set on the execution screen in the UI)
      Returns:
      the execution ID of the execution
    • executeFromExternalRepository

      public String executeFromExternalRepository(String repositoryId, Map<String,String> repositoryParameters)
      Executes a plan located on an external repository
      Parameters:
      repositoryId - the ID of the repository the Plan is located on
      repositoryParameters - the parameters to be passed to the repository to locate the plan
      Returns:
      the execution ID of the execution
    • executeFromExternalRepository

      public String executeFromExternalRepository(String repositoryId, Map<String,String> repositoryParameters, Map<String,String> executionParameters)
      Executes a plan located on an external repository
      Parameters:
      repositoryId - the ID of the repository the Plan is located on
      repositoryParameters - the parameters to be passed to the repository to locate the plan
      executionParameters - the execution parameters (the drop-downs that are set on the execution screen in the UI)
      Returns:
      the execution ID of the execution
    • execute

      public String execute(ExecutionParameters executionParameterObject)
      (Advanced) Executes a plan located on the controller using the provided ExecutionParameters object
      Parameters:
      executionParameterObject - the ExecutionParameters
      Returns:
      the execution ID of the execution
    • stop

      public void stop(String executionId)
      Stop an execution
      Parameters:
      executionId - the ID of the execution to be stopped
    • get

      public Execution get(String executionId)
      Parameters:
      executionId - the ID of the execution
      Returns:
      the Execution
    • getStatusReport

      public Map<ReportNodeStatus,Integer> getStatusReport(String executionId, String reportNodeClass)
      Parameters:
      executionId - the ID of the execution
      reportNodeClass - the classname of the ReportNode to be queried
      Returns:
      the distribution of ReportNodeStatus for the ReportNodes specified as argument
    • waitForTermination

      public Execution waitForTermination(String executionID, long timeout) throws TimeoutException, InterruptedException
      Waits for an execution to terminate
      Parameters:
      executionID -
      timeout - the timeout in ms
      Returns:
      Throws:
      TimeoutException
      InterruptedException
    • getFuture

      public RemoteExecutionFuture getFuture(String executionId)
      Returns a future representing of the execution
      Parameters:
      executionId -
      Returns:
    • getControllerCredentials

      protected ControllerCredentials getControllerCredentials()