Fix problem with new table column names: ProgrammeName -> ProgramName, Version -...
[proteocache.git] / engine / compbio / engine / Job.java
1 package compbio.engine;
2
3 import java.text.ParseException;
4 import java.text.SimpleDateFormat;
5 import java.util.Date;
6
7 public class Job {
8         private String jobid;
9         private String ExecutionStatus;
10         private String FinalStatus;
11         private String IP;
12         private String Email;
13         private String ProgramName;
14         private String ProgramVersion;
15
16         private String StartingDateStr;
17         private long StartingDate;
18         private String EndTimeStr;
19         private long EndTime;
20         private String StartingTimeStr;
21         private long StartingTime;
22         private long ExecutionTime;
23         
24
25         static SimpleDateFormat dateformatter = new SimpleDateFormat("yyyy/MM/dd");;
26         static SimpleDateFormat timeformatter = new SimpleDateFormat("yyyy/MM/dd:H:m:s");
27
28         public Job() {
29                 ExecutionStatus = "OK";
30                 FinalStatus = "OK";
31                 jobid = "";
32                 ProgramName ="";
33                 ProgramVersion = "";
34
35                 StartingDateStr = "1970/1/1";
36                 StartingTimeStr = "1970/1/1:0:0:0";
37                 EndTimeStr = "1970/1/1:0:0:0";
38                 StartingDate = 0L;
39                 StartingTime = 0L;
40                 EndTime = 0L;
41                 ExecutionTime = 0L;
42         }
43
44         public Job(String id, String date1, String date2) {
45                 jobid = id;
46                 ExecutionStatus = "OK";
47                 FinalStatus = "OK";
48                 setDates(date1, date2);
49         }
50
51         protected void setDates(String d1, String d2) {
52                 StartingTimeStr = d1;
53                 StartingDateStr = d1.substring(0, d1.indexOf(":"));
54                 StartingTime = convertTime(StartingTimeStr);
55                 StartingDate = convertDate(StartingDateStr);
56
57                 EndTimeStr = d2;
58                 EndTime = convertTime(d2);
59                 ExecutionTime = EndTime - StartingTime;
60         }
61
62         protected long convertDate(String d) {
63                 try {
64                         if (null != d) {
65                                 Date startdate = dateformatter.parse(d);
66                                 return startdate.getTime();
67                         }
68                 } catch (ParseException e) {
69                         e.printStackTrace();
70                 }
71                 return 0L;
72         }
73
74         protected long convertTime(String d) {
75                 try {
76                         if (null != d) {
77                                 Date startdate = timeformatter.parse(d);
78                                 return startdate.getTime();
79                         }
80                 } catch (ParseException e) {
81                         e.printStackTrace();
82                 }
83                 return 0L;
84         }
85
86         public void setStartingDate(String date) {
87                 this.StartingDateStr = date;
88                 StartingDate = convertDate(date);
89                 StartingTime = convertTime(date);
90                 if (0 < EndTime) {
91                         ExecutionTime = EndTime - StartingTime;
92                 }
93         }
94
95         public void setEndTime(String date) {
96                 this.EndTimeStr = date;
97                 EndTime = convertTime(date);
98                 if (0 < StartingTime) {
99                         ExecutionTime = EndTime - StartingTime;
100                 }
101         }
102
103         public String getStartingDateStr() {
104                 return StartingDateStr;
105         }
106
107         public String getStartingTimeStr() {
108                 return StartingTimeStr;
109         }
110
111         public long getStartingDate() {
112                 return StartingDate;
113         }
114
115         public long getStartingTime() {
116                 return StartingTime;
117         }
118
119         public String getEndTimeStr() {
120                 return EndTimeStr;
121         }
122
123         public long getEndTime() {
124                 return EndTime;
125         }
126
127         public void setExecutionStatus(String status) {
128                 ExecutionStatus = status;
129         }
130
131         public void setFinalStatus(String status) {
132                 FinalStatus = status;
133         }
134
135         public String getExecutionStatus() {
136                 return ExecutionStatus;
137         }
138
139         public String getFinalStatus() {
140                 return FinalStatus;
141         }
142
143         public long getExecutionTime() {
144                 return ExecutionTime;
145         }
146
147         public void setIP(String IP) {
148                 this.IP = IP;
149         }
150
151         public String getIP() {
152                 if (null != IP)
153                         return IP;
154                 return "127.0.0.1";
155         }
156
157         public void setEmail(String email) {
158                 this.Email = email;
159         }
160
161         public String getEmail() {
162                 if (null != Email)
163                         return Email;
164                 return "user@localhost";
165         }
166
167         public void setJobId(String id) {
168                 this.jobid = id;
169         }
170
171         public String getJobID() {
172                 return jobid;
173         }
174         
175         public void setProgramName(String prog) {
176                 this.ProgramName = prog;
177         }
178
179         public String getProgramName() {
180                 return ProgramName;
181         }
182         
183         public void setProgramVersion(String ver) {
184                 this.ProgramVersion = ver;
185         }
186
187         public String getProgramVersion() {
188                 return ProgramVersion;
189         }
190 }