+
+ // SwingWorker aWorker = new SwingWorker()
+ // {
+ // long startTime = System.currentTimeMillis();
+ //
+ // @Override
+ // protected Object doInBackground() throws Exception
+ // {
+ // lbl_loading.setVisible(true);
+ //
+ // Collection<PDBDocField> wantedFields = PDBDocFieldPreferences
+ // .getStructureSummaryFields();
+ // Collection<PDBResponseSummary> filteredResponse = new
+ // HashSet<PDBResponseSummary>();
+ // for (SequenceI seq : selectedSequences)
+ // {
+ // PDBRestRequest pdbRequest = new PDBRestRequest();
+ // pdbRequest.setAllowEmptySeq(false);
+ // pdbRequest.setResponseSize(1);
+ // pdbRequest.setFieldToSearchBy("(text:");
+ // pdbRequest.setFieldToSortBy(fieldToFilterBy,
+ // !chk_invertFilter.isSelected());
+ // pdbRequest.setSearchTerm(buildQuery(seq) + ")");
+ // pdbRequest.setWantedFields(wantedFields);
+ // pdbRequest.setAssociatedSequence(seq.getName());
+ // pdbRestCleint = new PDBRestClient();
+ // PDBRestResponse resultList = pdbRestCleint
+ // .executeRequest(pdbRequest);
+ // lastPdbRequest = pdbRequest;
+ // if (resultList.getSearchSummary() != null
+ // && !resultList.getSearchSummary().isEmpty())
+ // {
+ // filteredResponse.addAll(resultList.getSearchSummary());
+ // }
+ // }
+ //
+ // if (!filteredResponse.isEmpty())
+ // {
+ // final int filterResponseCount = filteredResponse.size();
+ // Collection<PDBResponseSummary> reorderedStructuresSet = new
+ // LinkedHashSet<PDBResponseSummary>();
+ // reorderedStructuresSet.addAll(filteredResponse);
+ // reorderedStructuresSet.addAll(discoveredStructuresSet);
+ // tbl_summary.setModel(PDBRestResponse.getTableModel(
+ // lastPdbRequest, reorderedStructuresSet));
+ //
+ // // Update the model here
+ // // ListSelectionModel model = tbl_summary.getSelectionModel();
+ // // model.clearSelection();
+ // // model.addSelectionInterval(0, filterResponseCount - 1);
+ // // EventQueue.invokeLater(new Runnable()
+ // // {
+ // // public void run()
+ // // {
+ // // tbl_summary.addRowSelectionInterval(0, filterResponseCount - 1);
+ //
+ // // }
+ // // });
+ // // Discard unwanted objects to make them eligible for garbage
+ // // collection
+ // reorderedStructuresSet = null;
+ // }
+ // return null;
+ // }
+ //
+ // public void done()
+ // {
+ // lbl_loading.setVisible(false);
+ // tbl_summary.addRowSelectionInterval(0, 2);
+ // String totalTime = (System.currentTimeMillis() - startTime)
+ // + " milli secs";
+ // mainFrame.setTitle("Structure Chooser - Filter time (" + totalTime
+ // + ")");
+ // validateSelections();
+ // }
+ // };
+ // aWorker.execute();
+