* The Jalview Authors are detailed in the 'AUTHORS' file.
*/
-package jalview.gui;
-
-import jalview.jbgui.GPDBSearchPanel;
-import jalview.jbgui.PDBDocFieldPreferences;
+package jalview.fts.service.pdb;
+
+import jalview.fts.api.FTSDataColumnI;
+import jalview.fts.api.FTSRestClientI;
+import jalview.fts.core.FTSRestRequest;
+import jalview.fts.core.FTSRestResponse;
+import jalview.fts.core.GFTSPanel;
+import jalview.gui.SequenceFetcher;
import jalview.util.MessageManager;
-import jalview.ws.dbsources.PDBRestClient;
-import jalview.ws.dbsources.PDBRestClient.PDBDocField;
-import jalview.ws.uimodel.PDBRestRequest;
-import jalview.ws.uimodel.PDBRestResponse;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
import java.util.HashSet;
-import java.util.List;
import javax.swing.table.DefaultTableModel;
@SuppressWarnings("serial")
-public class PDBSearchPanel extends GPDBSearchPanel
+public class PDBFTSPanel extends GFTSPanel
{
- private SequenceFetcher seqFetcher;
-
- private IProgressIndicator progressIdicator;
- private Collection<PDBDocField> wantedFields;
-
- public PDBSearchPanel(SequenceFetcher seqFetcher)
+ public PDBFTSPanel(SequenceFetcher seqFetcher)
{
this.seqFetcher = seqFetcher;
this.progressIdicator = (seqFetcher == null) ? null : seqFetcher
.getProgressIndicator();
}
+
/**
* Action performed when an input is detected on txt_search field.
*/
lbl_warning.setVisible(false);
btn_ok.setEnabled(false);
boolean allowEmptySequence = false;
- mainFrame.setTitle(MessageManager
- .getString("label.pdb_sequence_getcher"));
+ mainFrame.setTitle(getFTSFrameTitle());
tbl_summary.setModel(new DefaultTableModel());
+ tbl_summary.setVisible(false);
if (txt_search.getText().trim().length() > 0)
{
lbl_loading.setVisible(true);
long startTime = System.currentTimeMillis();
- String searchTarget = ((PDBDocField) cmb_searchTarget
+ String searchTarget = ((FTSDataColumnI) cmb_searchTarget
.getSelectedItem()).getCode();
- wantedFields = PDBDocFieldPreferences.getSearchSummaryFields();
-
+ // wantedFields = FTSDataColumnPreferences.getSearchSummaryFields();
+ wantedFields = PDBFTSRestClient.getInstance()
+ .getAllDefaulDisplayedDataColumns();
String searchTerm = decodeSearchTerm(txt_search.getText(),
searchTarget);
- PDBRestRequest request = new PDBRestRequest();
+ FTSRestRequest request = new FTSRestRequest();
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;
+ FTSRestClientI pdbRestCleint = PDBFTSRestClient.getInstance();
+ FTSRestResponse resultList;
try
{
resultList = pdbRestCleint.executeRequest(request);
if (resultList.getSearchSummary() != null)
{
- tbl_summary.setModel(PDBRestResponse.getTableModel(request,
+ tbl_summary.setModel(FTSRestResponse.getTableModel(request,
resultList.getSearchSummary()));
+ FTSRestResponse.configureTableColumn(tbl_summary, wantedFields);
+ tbl_summary.setVisible(true);
}
- 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 + " "
+ mainFrame.setTitle(getFTSFrameTitle() + " - " + resultSetCount
+ + " "
+ result + " (" + (endTime - startTime) + " milli secs)");
lbl_loading.setVisible(false);
}
@Override
public void btn_ok_ActionPerformed()
{
- loadSelectedPDBSequencesToAlignment();
- }
-
- @Override
- public void btn_back_ActionPerformed()
- {
- mainFrame.dispose();
- new SequenceFetcher(progressIdicator);
- }
-
- @Override
- public void btn_cancel_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();
disableActionButtons();
StringBuilder selectedIds = new StringBuilder();
HashSet<String> selectedIdsSet = new HashSet<String>();
- int pdbIdCol = PDBRestClient.getPDBIdColumIndex(wantedFields, false);
+ int pdbIdCol = 0;
+ try
+ {
+ pdbIdCol = getFTSRestClient().getPrimaryKeyColumIndex(wantedFields,
+ false);
+ } catch (Exception e)
+ {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
int[] selectedRows = tbl_summary.getSelectedRows();
for (int summaryRow : selectedRows)
{
- String pdbIdStr = tbl_summary.getValueAt(summaryRow, pdbIdCol)
+ String idStr = tbl_summary.getValueAt(summaryRow, pdbIdCol)
.toString();
String searchTerm = txt_search.getText();
- selectedIdsSet.add(getPDBIdwithSpecifiedChain(pdbIdStr, searchTerm));
+ selectedIdsSet.add(getPDBIdwithSpecifiedChain(idStr, searchTerm));
}
for (String selectedId : selectedIdsSet)
String ids = selectedIds.toString();
// System.out.println(">>>>>>>>>>>>>>>> selected Ids: " + ids);
- seqFetcher.textArea.setText(ids);
+ seqFetcher.getTextArea().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,
String searchTerm)
return pdbIdWithChainCode;
}
- /**
- * Populates search target combo-box options
- */
- @Override
- public void populateCmbSearchTargetOptions()
- {
- List<PDBDocField> searchableTargets = new ArrayList<PDBDocField>();
- searchableTargets.add(PDBDocField.PDB_ID);
- searchableTargets.add(PDBDocField.PFAM_ACCESSION);
- searchableTargets.add(PDBDocField.MOLECULE_TYPE);
- searchableTargets.add(PDBDocField.MOLECULE_NAME);
- searchableTargets.add(PDBDocField.UNIPROT_ACCESSION);
- searchableTargets.add(PDBDocField.GENE_NAME);
- searchableTargets.add(PDBDocField.GENUS);
- searchableTargets.add(PDBDocField.ALL);
- Collections.sort(searchableTargets, new Comparator<PDBDocField>()
- {
- @Override
- public int compare(PDBDocField o1, PDBDocField o2)
- {
- return o1.getName().compareTo(o2.getName());
- }
- });
- for (PDBDocField searchTarget : searchableTargets)
- {
- cmb_searchTarget.addItem(searchTarget);
- }
+ @Override
+ public FTSRestClientI getFTSRestClient()
+ {
+ return PDBFTSRestClient.getInstance();
}
- public void checkForErrors()
+ @Override
+ public String getFTSFrameTitle()
{
- lbl_warning.setVisible(false);
- if (errorWarning.length() > 0)
- {
- lbl_loading.setVisible(false);
- lbl_warning.setToolTipText(JvSwingUtils.wrapTooltip(true,
- errorWarning.toString()));
- lbl_warning.setVisible(true);
- }
+ return MessageManager.getString("label.pdb_sequence_fetcher");
}
+
}