X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Ffts%2Fservice%2Fpdb%2FPDBFTSPanel.java;h=b944b9b7cf2add3be0b530007d90d397456c55ab;hb=9ba5a485b66e9c5a86b12dedc7b32616f3ef6db8;hp=0dd1369755d9817d6227196fc35bd3d35b034f70;hpb=7069dfb8eacf6405040429bb74ffc109706ddc49;p=jalview.git diff --git a/src/jalview/fts/service/pdb/PDBFTSPanel.java b/src/jalview/fts/service/pdb/PDBFTSPanel.java index 0dd1369..b944b9b 100644 --- a/src/jalview/fts/service/pdb/PDBFTSPanel.java +++ b/src/jalview/fts/service/pdb/PDBFTSPanel.java @@ -29,7 +29,9 @@ import jalview.fts.core.GFTSPanel; import jalview.gui.SequenceFetcher; import jalview.util.MessageManager; +import java.util.HashMap; import java.util.HashSet; +import java.util.Map; @SuppressWarnings("serial") public class PDBFTSPanel extends GFTSPanel @@ -37,20 +39,24 @@ public class PDBFTSPanel extends GFTSPanel private static String defaultFTSFrameTitle = MessageManager .getString("label.pdb_sequence_fetcher"); - private String ftsFrameTitle = defaultFTSFrameTitle; + + private static Map tempUserPrefs = new HashMap(); + + private static final String PDB_FTS_CACHE_KEY = "CACHE.PDB_FTS"; public PDBFTSPanel(SequenceFetcher seqFetcher) { + super(); pageLimit = PDBFTSRestClient.getInstance().getDefaultResponsePageSize(); this.seqFetcher = seqFetcher; - this.progressIdicator = (seqFetcher == null) ? null : seqFetcher + this.progressIndicator = (seqFetcher == null) ? null : seqFetcher .getProgressIndicator(); } - @Override public void searchAction(boolean isFreshSearch) { + mainFrame.requestFocusInWindow(); if (isFreshSearch) { offSet = 0; @@ -60,7 +66,6 @@ public class PDBFTSPanel extends GFTSPanel @Override public void run() { - ftsFrameTitle = defaultFTSFrameTitle; reset(); boolean allowEmptySequence = false; if (getTypedText().length() > 0) @@ -71,8 +76,8 @@ public class PDBFTSPanel extends GFTSPanel String searchTarget = ((FTSDataColumnI) cmb_searchTarget .getSelectedItem()).getCode(); wantedFields = PDBFTSRestClient.getInstance() - .getAllDefaulDisplayedDataColumns(); - String searchTerm = decodeSearchTerm(txt_search.getText(), + .getAllDefaultDisplayedFTSDataColumns(); + String searchTerm = decodeSearchTerm(getTypedText(), searchTarget); FTSRestRequest request = new FTSRestRequest(); @@ -99,9 +104,9 @@ public class PDBFTSPanel extends GFTSPanel { getResultTable().setModel( FTSRestResponse.getTableModel(request, - resultList.getSearchSummary())); + resultList.getSearchSummary())); FTSRestResponse.configureTableColumn(getResultTable(), - wantedFields); + wantedFields, tempUserPrefs); getResultTable().setVisible(true); } @@ -112,10 +117,12 @@ public class PDBFTSPanel extends GFTSPanel String result = (resultSetCount > 0) ? MessageManager .getString("label.results") : MessageManager .getString("label.result"); - + if (isPaginationEnabled() && resultSetCount > 0) { - updateSearchFrameTitle(defaultFTSFrameTitle + " - " + result + updateSearchFrameTitle(defaultFTSFrameTitle + + " - " + + result + " " + totalNumberformatter.format((Number) (offSet + 1)) + " to " @@ -123,8 +130,8 @@ public class PDBFTSPanel extends GFTSPanel .format((Number) (offSet + resultSetCount)) + " of " + totalNumberformatter - .format((Number) totalResultSetCount) - + " " + " (" + (endTime - startTime) + " milli secs)"); + .format((Number) totalResultSetCount) + " " + + " (" + (endTime - startTime) + " milli secs)"); } else { @@ -132,11 +139,12 @@ public class PDBFTSPanel extends GFTSPanel + resultSetCount + " " + result + " (" + (endTime - startTime) + " milli secs)"); } - + setSearchInProgress(false); refreshPaginatorState(); updateSummaryTableSelections(); } + txt_search.updateCache(); } }.start(); } @@ -188,19 +196,17 @@ public class PDBFTSPanel extends GFTSPanel try { primaryKeyColIndex = getFTSRestClient().getPrimaryKeyColumIndex( - wantedFields, - false); + wantedFields, false); } catch (Exception e) { e.printStackTrace(); } int[] selectedRows = getResultTable().getSelectedRows(); - String searchTerm = txt_search.getText(); + String searchTerm = getTypedText(); for (int summaryRow : selectedRows) { String idStr = getResultTable().getValueAt(summaryRow, - primaryKeyColIndex) - .toString(); + primaryKeyColIndex).toString(); selectedIdsSet.add(getPDBIdwithSpecifiedChain(idStr, searchTerm)); } @@ -222,7 +228,6 @@ public class PDBFTSPanel extends GFTSPanel delayAndEnableActionButtons(); } - public static String getPDBIdwithSpecifiedChain(String pdbId, String searchTerm) { @@ -258,7 +263,7 @@ public class PDBFTSPanel extends GFTSPanel @Override public String getFTSFrameTitle() { - return ftsFrameTitle; + return defaultFTSFrameTitle; } @Override @@ -267,4 +272,18 @@ public class PDBFTSPanel extends GFTSPanel return true; } + @Override + public Map getTempUserPrefs() + { + return tempUserPrefs; + } + + + @Override + public String getCacheKey() + { + return PDB_FTS_CACHE_KEY; + } + + }