status can be null to begin with
[jalview.git] / src / jalview / ws / jws2 / JWs2Job.java
1 /**
2  * 
3  */
4 package jalview.ws.jws2;
5
6 import compbio.metadata.JobStatus;
7
8 import jalview.ws.AWsJob;
9
10 /**
11  * job status processing for JWS2 jobs. 
12  * @author JimP
13  *
14  */
15 public abstract class JWs2Job extends AWsJob
16 {
17   JobStatus status=null;
18   public void setjobStatus(JobStatus jobStatus)
19   {
20     status = jobStatus;
21     // update flags
22   }
23
24   /* (non-Javadoc)
25    * @see jalview.ws.AWsJob#clearResponse()
26    */
27   @Override
28   public void clearResponse()
29   {
30     status = null;
31   }
32
33   /* (non-Javadoc)
34    * @see jalview.ws.AWsJob#getState()
35    */
36   @Override
37   public String getState()
38   {
39     return status==null ? ("Unknown") : status.toString();
40   }
41   /* (non-Javadoc)
42    * @see jalview.ws.AWsJob#hasResponse()
43    */
44   @Override
45   public boolean hasResponse()
46   {
47     // TODO Auto-generated method stub
48     return status!=null;
49   }
50   /*
51   StringBuffer statusBuffer = null;
52   * (non-Javadoc)
53   * @see jalview.ws.AWsJob#getStatus()
54    *
55   @Override
56   public String getStatus()
57   {
58     return statusBuffer.toString();
59   }
60   * (non-Javadoc)
61    * @see jalview.ws.AWsJob#hasStatus()
62    *
63   @Override
64   public boolean hasStatus()
65   {
66     return statusBuffer!=null;
67   }
68 */
69
70   /* (non-Javadoc)
71    * @see jalview.ws.AWsJob#isBroken()
72    */
73   @Override
74   public boolean isBroken()
75   {
76     return status==null ? false : status.equals(status.UNDEFINED);
77   }
78
79   /* (non-Javadoc)
80    * @see jalview.ws.AWsJob#isFailed()
81    */
82   @Override
83   public boolean isFailed()
84   {
85     return status==null ? false : status.equals(status.FAILED);
86   }
87
88   /* (non-Javadoc)
89    * @see jalview.ws.AWsJob#isFinished()
90    */
91   @Override
92   public boolean isFinished()
93   {
94     return status==null ? false : status.equals(status.FINISHED);
95   }
96
97   /* (non-Javadoc)
98    * @see jalview.ws.AWsJob#isQueued()
99    */
100   @Override
101   public boolean isQueued()
102   {
103     return status==null ? false : status.equals(status.SUBMITTED) || status.equals(status.PENDING);
104   }
105
106   /* (non-Javadoc)
107    * @see jalview.ws.AWsJob#isRunning()
108    */
109   @Override
110   public boolean isRunning()
111   {
112     // TODO Auto-generated method stub
113     return status!=null && (status.equals(status.RUNNING) || status.equals(status.STARTED));
114   }
115
116   /* (non-Javadoc)
117    * @see jalview.ws.AWsJob#isServerError()
118    */
119   @Override
120   public boolean isServerError()
121   {
122     // server errors are raised as exceptions on the service method calls.  
123     return status==null ? false : false; // status.equals(status.FAILED);
124   }
125
126 }