309e0e90630c65a3c1fc4921a3cffc816298618c
[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
14         private String StartingDateStr;
15         private long StartingDate;
16         private String EndTimeStr;
17         private long EndTime;
18         private String StartingTimeStr;
19         private long StartingTime;
20         private long ExecutionTime;
21
22         static SimpleDateFormat dateformatter =  new SimpleDateFormat("yyyy/MM/dd");;
23         static SimpleDateFormat timeformatter = new SimpleDateFormat("yyyy/MM/dd:H:m:s");
24
25         public Job() {
26                 ExecutionStatus = "OK";
27                 FinalStatus = "OK";
28                 jobid = "";
29                 
30                 StartingDateStr = "1970/1/1";
31                 StartingTimeStr = "1970/1/1:0:0:0";
32                 EndTimeStr = "1970/1/1:0:0:0";
33                 StartingDate = 0L;
34                 StartingTime = 0L;
35                 EndTime = 0L;
36                 ExecutionTime = 0L;
37         }
38
39         public Job(String id, String date1, String date2) {
40                 jobid = id;
41                 ExecutionStatus = "OK";
42                 FinalStatus = "OK";
43                 setDates(date1, date2);
44         }
45
46         protected void setDates (String d1, String d2) {
47                 StartingTimeStr = d1;
48                 StartingDateStr = d1.substring(0, d1.indexOf(":"));
49                 StartingTime = convertTime(StartingTimeStr);
50                 StartingDate = convertDate(StartingDateStr);
51
52                 EndTimeStr = d2;
53                 EndTime = convertTime(d2);
54                 ExecutionTime = EndTime - StartingTime;
55         }
56         
57         
58         protected long convertDate (String d) {
59                 try {
60                         if (null != d) {
61                                 Date startdate = dateformatter.parse(d);
62                                 return startdate.getTime();
63                         }
64                 } catch (ParseException e) {
65                         e.printStackTrace();
66                 }
67                 return 0L;
68         }
69         
70         protected long convertTime (String d) {
71                 try {
72                         if (null != d) {
73                                 Date startdate = timeformatter.parse(d);
74                                 return startdate.getTime();
75                         }
76                 } catch (ParseException e) {
77                         e.printStackTrace();
78                 }
79                 return 0L;
80         }
81         
82         
83         public void setStartingDate(String date) {
84                 this.StartingDateStr = date;
85                 StartingDate = convertDate(date);
86                 StartingTime = convertTime(date);
87                 if (0 < EndTime) {
88                         ExecutionTime = EndTime - StartingTime;
89                 }
90         }
91
92         public void setEndTime(String date) {
93                 this.EndTimeStr = date;
94                 EndTime = convertTime(date);
95                 if (0 < StartingTime) {
96                         ExecutionTime = EndTime - StartingTime;
97                 }
98         }
99
100         public String getStartingDateStr() {
101                 return StartingDateStr;
102         }
103         public String getStartingTimeStr() {
104                 return StartingTimeStr;
105         }
106         public long getStartingDate() {
107                 return StartingDate;
108         }
109         public long getStartingTime() {
110                 return StartingTime;
111         }
112
113         public String getEndTimeStr() {
114                 return EndTimeStr;
115         }
116         public long getEndTime() {
117                 return EndTime;
118         }
119
120         public void setExecutionStatus(String status) {
121                 ExecutionStatus = status;
122         }
123
124         public void setFinalStatus(String status) {
125                 FinalStatus = status;
126         }
127         
128         public String getExecutionStatus() {
129                 return ExecutionStatus;
130         }
131
132         public String getFinalStatus() {
133                 return FinalStatus;
134         }
135
136         public long getExecutionTime() {
137                 return ExecutionTime;
138         }
139         
140         public void setIP(String IP) {
141                 this.IP = IP;
142         }
143
144         public String getIP() {
145                 if (null != IP)
146                         return IP;
147                 return "127.0.0.1";
148         }
149         
150         public void setEmail(String email) {
151                 this.Email = email;
152         }
153
154         public String getEmail() {
155                 if (null != Email)
156                         return Email;
157                 return "user@localhost";
158         }
159
160         public void setJobId(String id) {
161                 this.jobid = id;
162         }
163
164         public String getJobID() {
165                 return jobid;
166         }
167 }