house keeping
[jalview.git] / src / jalview / gui / EBIFetchPanel.java
1 package jalview.gui;
2
3 import jalview.jbgui.GEBIFetchPanel;
4 import jalview.ws.dbsources.PDBRestClient;
5 import jalview.ws.uimodel.PDBSearchOptionListModel;
6 import jalview.ws.uimodel.PDBSearchResultPojo;
7 import jalview.ws.uimodel.PDBSummaryListModel;
8
9 import javax.swing.DefaultListModel;
10 import javax.swing.SwingUtilities;
11
12 @SuppressWarnings("serial")
13 public class EBIFetchPanel extends GEBIFetchPanel
14 {
15   private SequenceFetcher seqFetcher;
16
17   public EBIFetchPanel()
18   {
19   }
20
21   public EBIFetchPanel(SequenceFetcher seqFetcher)
22   {
23     this();
24     this.seqFetcher = seqFetcher;
25   }
26
27   public static void main(String[] args)
28   {
29     SwingUtilities.invokeLater(new Runnable()
30     {
31       public void run()
32       {
33         new EBIFetchPanel();
34       }
35     });
36   }
37
38   @Override
39   public void searchStringAction()
40   {
41
42     jListSearchResult.setModel(new DefaultListModel<PDBSummaryListModel>());
43     mainFrame.setTitle("PDB Sequence Fetcher");
44     if (search.getText().trim().length() > 0)
45     {
46       long startTime = System.currentTimeMillis();
47
48       PDBSearchResultPojo resultList = new PDBRestClient().searchResult(
49               ((PDBSearchOptionListModel) searchFeild.getSelectedItem()).getCode(),
50               search.getText());
51       if (resultList.getSearchSummary() != null)
52       {
53         jListSearchResult.setModel(resultList.getSearchSummary());
54       }
55       long endTime = System.currentTimeMillis();
56       mainFrame.setTitle("PDB Sequence Fetcher - "
57               + resultList.getItemFound() + " results ("
58               + (endTime - startTime) + " milli secs)");
59     }
60
61   }
62
63   @Override
64   public void okActionPerformed()
65   {
66     processPDBResponseData();
67   }
68
69
70   @Override
71   public void backActionPerformed()
72   {
73     System.out.println("back! pressed!");
74   }
75
76   @Override
77   public void cancelActionPerformed()
78   {
79     mainFrame.dispose();
80   }
81
82   private void processPDBResponseData()
83   {
84     mainFrame.dispose();
85     StringBuilder selectedIds = new StringBuilder();
86     for (PDBSummaryListModel dataSelected : jListSearchResult
87             .getSelectedValuesList())
88     {
89       selectedIds.append(";").append(dataSelected.getPdbId());
90     }
91     String ids = selectedIds.deleteCharAt(0).toString();
92     seqFetcher.textArea.setText(ids);
93     Thread worker = new Thread(seqFetcher);
94
95     // Thread worker = new Thread(this);
96     worker.start();
97   }
98
99   // @Override
100   // public void run()
101   // {
102   // for (PDBSummaryListModel sum : jListSearchResult
103   // .getSelectedValuesList())
104   // {
105   // System.out.println("you selected ------------> " + sum.getPdbId());
106   // }
107   // seqFetcher.guiWindow.setProgressBar(MessageManager
108   // .getString("status.processing"), Thread.currentThread()
109   // .hashCode());
110   // try
111   // {
112   // Thread.sleep(1000 * 2);
113   // } catch (InterruptedException e)
114   // {
115   // e.printStackTrace();
116   // }
117   // seqFetcher.guiWindow.setProgressBar(null, Thread.currentThread()
118   // .hashCode());
119   // }
120
121 }