b3ae5c1211d85ddc23bfa659310b89570e397aa9
[jalview.git] / src / jalview / ws2 / gui / SearchServiceGuiHandler.java
1 package jalview.ws2.gui;
2
3 import java.util.List;
4
5 import jalview.bin.Console;
6 import jalview.datamodel.AlignmentI;
7 import jalview.gui.AlignFrame;
8 import jalview.gui.Desktop;
9 import jalview.ws2.actions.api.JobI;
10 import jalview.ws2.actions.api.TaskEventListener;
11 import jalview.ws2.actions.api.TaskI;
12 import jalview.ws2.api.JobStatus;
13
14 public class SearchServiceGuiHandler implements TaskEventListener<AlignmentI>
15 {
16   private final AlignFrame parentFrame;
17   
18   public SearchServiceGuiHandler(AlignFrame parentFrame)
19   {
20     this.parentFrame = parentFrame;
21   }
22
23   @Override
24   public void taskStarted(TaskI<AlignmentI> source,
25           List<? extends JobI> subJobs)
26   {
27     Console.info("task started with " + subJobs.size() + " jobs");
28     // TODO Auto-generated method stub
29     
30   }
31
32   @Override
33   public void taskStatusChanged(TaskI<AlignmentI> source, JobStatus status)
34   {
35     Console.info("task status " + status);
36     // TODO Auto-generated method stub
37     
38   }
39
40   @Override
41   public void taskCompleted(TaskI<AlignmentI> source, AlignmentI result)
42   {
43     Console.info("task completed");
44     displayResultsNewFrame(result);
45   }
46
47   @Override
48   public void taskException(TaskI<AlignmentI> source, Exception e)
49   {
50     Console.info("task failed", e);
51     // TODO Auto-generated method stub
52     
53   }
54
55   @Override
56   public void taskRestarted(TaskI<AlignmentI> source)
57   {
58     Console.info("task restarted");
59     // TODO Auto-generated method stub
60     
61   }
62
63   @Override
64   public void subJobStatusChanged(TaskI<AlignmentI> source, JobI job,
65           JobStatus status)
66   {
67     Console.info("sub-job " + job.getInternalId() + " status " + status);
68     // TODO Auto-generated method stub
69     
70   }
71
72   @Override
73   public void subJobLogChanged(TaskI<AlignmentI> source, JobI job,
74           String log)
75   {
76     // TODO Auto-generated method stub
77     
78   }
79
80   @Override
81   public void subJobErrorLogChanged(TaskI<AlignmentI> source, JobI job,
82           String log)
83   {
84     // TODO Auto-generated method stub
85     
86   }
87
88   private void displayResultsNewFrame(AlignmentI aln)
89   {
90     AlignFrame frame = new AlignFrame(aln, AlignFrame.DEFAULT_WIDTH, AlignFrame.DEFAULT_HEIGHT);
91     frame.getFeatureRenderer().transferSettings(
92             parentFrame.getFeatureRenderer().getSettings());
93     Desktop.addInternalFrame(frame, "title", AlignFrame.DEFAULT_WIDTH, AlignFrame.DEFAULT_HEIGHT);
94   }
95 }