001    package tecgraf.openbus.DRMAA;
002    
003    
004    /**
005     * Implementação default do JobTemplate.
006     * 
007     * @author Tecgraf PUC-Rio
008     *
009     */
010    public class JobTemplateImpl extends JobTemplate {
011    
012      /**
013       * Construtor padrão sem argumentos, usado no unmarshalling.
014       * Devido a sua existência, o jacorb não precisa de uma fábrica separada 
015       * para esse tipo. Esse é um recurso específico do JacORB e não
016       * é padronizado no Corba.
017       */
018      public JobTemplateImpl() {
019        this.remoteCommand = "";
020        this.args = new String[0];
021        this.jobSubmissionState = JobSubmissionState.ACTIVE_STATE;
022        this.transferFiles = new FileTransferMode(false,false,false);
023      }
024    
025      @Override
026      public String[] attributeNames() {
027        return getAttributeNames();
028      }
029      
030      /**
031       * Obtém o nome dos atributos implementados no JobTemplate DRMAA.
032       * @return o array com o nome dos atributos de um job template
033       */
034      public static String[] getAttributeNames() {
035        return new String[] {
036          "remote_command",
037          "v_argv",
038          "js_state",
039          "v_env",
040          "wd",
041          "working_directory",
042          "job_category",
043          "native_specification",
044          "v_email",
045          "block_email",
046          "start_time",
047          "job_name",
048          "input_path",
049          "output_path",
050          "error_path",
051          "join_files",
052          "transfer_files",
053          "deadline_time",
054          "wct_hlimit",
055          "wct_slimit",
056          "run_duration_hlimit",
057          "run_duration_slimit"
058        };
059      }
060    }