JAL-3878 Code reformatting.
[jalview.git] / src / jalview / ws2 / WebServiceInfoUpdater.java
1 package jalview.ws2;
2
3 import java.beans.PropertyChangeEvent;
4 import java.beans.PropertyChangeListener;
5 import java.util.Objects;
6
7 import jalview.gui.WebserviceInfo;
8
9 public class WebServiceInfoUpdater implements PropertyChangeListener
10 {
11   private final WebserviceInfo wsInfo;
12
13   private String outputHeader = "";
14
15   public WebServiceInfoUpdater(WebserviceInfo wsInfo)
16   {
17     this.wsInfo = wsInfo;
18   }
19
20   public String getOutputHeader()
21   {
22     return outputHeader;
23   }
24
25   public void setOutputHeader(String header)
26   {
27     this.outputHeader = header;
28   }
29
30   @Override
31   public void propertyChange(PropertyChangeEvent evt)
32   {
33     switch (evt.getPropertyName())
34     {
35     case "status":
36       statusChanged(evt);
37       break;
38     case "log":
39       logChanged(evt);
40       break;
41     case "errorLog":
42       errorLogChanged(evt);
43       break;
44     }
45   }
46
47   private void statusChanged(PropertyChangeEvent evt)
48   {
49     WSJob job = (WSJob) evt.getSource();
50     WSJobStatus status = (WSJobStatus) evt.getNewValue();
51     int wsInfoStatus = 0;
52     switch (status)
53     {
54     case READY:
55     case SUBMITTED:
56     case QUEUED:
57       wsInfoStatus = WebserviceInfo.STATE_QUEUING;
58       break;
59     case RUNNING:
60       wsInfoStatus = WebserviceInfo.STATE_RUNNING;
61       break;
62     case FINISHED:
63       wsInfoStatus = WebserviceInfo.STATE_STOPPED_OK;
64       break;
65     case CANCELLED:
66       wsInfoStatus = WebserviceInfo.STATE_CANCELLED_OK;
67       break;
68     case INVALID:
69     case BROKEN:
70     case FAILED:
71     case UNKNOWN:
72       wsInfoStatus = WebserviceInfo.STATE_STOPPED_ERROR;
73       break;
74     case SERVER_ERROR:
75       wsInfoStatus = WebserviceInfo.STATE_STOPPED_SERVERERROR;
76       break;
77     }
78     wsInfo.setStatus(job.getJobNum(), wsInfoStatus);
79   }
80
81   private void logChanged(PropertyChangeEvent evt)
82   {
83     WSJob job = (WSJob) evt.getSource();
84     String oldLog = (String) evt.getOldValue();
85     String newLog = (String) evt.getNewValue();
86     wsInfo.appendProgressText(job.getJobNum(),
87             newLog.substring(oldLog.length()));
88   }
89
90   private void errorLogChanged(PropertyChangeEvent evt)
91   {
92     WSJob job = (WSJob) evt.getSource();
93     String oldLog = (String) evt.getOldValue();
94     String newLog = (String) evt.getNewValue();
95     wsInfo.appendProgressText(job.getJobNum(),
96             newLog.substring(oldLog.length()));
97   }
98
99 }