Class RemoteSession

  • All Implemented Interfaces:
    Session

    public class RemoteSession
    extends Object
    implements Session
    Encapsulates info about a Remote ssh reachable host that simphony models can be run on.
    Author:
    Nick Collier
    • Constructor Detail

      • RemoteSession

        public RemoteSession()
    • Method Detail

      • getInstances

        public int getInstances()
        Description copied from interface: Session
        Gets the number of model instances to run on this Remote.
        Specified by:
        getInstances in interface Session
        Returns:
        the number of model instances to run on this Remote.
      • getId

        public String getId()
        Description copied from interface: Session
        Gets the id (user@host) of this Remote.
        Specified by:
        getId in interface Session
        Returns:
        the id (user@host) of this Remote.
      • getHost

        public String getHost()
        Description copied from interface: Session
        Gets the name or ip address of the remote host.
        Specified by:
        getHost in interface Session
        Returns:
        the name or ip address of the remote host.
      • getUser

        public String getUser()
        Description copied from interface: Session
        Gets the user account used to log into the remote host.
        Specified by:
        getUser in interface Session
        Returns:
        the user account used to log into the remote host.
      • getInput

        public String getInput()
        Description copied from interface: Session
        Gets the file that contains parameter input for this Session.
        Specified by:
        getInput in interface Session
        Returns:
        the parameter input for this remote.
      • getKeyFile

        public String getKeyFile()
      • setInput

        public void setInput​(String input)
        Description copied from interface: Session
        Sets the file that contains the parameter input for this Session.
        Specified by:
        setInput in interface Session
      • setRunStatus

        public void setRunStatus​(int instance,
                                 RunningStatus status)
        Description copied from interface: Session
        Sets the run status for the specified instance on this Remote.
        Specified by:
        setRunStatus in interface Session
        Parameters:
        instance - the instance id
        status - the status
      • getStatus

        public RunningStatus getStatus​(int instance)
        Description copied from interface: Session
        Gets the status of the specified instance.
        Specified by:
        getStatus in interface Session
        Returns:
        the status of the specified instance.
      • findOutput

        public List<MatchedFiles> findOutput​(List<OutputPattern> patterns)
                                      throws StatusException
        Finds the model output of that is the result of running this Session and returns that those files. In the case of remote output the output may be copied to local temporary location. The patterns used to identify output is specified in the filePatterns parameters.
        Specified by:
        findOutput in interface Session
        Parameters:
        patterns - the patterns used to match potential output
        Returns:
        the location of the output in a list of MatchedFiles. Each MatchedFiles object holds one or more files for a specific match.
        Throws:
        StatusException
      • copyCompletionStatus

        public void copyCompletionStatus​(String outDirectory)
                                  throws StatusException
        Copies the completion status from the host and directory where the model was run to the specified directory.
        Specified by:
        copyCompletionStatus in interface Session
        Parameters:
        outDirectory -
        Throws:
        StatusException
      • createDonePoller

        public Callable<Void> createDonePoller​(long frequency)
        Create a callable that returns with the model run by this Session is finished.
        Specified by:
        createDonePoller in interface Session
        Returns:
        a callable that returns with the model run by this Session is finished.