Package org.ggf.drmaa

Class SimpleJobTemplate

java.lang.Object
org.ggf.drmaa.SimpleJobTemplate
All Implemented Interfaces:
Serializable, JobTemplate

public class SimpleJobTemplate extends Object implements JobTemplate, Serializable
This class is a trivial implementation of the JobTemplate interface. This class can either be used as the base class for a implementation-specific job template class, or for implementations which do not need more than the required properties, it can be used as the job template implementation directly.

All non-primitive properties default to null. All boolean properties default to false. All other primitive properties default to zero.

The SimpleJobTemplate class is not thread safe. No attempt is made to prevent setters and getters from interfering with each other or the toString() method.

Since:
1.0
See Also:
  • Constructor Details

    • SimpleJobTemplate

      public SimpleJobTemplate()
      Create a new instance of a JobTemplate.
  • Method Details

    • setRemoteCommand

      public void setRemoteCommand(String remoteCommand) throws DrmaaException
      Description copied from interface: JobTemplate
      Set the command string to execute as the job. The command is relative to the execution host and is evaluated on the execution host.
      Specified by:
      setRemoteCommand in interface JobTemplate
      Parameters:
      remoteCommand - the command to execute as the job
      Throws:
      DrmaaException - May be one of the following:
      • InvalidAttributeFormatException -- the format of the argument is invalid
      • InvalidAttributeValueException -- the value of the argument is invalid
      • ConflictingAttributeValuesException -- the value of the argument conflicts with the value of another job template property
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • IllegalArgumentException -- an argument is invalid
      • InternalException -- an error has occured in the DRMAA implementation
    • getRemoteCommand

      public String getRemoteCommand() throws DrmaaException
      Description copied from interface: JobTemplate
      Get the command string to execute as the job.
      Specified by:
      getRemoteCommand in interface JobTemplate
      Returns:
      the command to execute as the job or null if it has not been set
      Throws:
      DrmaaException - May be one of the following:
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • InternalException -- an error has occured in the DRMAA implementation
      See Also:
    • setArgs

      public void setArgs(List args) throws DrmaaException
      Description copied from interface: JobTemplate
      Sets the arguments to the job.
      Specified by:
      setArgs in interface JobTemplate
      Parameters:
      args - the parameters passed as arguments to the job
      Throws:
      DrmaaException - May be one of the following:
      • InvalidAttributeFormatException -- the format of the argument is invalid
      • InvalidAttributeValueException -- the value of the argument is invalid
      • ConflictingAttributeValuesException -- the value of the argument conflicts with the value of another job template property
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • IllegalArgumentException -- an argument is invalid
      • InternalException -- an error has occured in the DRMAA implementation
    • getArgs

      public List getArgs() throws DrmaaException
      Description copied from interface: JobTemplate
      Get the arguments to the job.
      Specified by:
      getArgs in interface JobTemplate
      Returns:
      the parameters passed as arguments to the job or null if they have not been set
      Throws:
      DrmaaException - May be one of the following:
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • InternalException -- an error has occured in the DRMAA implementation
      See Also:
    • setJobSubmissionState

      public void setJobSubmissionState(int state) throws DrmaaException
      Description copied from interface: JobTemplate
      Set the job state at submission. The states are HOLD_STATE and ACTIVE_STATE:
      • ACTIVE_STATE means job is eligible to run
      • HOLD_STATE means job may be queued but is ineligible to run

      A job submitted in the HOLD_STATE state can be made eligible to run through the Session.control() method using the Session.RELEASE constant.

      Specified by:
      setJobSubmissionState in interface JobTemplate
      Parameters:
      state - the job state at submission
      Throws:
      DrmaaException - May be one of the following:
      • InvalidAttributeFormatException -- the format of the argument is invalid
      • InvalidAttributeValueException -- the value of the argument is invalid
      • ConflictingAttributeValuesException -- the value of the argument conflicts with the value of another job template property
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • IllegalArgumentException -- an argument is invalid
      • InternalException -- an error has occured in the DRMAA implementation
    • getJobSubmissionState

      public int getJobSubmissionState() throws DrmaaException
      Description copied from interface: JobTemplate
      Get the job state at submission.
      Specified by:
      getJobSubmissionState in interface JobTemplate
      Returns:
      the job state at submission
      Throws:
      DrmaaException - May be one of the following:
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • InternalException -- an error has occured in the DRMAA implementation
      See Also:
    • setJobEnvironment

      public void setJobEnvironment(Map env) throws DrmaaException
      Description copied from interface: JobTemplate
      Set the environment values that define the remote environment. The values override any remote environment values if there is a collision.
      Specified by:
      setJobEnvironment in interface JobTemplate
      Parameters:
      env - the environment values that define the remote environment
      Throws:
      DrmaaException - May be one of the following:
      • InvalidAttributeFormatException -- the format of the argument is invalid
      • InvalidAttributeValueException -- the value of the argument is invalid
      • ConflictingAttributeValuesException -- the value of the argument conflicts with the value of another job template property
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • IllegalArgumentException -- an argument is invalid
      • InternalException -- an error has occured in the DRMAA implementation
    • getJobEnvironment

      public Map getJobEnvironment() throws DrmaaException
      Description copied from interface: JobTemplate
      Get the environment values that define the remote environment.
      Specified by:
      getJobEnvironment in interface JobTemplate
      Returns:
      the environment values that define the remote environment or null if it has not been set
      Throws:
      DrmaaException - May be one of the following:
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • InternalException -- an error has occured in the DRMAA implementation
      See Also:
    • setWorkingDirectory

      public void setWorkingDirectory(String wd) throws DrmaaException
      Description copied from interface: JobTemplate
      Set the directory where the job is executed. If the working directory is not set, behavior is implementation dependent. The working directory is evaluated relative to the execution host.

      A HOME_DIRECTORY placeholder at the beginning denotes that the remaining portion of the directory name is resolved relative to the job submiter's home directory on the execution host.

      The PARAMETRIC_INDEX placeholder can be used at any position within the directory name of a parametric job and will be replaced by the underlying DRM system with the parametric job's index.

      The directory name must be specified in a syntax that is common at the host where the job will be executed.

      If no placeholder is used, an absolute directory specification is expected.

      If the directory does not exist when the job is run, the job enters the state Session.FAILED.

      Specified by:
      setWorkingDirectory in interface JobTemplate
      Parameters:
      wd - the directory where the job is executed
      Throws:
      DrmaaException - May be one of the following:
      • InvalidAttributeFormatException -- the format of the argument is invalid
      • InvalidAttributeValueException -- the value of the argument is invalid
      • ConflictingAttributeValuesException -- the value of the argument conflicts with the value of another job template property
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • IllegalArgumentException -- an argument is invalid
      • InternalException -- an error has occured in the DRMAA implementation
    • getWorkingDirectory

      public String getWorkingDirectory() throws DrmaaException
      Description copied from interface: JobTemplate
      Get the directory where the job is executed.
      Specified by:
      getWorkingDirectory in interface JobTemplate
      Returns:
      the directory where the job is executed or null if it has not been set
      Throws:
      DrmaaException - May be one of the following:
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • InternalException -- an error has occured in the DRMAA implementation
      See Also:
    • setJobCategory

      public void setJobCategory(String category) throws DrmaaException
      Description copied from interface: JobTemplate
      Set an opaque string specifying how to resolve site-specific resources and/or policies. The job category can be used, for example, to submit jobs that are "low priority" jobs. It is then up to the local DRM administrator to map "low priority" to a set of appropriate job submission characteristics, such as reduced memory allowance or lower priority value.
      Specified by:
      setJobCategory in interface JobTemplate
      Parameters:
      category - an opaque string specifying how to resolve site-specific resources and/or policies.
      Throws:
      DrmaaException - May be one of the following:
      • InvalidAttributeFormatException -- the format of the argument is invalid
      • InvalidAttributeValueException -- the value of the argument is invalid
      • ConflictingAttributeValuesException -- the value of the argument conflicts with the value of another job template property
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • IllegalArgumentException -- an argument is invalid
      • InternalException -- an error has occured in the DRMAA implementation
    • getJobCategory

      public String getJobCategory() throws DrmaaException
      Description copied from interface: JobTemplate
      Get the opaque string specifying how to resolve site-specific resources and/or policies.
      Specified by:
      getJobCategory in interface JobTemplate
      Returns:
      the opaque string specifying how to resolve site-specific resources and/or policies or null if it has not been set
      Throws:
      DrmaaException - May be one of the following:
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • InternalException -- an error has occured in the DRMAA implementation
      See Also:
    • setNativeSpecification

      public void setNativeSpecification(String spec) throws DrmaaException
      Description copied from interface: JobTemplate
      Set an opaque string that is passed by the end user to DRMAA to specify site-specific resources and/or policies.
      Specified by:
      setNativeSpecification in interface JobTemplate
      Parameters:
      spec - an opaque string that is passed by the end user to DRMAA to specify site-specific resources and/or policies
      Throws:
      DrmaaException - May be one of the following:
      • InvalidAttributeFormatException -- the format of the argument is invalid
      • InvalidAttributeValueException -- the value of the argument is invalid
      • ConflictingAttributeValuesException -- the value of the argument conflicts with the value of another job template property
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • IllegalArgumentException -- an argument is invalid
      • InternalException -- an error has occured in the DRMAA implementation
    • getNativeSpecification

      public String getNativeSpecification() throws DrmaaException
      Description copied from interface: JobTemplate
      Get the opaque string that is passed by the end user to DRMAA to specify site-specific resources and/or policies.
      Specified by:
      getNativeSpecification in interface JobTemplate
      Returns:
      the opaque string that is passed by the end user to DRMAA to specify site-specific resources and/or policies or null if it has not been set
      Throws:
      DrmaaException - May be one of the following:
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • InternalException -- an error has occured in the DRMAA implementation
      See Also:
    • setEmail

      public void setEmail(Set email) throws DrmaaException
      Description copied from interface: JobTemplate
      Set the list of email addresses used to report the job completion and status.
      Specified by:
      setEmail in interface JobTemplate
      Parameters:
      email - the list of email addresses used to report the job completion and status.
      Throws:
      DrmaaException - May be one of the following:
      • InvalidAttributeFormatException -- the format of the argument is invalid
      • InvalidAttributeValueException -- the value of the argument is invalid
      • ConflictingAttributeValuesException -- the value of the argument conflicts with the value of another job template property
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • IllegalArgumentException -- an argument is invalid
      • InternalException -- an error has occured in the DRMAA implementation
    • getEmail

      public Set getEmail() throws DrmaaException
      Description copied from interface: JobTemplate
      Get the list of email addresses used to report the job completion and status.
      Specified by:
      getEmail in interface JobTemplate
      Returns:
      the list of email addresses used to report the job completion and status or null if they have not been set
      Throws:
      DrmaaException - May be one of the following:
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • InternalException -- an error has occured in the DRMAA implementation
      See Also:
    • setBlockEmail

      public void setBlockEmail(boolean blockEmail) throws DrmaaException
      Description copied from interface: JobTemplate
      Set whether to block sending e-mail by default, regardless of the DRMS settings. This property can only be used to prevent email from being sent. It cannot force the DRM to send email.
      Specified by:
      setBlockEmail in interface JobTemplate
      Parameters:
      blockEmail - whether to block sending e-mail by default
      Throws:
      DrmaaException - May be one of the following:
      • InvalidAttributeFormatException -- the format of the argument is invalid
      • InvalidAttributeValueException -- the value of the argument is invalid
      • ConflictingAttributeValuesException -- the value of the argument conflicts with the value of another job template property
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • IllegalArgumentException -- an argument is invalid
      • InternalException -- an error has occured in the DRMAA implementation
    • getBlockEmail

      public boolean getBlockEmail() throws DrmaaException
      Description copied from interface: JobTemplate
      Get whether to block sending e-mail by default, regardless of the DRMS settings.
      Specified by:
      getBlockEmail in interface JobTemplate
      Returns:
      whether to block sending e-mail by default
      Throws:
      DrmaaException - May be one of the following:
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • InternalException -- an error has occured in the DRMAA implementation
      See Also:
    • setStartTime

      public void setStartTime(PartialTimestamp startTime) throws DrmaaException
      Description copied from interface: JobTemplate
      Set the earliest time when the job may be eligible to be run.
      Specified by:
      setStartTime in interface JobTemplate
      Parameters:
      startTime - the earliest time when the job may be eligible to be run
      Throws:
      DrmaaException - May be one of the following:
      • InvalidAttributeFormatException -- the format of the argument is invalid
      • InvalidAttributeValueException -- the value of the argument is invalid
      • ConflictingAttributeValuesException -- the value of the argument conflicts with the value of another job template property
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • IllegalArgumentException -- an argument is invalid
      • InternalException -- an error has occured in the DRMAA implementation
    • getStartTime

      public PartialTimestamp getStartTime() throws DrmaaException
      Description copied from interface: JobTemplate
      Get the earliest time when the job may be eligible to be run.
      Specified by:
      getStartTime in interface JobTemplate
      Returns:
      the earliest time when the job may be eligible to be run or null if it has not been set
      Throws:
      DrmaaException - May be one of the following:
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • InternalException -- an error has occured in the DRMAA implementation
      See Also:
    • setJobName

      public void setJobName(String name) throws DrmaaException
      Description copied from interface: JobTemplate
      Set the name of the job. A job name will be comprised of alpha-numeric and _ characters. The DRMAA implementation may truncate client provided job names to an implementation defined length that is at least 31 characters.
      Specified by:
      setJobName in interface JobTemplate
      Parameters:
      name - the name of the job
      Throws:
      DrmaaException - May be one of the following:
      • InvalidAttributeFormatException -- the format of the argument is invalid
      • InvalidAttributeValueException -- the value of the argument is invalid
      • ConflictingAttributeValuesException -- the value of the argument conflicts with the value of another job template property
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • IllegalArgumentException -- an argument is invalid
      • InternalException -- an error has occured in the DRMAA implementation
    • getJobName

      public String getJobName() throws DrmaaException
      Description copied from interface: JobTemplate
      Get the name of the job.
      Specified by:
      getJobName in interface JobTemplate
      Returns:
      the name of the job or null if it has not been set
      Throws:
      DrmaaException - May be one of the following:
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • InternalException -- an error has occured in the DRMAA implementation
      See Also:
    • setInputPath

      public void setInputPath(String inputPath) throws DrmaaException
      Description copied from interface: JobTemplate
      Set the job's standard input path. Unless set elsewhere, if not explicitly set in the job template, the job is started with an empty input stream.

      If set, specifies the network path of the job's input stream in the form of [hostname]:file_path

      When the transferFiles property is supported and has it's inputStream property set, the input file will be fetched by the underlying DRM system from the specified host or from the submit host if no hostname is specified.

      When the transferFiles property is not supported or does not have its inputStream property set, the input file is always expected to be at the host where the job is executed irrespective of a whether a hostname is specified in the path.

      The PARAMETRIC_INDEX placeholder can be used at any position within the file path of parametric job templates and will be replaced by the underlying DRM system with the parametric job's index.

      A HOME_DIRECTORY placeholder at the beginning of the file path denotes that the remaining portion of the file path is relative to the job submiter's home directory on the host where the file is located.

      A WORKING_DIRECTORY placeholder at the beginning of the file path denotes that the remaining portion of the file path is relative to the job's working directory on the host where the file is located.

      The file path must be specified in a syntax that is common at the host where the file is located.

      When the job is run, if this property is set, and the file can't be read, the job will enter the state Session.FAILED.

      Specified by:
      setInputPath in interface JobTemplate
      Parameters:
      inputPath - the job's standard input path
      Throws:
      DrmaaException - May be one of the following:
      • InvalidAttributeFormatException -- the format of the argument is invalid
      • InvalidAttributeValueException -- the value of the argument is invalid
      • ConflictingAttributeValuesException -- the value of the argument conflicts with the value of another job template property
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • IllegalArgumentException -- an argument is invalid
      • InternalException -- an error has occured in the DRMAA implementation
    • getInputPath

      public String getInputPath() throws DrmaaException
      Description copied from interface: JobTemplate
      Get the job's standard input path.
      Specified by:
      getInputPath in interface JobTemplate
      Returns:
      the job's standard input path or null if it has not been set
      Throws:
      DrmaaException - May be one of the following:
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • InternalException -- an error has occured in the DRMAA implementation
      See Also:
    • setOutputPath

      public void setOutputPath(String outputPath) throws DrmaaException
      Description copied from interface: JobTemplate
      Sets how to direct the job's standard output. If not explicitly set in the job template, the whereabouts of the jobs output stream is not defined. If set, specifies the network path of the job's output stream file in the form of [hostname]:file_path

      When the transferFiles property is supported and has its outputStream property set, the output file will be transferred by the underlying DRM system to the specified host or to the submit host if no hostname is specified.

      When the transferFiles property is not supported or does not have it's outputStream property set, the output file is always kept at the host where the job is executed irrespective of a whether a hostname is specified in the path.

      The PARAMETRIC_INDEX placeholder can be used at any position within the file path of parametric job templates and will be replaced by the underlying DRM system with the parametric job's index.

      A HOME_DIRECTORY placeholder at the beginning of the file path denotes that the remaining portion of the file path is relative to the job submiter's home directory on the host where the file is located.

      A WORKING_DIRECTORY placeholder at the beginning of the file path denotes that the remaining portion of the file path is relative to the job's working directory on the host where the file is located.

      The file path must be specified in a syntax that is common at the host where the file is located.

      When the job is run, if this property is set, and the file can't be written before execution the job will enter the state Session.FAILED.

      Specified by:
      setOutputPath in interface JobTemplate
      Parameters:
      outputPath - how to direct the job's standard output
      Throws:
      DrmaaException - May be one of the following:
      • InvalidAttributeFormatException -- the format of the argument is invalid
      • InvalidAttributeValueException -- the value of the argument is invalid
      • ConflictingAttributeValuesException -- the value of the argument conflicts with the value of another job template property
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • IllegalArgumentException -- an argument is invalid
      • InternalException -- an error has occured in the DRMAA implementation
    • getOutputPath

      public String getOutputPath() throws DrmaaException
      Description copied from interface: JobTemplate
      Gets how to direct the job's standard output.
      Specified by:
      getOutputPath in interface JobTemplate
      Returns:
      how to direct the job's standard output or null if it has not been set
      Throws:
      DrmaaException - May be one of the following:
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • InternalException -- an error has occured in the DRMAA implementation
      See Also:
    • setErrorPath

      public void setErrorPath(String errorPath) throws DrmaaException
      Description copied from interface: JobTemplate
      Sets how to direct the job's standard error. If not explicitly set in the job template, the whereabouts of the job's error stream is not defined. If set, specifies the network path of the job's error stream file in the form [hostname]:file_path

      When the transferFiles property is supported and has its errorStream property set, the error file will be transferred by the underlying DRM system to the specified host or to the submit host if no hostname is specified.

      When the transferFiles property is not supported or does not have it's errorStream property set, the error file is always kept at the host where the job is executed irrespective of a whether a hostname is specified in the path.

      The PARAMETRIC_INDEX placeholder can be used at any position within the file path of parametric job templates and will be replaced by the underlying DRM system with the parametric job's index.

      A HOME_DIRECTORY placeholder at the beginning of the file path denotes that the remaining portion of the file path is relative to the job submiter's home directory on the host where the file is located.

      A WORKING_DIRECTORY placeholder at the beginning of the file path denotes that the remaining portion of the file path is relative to the job's working directory on the host where the file is located.

      The file path must be specified in a syntax that is common at the host where the file is located.

      When the job is run, if this property is set, and the file can't be written before execution the job will enter the state Session.FAILED.

      Specified by:
      setErrorPath in interface JobTemplate
      Parameters:
      errorPath - how to direct the job's standard error
      Throws:
      DrmaaException - May be one of the following:
      • InvalidAttributeFormatException -- the format of the argument is invalid
      • InvalidAttributeValueException -- the value of the argument is invalid
      • ConflictingAttributeValuesException -- the value of the argument conflicts with the value of another job template property
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • IllegalArgumentException -- an argument is invalid
      • InternalException -- an error has occured in the DRMAA implementation
    • getErrorPath

      public String getErrorPath() throws DrmaaException
      Description copied from interface: JobTemplate
      Gets how to direct the job's standard error.
      Specified by:
      getErrorPath in interface JobTemplate
      Returns:
      how to direct the job's standard error
      Throws:
      DrmaaException - May be one of the following:
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • InternalException -- an error has occured in the DRMAA implementation
      See Also:
    • setJoinFiles

      public void setJoinFiles(boolean join) throws DrmaaException
      Description copied from interface: JobTemplate
      Sets whether the error stream should be intermixed with the output stream. If not explicitly set in the job template this property defaults to false.

      If true is specified the underlying DRM system will ignore the value of the errorPath property and intermix the standard error stream with the standard output stream as specified by the outputPath property.

      Specified by:
      setJoinFiles in interface JobTemplate
      Parameters:
      join - whether the error stream should be intermixed with the output stream
      Throws:
      DrmaaException - May be one of the following:
      • InvalidAttributeFormatException -- the format of the argument is invalid
      • InvalidAttributeValueException -- the value of the argument is invalid
      • ConflictingAttributeValuesException -- the value of the argument conflicts with the value of another job template property
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • IllegalArgumentException -- an argument is invalid
      • InternalException -- an error has occured in the DRMAA implementation
    • getJoinFiles

      public boolean getJoinFiles() throws DrmaaException
      Description copied from interface: JobTemplate
      Gets whether the error stream should be intermixed with the output stream.
      Specified by:
      getJoinFiles in interface JobTemplate
      Returns:
      Whether the error stream should be intermixed with the output stream
      Throws:
      DrmaaException - May be one of the following:
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • InternalException -- an error has occured in the DRMAA implementation
      See Also:
    • setTransferFiles

      public void setTransferFiles(FileTransferMode mode) throws DrmaaException
      Description copied from interface: JobTemplate
      Specifies, which of the standard I/O files (stdin, stdout and stderr) are to be transferred to/from the execution host. If not set, defaults to the equivalent of a FileTransferMode instance with all properties set to false. See inputPath, outputPath and errorPath setters for information about how to specify the standard input file, standard output file, and standard error file.

      If the FileTransferMode instance's errorStream property is set to true, the errorPath property is taken to specify the location to which error files should be transfered after the job finishes.

      If the FileTransferMode instance's inputStream property is set to true, the inputPath property is taken to specify the location from which input files should be transfered before the job starts.

      If the FileTransferMode instance's outputStream property is set to true, the outputPath property is taken to specify the location to which output files should be transfered after the job finishes.

      Specified by:
      setTransferFiles in interface JobTemplate
      Parameters:
      mode - how to transfer files between hosts.
      Throws:
      DrmaaException - May be one of the following:
      • InvalidAttributeFormatException -- the format of the argument is invalid
      • InvalidAttributeValueException -- the value of the argument is invalid
      • ConflictingAttributeValuesException -- the value of the argument conflicts with the value of another job template property
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • IllegalArgumentException -- an argument is invalid
      • InternalException -- an error has occured in the DRMAA implementation
      See Also:
    • getTransferFiles

      public FileTransferMode getTransferFiles() throws DrmaaException
      Description copied from interface: JobTemplate
      Gets how to transfer files between hosts.
      Specified by:
      getTransferFiles in interface JobTemplate
      Returns:
      how to transfer files between hosts.
      Throws:
      DrmaaException - May be one of the following:
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • InternalException -- an error has occured in the DRMAA implementation
      See Also:
    • setDeadlineTime

      public void setDeadlineTime(PartialTimestamp deadline) throws DrmaaException
      Description copied from interface: JobTemplate
      Sets a deadline after which the DRMS will terminate the job.
      Specified by:
      setDeadlineTime in interface JobTemplate
      Parameters:
      deadline - the deadline after which the DRMS will terminate the job
      Throws:
      DrmaaException - May be one of the following:
      • InvalidAttributeFormatException -- the format of the argument is invalid
      • InvalidAttributeValueException -- the value of the argument is invalid
      • ConflictingAttributeValuesException -- the value of the argument conflicts with the value of another job template property
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • IllegalArgumentException -- an argument is invalid
      • InternalException -- an error has occured in the DRMAA implementation
    • getDeadlineTime

      public PartialTimestamp getDeadlineTime() throws DrmaaException
      Description copied from interface: JobTemplate
      Sets a deadline after which the DRMS will terminate the job.
      Specified by:
      getDeadlineTime in interface JobTemplate
      Returns:
      the deadline after which the DRMS will terminate the job
      Throws:
      DrmaaException - May be one of the following:
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • InternalException -- an error has occured in the DRMAA implementation
      See Also:
    • setHardWallclockTimeLimit

      public void setHardWallclockTimeLimit(long hardWallclockLimit) throws DrmaaException
      Description copied from interface: JobTemplate
      Sets when the job's wall clock time limit has been exceeded. The DRMS will terminate a job that has exceeded its wall clock time limit. Note that time spent suspended is also accounted for here.
      Specified by:
      setHardWallclockTimeLimit in interface JobTemplate
      Parameters:
      hardWallclockLimit - when the job's wall clock time limit has been exceeded. Specified in seconds
      Throws:
      DrmaaException - May be one of the following:
      • InvalidAttributeFormatException -- the format of the argument is invalid
      • InvalidAttributeValueException -- the value of the argument is invalid
      • ConflictingAttributeValuesException -- the value of the argument conflicts with the value of another job template property
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • IllegalArgumentException -- an argument is invalid
      • InternalException -- an error has occured in the DRMAA implementation
    • getHardWallclockTimeLimit

      public long getHardWallclockTimeLimit() throws DrmaaException
      Description copied from interface: JobTemplate
      Gets the duration of the job's wall clock time limit.
      Specified by:
      getHardWallclockTimeLimit in interface JobTemplate
      Returns:
      when the job's wall clock time limit has been exceeded. Specified in seconds
      Throws:
      DrmaaException - May be one of the following:
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • InternalException -- an error has occured in the DRMAA implementation
      See Also:
    • setSoftWallclockTimeLimit

      public void setSoftWallclockTimeLimit(long softWallclockLimit) throws DrmaaException
      Description copied from interface: JobTemplate
      Sets an estimate as to how much wall clock time job will need to complete. Note that time spent suspended is also accounted for here.

      This attribute is intended to assist the scheduler. If the time specified in insufficient, the drmaa-implementation may impose a scheduling penalty.

      Specified by:
      setSoftWallclockTimeLimit in interface JobTemplate
      Parameters:
      softWallclockLimit - an estimate as to how much wall clock time job will need to complete. Specified in seconds
      Throws:
      DrmaaException - May be one of the following:
      • InvalidAttributeFormatException -- the format of the argument is invalid
      • InvalidAttributeValueException -- the value of the argument is invalid
      • ConflictingAttributeValuesException -- the value of the argument conflicts with the value of another job template property
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • IllegalArgumentException -- an argument is invalid
      • InternalException -- an error has occured in the DRMAA implementation
    • getSoftWallclockTimeLimit

      public long getSoftWallclockTimeLimit() throws DrmaaException
      Description copied from interface: JobTemplate
      Gets an estimate as to how much wall clock time job will need to complete.
      Specified by:
      getSoftWallclockTimeLimit in interface JobTemplate
      Returns:
      an estimate as to how much wall clock time job will need to complete. Specified in seconds
      Throws:
      DrmaaException - May be one of the following:
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • InternalException -- an error has occured in the DRMAA implementation
      See Also:
    • setHardRunDurationLimit

      public void setHardRunDurationLimit(long hardRunLimit) throws DrmaaException
      Description copied from interface: JobTemplate
      Sets how long the job may be in a running state before its limit has been exceeded, and therefore is terminated by the DRMS.
      Specified by:
      setHardRunDurationLimit in interface JobTemplate
      Parameters:
      hardRunLimit - how long the job may be in a running state before its limit has been exceeded. Specified in seconds
      Throws:
      DrmaaException - May be one of the following:
      • InvalidAttributeFormatException -- the format of the argument is invalid
      • InvalidAttributeValueException -- the value of the argument is invalid
      • ConflictingAttributeValuesException -- the value of the argument conflicts with the value of another job template property
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • IllegalArgumentException -- an argument is invalid
      • InternalException -- an error has occured in the DRMAA implementation
    • getHardRunDurationLimit

      public long getHardRunDurationLimit() throws DrmaaException
      Description copied from interface: JobTemplate
      Gets how long the job may be in a running state before its limit has been exceeded.
      Specified by:
      getHardRunDurationLimit in interface JobTemplate
      Returns:
      how long the job may be in a running state before its limit has been exceeded. Specified in seconds
      Throws:
      DrmaaException - May be one of the following:
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • InternalException -- an error has occured in the DRMAA implementation
      See Also:
    • setSoftRunDurationLimit

      public void setSoftRunDurationLimit(long softRunLimit) throws DrmaaException
      Description copied from interface: JobTemplate
      Sets an estimate as to how long the job will need to remain in a running state to complete. This attribute is intended to assist the scheduler. If the time specified in insufficient, the DRMAA implementation may impose a scheduling penalty.
      Specified by:
      setSoftRunDurationLimit in interface JobTemplate
      Parameters:
      softRunLimit - an estimate as to how long the job will need to remain in a running state to complete. Specified in seconds
      Throws:
      DrmaaException - May be one of the following:
      • InvalidAttributeFormatException -- the format of the argument is invalid
      • InvalidAttributeValueException -- the value of the argument is invalid
      • ConflictingAttributeValuesException -- the value of the argument conflicts with the value of another job template property
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • IllegalArgumentException -- an argument is invalid
      • InternalException -- an error has occured in the DRMAA implementation
    • getSoftRunDurationLimit

      public long getSoftRunDurationLimit() throws DrmaaException
      Description copied from interface: JobTemplate
      Gets an estimate as to how long the job will need to remain in a running state to complete.
      Specified by:
      getSoftRunDurationLimit in interface JobTemplate
      Returns:
      an estimate as to how long the job will need to remain in a running state to complete. Specified in seconds
      Throws:
      DrmaaException - May be one of the following:
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • InternalException -- an error has occured in the DRMAA implementation
      See Also:
    • getAttributeNames

      public Set getAttributeNames() throws DrmaaException
      Description copied from interface: JobTemplate
      Returns the list of supported property names. This list includes supported DRMAA reserved property names (both required and optional) and DRM-specific property names.
      Specified by:
      getAttributeNames in interface JobTemplate
      Returns:
      the list of supported property names
      Throws:
      DrmaaException - May be one of the following:
      • NoActiveSessionException -- the session has not yet been initialized or has already been exited
      • DrmCommunicationException -- the DRMAA implementation was unable to contact the DRM
      • AuthorizationException -- the executing user does not have sufficient permissions to execute the desired action
      • InternalException -- an error has occured in the DRMAA implementation
    • toString

      public String toString()
      Converts this JobTemplate into a String which contains all property settings. The generated string is then cached and reused until one of the property settings is modified.
      Overrides:
      toString in class Object
      Returns:
      a string containing all property settings