X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FStructureChooser.java;fp=src%2Fjalview%2Fgui%2FStructureChooser.java;h=33d8c33e5bdec1a5cbd7165f50296b495e82e5e2;hb=65740880573a48adc758bec3939ece9d9ae104dd;hp=ec2ebe3355b58eedce3aa77f3a0963bad1eb1a73;hpb=71aa78b8a7d54e5aeb6b278310dfd735efb77477;p=jalview.git diff --git a/src/jalview/gui/StructureChooser.java b/src/jalview/gui/StructureChooser.java index ec2ebe3..33d8c33 100644 --- a/src/jalview/gui/StructureChooser.java +++ b/src/jalview/gui/StructureChooser.java @@ -83,7 +83,7 @@ public class StructureChooser extends GStructureChooser private FTSRestRequest lastPdbRequest; - private FTSRestClientI pdbRestCleint; + private FTSRestClientI pdbRestClient; private String selectedPdbFileName; @@ -217,7 +217,7 @@ public class StructureChooser extends GStructureChooser void fetchStructuresMetaData() { long startTime = System.currentTimeMillis(); - pdbRestCleint = PDBFTSRestClient.getInstance(); + pdbRestClient = PDBFTSRestClient.getInstance(); Collection wantedFields = pdbDocFieldPrefs .getStructureSummaryFields(); @@ -239,7 +239,7 @@ public class StructureChooser extends GStructureChooser FTSRestResponse resultList; try { - resultList = pdbRestCleint.executeRequest(pdbRequest); + resultList = pdbRestClient.executeRequest(pdbRequest); } catch (Exception e) { e.printStackTrace(); @@ -343,10 +343,12 @@ public class StructureChooser extends GStructureChooser } } - if (seq.getDBRefs() != null && seq.getDBRefs().length != 0) + List refs = seq.getDBRefs(); + if (refs != null && refs.size() != 0) { - for (DBRefEntry dbRef : seq.getDBRefs()) + for (int ib = 0, nb = refs.size(); ib < nb; ib++) { + DBRefEntry dbRef = refs.get(ib); if (isValidSeqName(getDBRefId(dbRef)) && queryBuilder.length() < MAX_QLENGTH) { @@ -471,7 +473,7 @@ public class StructureChooser extends GStructureChooser public void run() { long startTime = System.currentTimeMillis(); - pdbRestCleint = PDBFTSRestClient.getInstance(); + pdbRestClient = PDBFTSRestClient.getInstance(); lbl_loading.setVisible(true); Collection wantedFields = pdbDocFieldPrefs .getStructureSummaryFields(); @@ -507,7 +509,7 @@ public class StructureChooser extends GStructureChooser FTSRestResponse resultList; try { - resultList = pdbRestCleint.executeRequest(pdbRequest); + resultList = pdbRestClient.executeRequest(pdbRequest); } catch (Exception e) { e.printStackTrace(); @@ -575,6 +577,8 @@ public class StructureChooser extends GStructureChooser @Override protected void pdbFromFile_actionPerformed() { + // TODO: JAL-3048 not needed for Jalview-JS until JSmol dep and StructureChooser + // works jalview.io.JalviewFileChooser chooser = new jalview.io.JalviewFileChooser( jalview.bin.Cache.getProperty("LAST_DIRECTORY")); chooser.setFileView(new jalview.io.JalviewFileView()); @@ -1200,19 +1204,26 @@ public class StructureChooser extends GStructureChooser && !discoveredStructuresSet.isEmpty(); } + protected int PDB_ID_MIN = 3;// or: (Jalview.isJS() ? 3 : 1); // Bob proposes this. + // Doing a search for "1" or "1c" is valuable? + // Those work but are enormously slow. + @Override protected void txt_search_ActionPerformed() { + String text = txt_search.getText().trim(); + if (text.length() >= PDB_ID_MIN) new Thread() { - @Override + + @Override public void run() { errorWarning.setLength(0); isValidPBDEntry = false; - if (txt_search.getText().length() > 0) + if (text.length() > 0) { - String searchTerm = txt_search.getText().toLowerCase(); + String searchTerm = text.toLowerCase(); searchTerm = searchTerm.split(":")[0]; // System.out.println(">>>>> search term : " + searchTerm); List wantedFields = new ArrayList<>(); @@ -1223,12 +1234,12 @@ public class StructureChooser extends GStructureChooser pdbRequest.setWantedFields(wantedFields); pdbRequest.setSearchTerm(searchTerm + ")"); pdbRequest.setAssociatedSequence(selectedSequence); - pdbRestCleint = PDBFTSRestClient.getInstance(); - wantedFields.add(pdbRestCleint.getPrimaryKeyColumn()); + pdbRestClient = PDBFTSRestClient.getInstance(); + wantedFields.add(pdbRestClient.getPrimaryKeyColumn()); FTSRestResponse resultList; try { - resultList = pdbRestCleint.executeRequest(pdbRequest); + resultList = pdbRestClient.executeRequest(pdbRequest); } catch (Exception e) { errorWarning.append(e.getMessage());