JAL-1667 PDBe Search Interface implementation
[jalview.git] / src / jalview / gui / EBIFetchPanel.java
diff --git a/src/jalview/gui/EBIFetchPanel.java b/src/jalview/gui/EBIFetchPanel.java
new file mode 100644 (file)
index 0000000..8c2ef29
--- /dev/null
@@ -0,0 +1,69 @@
+package jalview.gui;
+
+import jalview.jbgui.GEBIFetchPanel;
+import jalview.ws.dbsources.PDBRestClient;
+import jalview.ws.uimodel.PDBSearchOptionListModel;
+import jalview.ws.uimodel.PDBSearchResultPojo;
+import jalview.ws.uimodel.PDBSummaryListModel;
+
+import javax.swing.DefaultListModel;
+import javax.swing.SwingUtilities;
+
+@SuppressWarnings("serial")
+public class EBIFetchPanel extends GEBIFetchPanel
+{
+  public static void main(String[] args)
+  {
+    SwingUtilities.invokeLater(new Runnable()
+    {
+      public void run()
+      {
+        new EBIFetchPanel();
+      }
+    });
+  }
+
+  @Override
+  public void searchStringAction()
+  {
+
+    jListSearchResult.setModel(new DefaultListModel<PDBSummaryListModel>());
+    mainFrame.setTitle("PDB Sequence Fetcher");
+    if (search.getText().trim().length() > 0)
+    {
+      long startTime = System.currentTimeMillis();
+
+      PDBSearchResultPojo resultList = new PDBRestClient().searchResult(
+              ((PDBSearchOptionListModel) searchFeild.getSelectedItem()).getCode(),
+              search.getText());
+      if (resultList.getSearchSummary() != null)
+      {
+        jListSearchResult.setModel(resultList.getSearchSummary());
+      }
+      long endTime = System.currentTimeMillis();
+      mainFrame.setTitle("PDB Sequence Fetcher - "
+              + resultList.getItemFound() + " results ("
+              + (endTime - startTime) + " milli secs)");
+    }
+
+  }
+
+  @Override
+  public void okActionPerformed()
+  {
+    System.out.println("ok! pressed!");
+  }
+
+  @Override
+  public void backActionPerformed()
+  {
+    System.out.println("back! pressed!");
+  }
+
+  @Override
+  public void cancelActionPerformed()
+  {
+    mainFrame.dispose();
+  }
+
+}