/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
- * Copyright (C) 2014 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
*
* This file is part of Jalview.
*
import java.util.HashSet;
import java.util.List;
-import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
@SuppressWarnings("serial")
.getProgressIndicator();
}
-
/**
* Action performed when an input is detected on txt_search field.
*/
@Override
public void txt_search_ActionPerformed()
{
- btn_ok.setEnabled(false);
- boolean allowEmptySequence = false;
- mainFrame.setTitle(MessageManager
- .getString("label.pdb_sequence_getcher"));
- tbl_summary.setModel(new DefaultTableModel());
- if (txt_search.getText().trim().length() > 0)
+ new Thread()
{
- long startTime = System.currentTimeMillis();
-
- String searchTarget = ((PDBDocField) cmb_searchTarget
- .getSelectedItem()).getCode();
-
- wantedFields = PDBDocFieldPreferences
- .getSearchSummaryFields();
-
- String searchTerm = decodeSearchTerm(txt_search.getText(),
- searchTarget);
-
- PDBRestRequest request = new PDBRestRequest();
- request.setAllowEmptySeq(allowEmptySequence);
- request.setResponseSize(100);
- request.setFieldToSearchBy("(" + searchTarget + ":");
- request.setSearchTerm(searchTerm + ")");
- request.setWantedFields(wantedFields);
- // System.out.println(">>>>>>>>>>>>>> " + request.getQuery());
- PDBRestClient pdbRestCleint = new PDBRestClient();
- PDBRestResponse resultList;
- try
- {
- resultList = pdbRestCleint.executeRequest(request);
- } catch (Exception e)
+ @Override
+ public void run()
{
- // System.out.println(">>>>>>>>>>>>>>>" + e.getMessage());
- JOptionPane.showMessageDialog(this, e.getMessage(),
- "PDB Web-service Error", JOptionPane.ERROR_MESSAGE);
- return;
- }
+ lbl_loading.setVisible(false);
+ errorWarning.setLength(0);
+ lbl_warning.setVisible(false);
+ btn_ok.setEnabled(false);
+ boolean allowEmptySequence = false;
+ mainFrame.setTitle(MessageManager
+ .getString("label.pdb_sequence_getcher"));
+ tbl_summary.setModel(new DefaultTableModel());
+ if (txt_search.getText().trim().length() > 0)
+ {
+ lbl_loading.setVisible(true);
+ long startTime = System.currentTimeMillis();
- if (resultList.getSearchSummary() != null)
- {
- tbl_summary.setModel(PDBRestResponse.getTableModel(request,
- resultList.getSearchSummary()));
- }
+ String searchTarget = ((PDBDocField) cmb_searchTarget
+ .getSelectedItem()).getCode();
- long endTime = System.currentTimeMillis();
- int resultSetCount = resultList.getNumberOfItemsFound();
- String result = (resultSetCount > 1) ? MessageManager
- .getString("label.results") : MessageManager
- .getString("label.result");
- mainFrame.setTitle(frameTitle + " - " + resultSetCount + " " + result
- + " (" + (endTime - startTime) + " milli secs)");
- }
+ wantedFields = PDBDocFieldPreferences.getSearchSummaryFields();
+
+ String searchTerm = decodeSearchTerm(txt_search.getText(),
+ searchTarget);
+
+ PDBRestRequest request = new PDBRestRequest();
+ request.setAllowEmptySeq(allowEmptySequence);
+ request.setResponseSize(100);
+ request.setFieldToSearchBy("(" + searchTarget + ":");
+ request.setSearchTerm(searchTerm + ")");
+ request.setWantedFields(wantedFields);
+ // System.out.println(">>>>>>>>>>>>>> " + request.getQuery());
+ PDBRestClient pdbRestCleint = new PDBRestClient();
+ PDBRestResponse resultList;
+ try
+ {
+ resultList = pdbRestCleint.executeRequest(request);
+ } catch (Exception e)
+ {
+ // e.printStackTrace();
+ errorWarning.append(e.getMessage());
+ checkForErrors();
+ return;
+ }
+
+ if (resultList.getSearchSummary() != null)
+ {
+ tbl_summary.setModel(PDBRestResponse.getTableModel(request,
+ resultList.getSearchSummary()));
+ }
+
+ PDBRestResponse.configureTableColumn(tbl_summary, wantedFields);
+
+ long endTime = System.currentTimeMillis();
+ int resultSetCount = resultList.getNumberOfItemsFound();
+ String result = (resultSetCount > 1) ? MessageManager
+ .getString("label.results") : MessageManager
+ .getString("label.result");
+ mainFrame.setTitle(frameTitle + " - " + resultSetCount + " "
+ + result + " (" + (endTime - startTime) + " milli secs)");
+ lbl_loading.setVisible(false);
+ }
+ }
+ }.start();
}
public static String decodeSearchTerm(String enteredText,
return foundSearchTerms;
}
-
@Override
public void btn_ok_ActionPerformed()
{
mainFrame.dispose();
}
+ @Override
+ public void transferToSequenceFetcher(String ids)
+ {
+ // mainFrame.dispose();
+ seqFetcher.textArea.setText(ids);
+ Thread worker = new Thread(seqFetcher);
+ worker.start();
+ }
+
/**
* Add the discovered/selected sequences to a target alignment window
*/
public void loadSelectedPDBSequencesToAlignment()
{
- mainFrame.dispose();
+ // mainFrame.dispose();
+ disableActionButtons();
StringBuilder selectedIds = new StringBuilder();
HashSet<String> selectedIdsSet = new HashSet<String>();
int pdbIdCol = PDBRestClient.getPDBIdColumIndex(wantedFields, false);
}
String ids = selectedIds.toString();
- System.out.println(">>>>>>>>>>>>>>>> selected Ids: " + ids);
+ // System.out.println(">>>>>>>>>>>>>>>> selected Ids: " + ids);
seqFetcher.textArea.setText(ids);
Thread worker = new Thread(seqFetcher);
worker.start();
+ delayAndEnableActionButtons();
+
+ }
+
+ private void disableActionButtons()
+ {
+ btn_ok.setEnabled(false);
+ btn_back.setEnabled(false);
+ btn_cancel.setEnabled(false);
+ }
+
+ private void delayAndEnableActionButtons()
+ {
+ new Thread()
+ {
+ @Override
+ public void run()
+ {
+ try
+ {
+ Thread.sleep(1500);
+ } catch (InterruptedException e)
+ {
+ e.printStackTrace();
+ }
+ btn_ok.setEnabled(true);
+ btn_back.setEnabled(true);
+ btn_cancel.setEnabled(true);
+ }
+ }.start();
}
public static String getPDBIdwithSpecifiedChain(String pdbId,
/**
* Populates search target combo-box options
*/
+ @Override
public void populateCmbSearchTargetOptions()
{
List<PDBDocField> searchableTargets = new ArrayList<PDBDocField>();
}
}
+ public void checkForErrors()
+ {
+ lbl_warning.setVisible(false);
+ if (errorWarning.length() > 0)
+ {
+ lbl_loading.setVisible(false);
+ lbl_warning.setToolTipText(JvSwingUtils.wrapTooltip(true,
+ errorWarning.toString()));
+ lbl_warning.setVisible(true);
+ }
+ }
}