-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathJob.pde
125 lines (103 loc) · 3.21 KB
/
Job.pde
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
// SimpleDateFormat only works in Processing 2.0 with these imports
import java.util.*;
import java.text.*;
class Job {
private int jobNum;
private String jobName;
private String jobOwner;
private String jobStartTime;
private String queueName;
private int slots;
private boolean positionAcquired = false;
private float startX, startY, startZ, theta, radius;
private int nodeCount;
Job(int _jobNum, String _jobName, String _jobOwner, String _jobStartTime, String _queueName, int _slots){
jobNum = _jobNum;
jobName = _jobName;
jobOwner = _jobOwner;
jobStartTime = _jobStartTime;
queueName = _queueName;
slots = _slots;
}
// XML Data
public int getJobNum(){
return jobNum;
}
public String getJobName(){
return jobName;
}
public String getJobOwner(){
return jobOwner;
}
public String getStartTime(){
return jobStartTime;
}
public String getAllocatedTime(){
String allocatedTime = "";
if (queueName.equals("normal") || queueName.equals("largemem")) allocatedTime = "48 hours";
else if (queueName.equals("large") || queueName.equals("request") || queueName.equals("normal-mic") || queueName.equals("normal-2mic") || queueName.equals("gpu")) allocatedTime = "24 hours";
else if (queueName.equals("serial")) allocatedTime = "12 hours";
else if (queueName.equals("vis")) allocatedTime = "08 hours";
else if (queueName.equals("development") || queueName.equals("gpudev") || queueName.equals("visdev")) allocatedTime = "04 hours";
return allocatedTime;
}
public String getElapsedTime(){
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
Date currentDate = new Date();
Date jobStartDate = null;
try {
jobStartDate = dateFormat.parse(jobStartTime);
}
catch(ParseException e) {
e.printStackTrace();
}
long difference = currentDate.getTime() - jobStartDate.getTime();
int seconds = (int) (difference / 1000) % 60 ;
int minutes = (int) ((difference / (1000*60)) % 60);
int hours = (int) ((difference / (1000*60*60)) % 24);
int days = (int) (difference / (1000*60*60*24));
String elapsedTime = str(days) + " days " + str(hours) + " hours " + str(minutes) + " minutes " + str(seconds) + " seconds";
return elapsedTime;
}
public String getQueueName(){
return queueName;
}
public int getSlots(){
return slots;
}
// Sphere Coordinates
public float getX() {
return startX;
}
public float getY() {
return startY;
}
public float getZ() {
return startZ;
}
public float getTheta() {
return theta;
}
public int getNodeCount() {
return nodeCount;
}
public float getSphereRadius() {
return radius;
}
public void setStartCoordinates(float _startX, float _startY, float _startZ, float _theta) {
if(!positionAcquired) {
startX = _startX;
startY = _startY;
startZ = _startZ;
theta = _theta;
positionAcquired = true;
}
}
public void setNodeCount(int _nodeCount){
nodeCount = _nodeCount;
}
public void setSphereRadius(float _radius){
radius = _radius;
}
}