1 package fr.in2p3.jsaga.adaptor.language;
2
3 import fr.in2p3.jsaga.adaptor.language.abstracts.AbstractLanguageAdaptorProperties;
4 import fr.in2p3.jsaga.impl.attributes.Attribute;
5 import org.ogf.saga.job.JobDescription;
6
7
8
9
10
11
12
13
14
15
16
17
18
19 public class SAGALanguageAdaptor extends AbstractLanguageAdaptorProperties implements LanguageAdaptor {
20 private static final String[] REQUIRED_PROPERTY_NAMES = new String[] {
21 JobDescription.EXECUTABLE};
22 public static final String[] OPTIONAL_PROPERTY_NAMES = new String[] {
23 JobDescription.SPMDVARIATION,
24 JobDescription.TOTALCPUCOUNT,
25 JobDescription.NUMBEROFPROCESSES,
26 JobDescription.PROCESSESPERHOST,
27 JobDescription.THREADSPERPROCESS,
28 JobDescription.WORKINGDIRECTORY,
29 JobDescription.INTERACTIVE,
30 JobDescription.INPUT,
31 JobDescription.OUTPUT,
32 JobDescription.ERROR,
33 JobDescription.CLEANUP,
34 JobDescription.JOBSTARTTIME,
35 JobDescription.WALLTIMELIMIT,
36 JobDescription.TOTALCPUTIME,
37 JobDescription.TOTALPHYSICALMEMORY,
38 JobDescription.CPUARCHITECTURE,
39 JobDescription.OPERATINGSYSTEMTYPE,
40 JobDescription.JOBPROJECT,
41 JobDescription.QUEUE};
42 private static final String[] REQUIRED_VECTOR_PROPERTY_NAMES = new String[] {};
43 public static final String[] OPTIONAL_VECTOR_PROPERTY_NAMES = new String[] {
44 JobDescription.ARGUMENTS,
45 JobDescription.ENVIRONMENT,
46 JobDescription.FILETRANSFER,
47 JobDescription.CANDIDATEHOSTS,
48 JobDescription.JOBCONTACT};
49
50 public String getName() {
51 return "SAGA";
52 }
53
54 public void initParser() {
55 super._initParser(
56 REQUIRED_PROPERTY_NAMES, OPTIONAL_PROPERTY_NAMES,
57 REQUIRED_VECTOR_PROPERTY_NAMES, OPTIONAL_VECTOR_PROPERTY_NAMES,
58 Attribute.SEPARATOR);
59 }
60
61 public String getTranslator() {
62 return "xsl/language/saga.xsl";
63 }
64 }