1 package jalview.ws2.gui;
3 import java.beans.PropertyChangeEvent;
4 import java.beans.PropertyChangeListener;
6 import jalview.gui.AlignFrame;
7 import jalview.gui.IProgressIndicator;
8 import jalview.ws2.WSJob;
9 import jalview.ws2.WSJobStatus;
11 public class ProgressBarUpdater implements PropertyChangeListener
13 private IProgressIndicator progressIndicator;
15 public ProgressBarUpdater(IProgressIndicator progressIndicator)
17 this.progressIndicator = progressIndicator;
21 public void propertyChange(PropertyChangeEvent evt)
23 switch (evt.getPropertyName())
31 private void statusChanged(PropertyChangeEvent evt)
33 var job = (WSJob) evt.getSource();
34 var oldStatus = (WSJobStatus) evt.getOldValue();
35 var newStatus = (WSJobStatus) evt.getNewValue();
36 boolean wasRunning = oldStatus.isRunning() || oldStatus.isSubmitted();
37 boolean isRunning = newStatus.isRunning() || newStatus.isSubmitted();
38 if (!wasRunning && isRunning)
40 progressIndicator.setProgressBar(job.getServiceName(), job.getUid());
42 else if (wasRunning && !isRunning)
44 progressIndicator.removeProgressBar(job.getUid());