X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FSequenceFetcher.java;h=b8e3b3390e8fcca353b41f406317d6e08f421778;hb=01ed90f534866b804f94462c215c21ead7cb4177;hp=79f25e2d277879e67869084f9fd25c29edfbafaf;hpb=f5d6c0018555b2c453c2c0354c84cd5d2d81e3b9;p=jalview.git diff --git a/src/jalview/gui/SequenceFetcher.java b/src/jalview/gui/SequenceFetcher.java index 79f25e2..b8e3b33 100755 --- a/src/jalview/gui/SequenceFetcher.java +++ b/src/jalview/gui/SequenceFetcher.java @@ -64,9 +64,9 @@ import javax.swing.SwingConstants; * If the selected source is Uniprot or PDB, a free text search panel is opened * instead to perform the search and selection. */ +@SuppressWarnings("serial") public class SequenceFetcher extends JPanel implements Runnable { - private static jalview.ws.SequenceFetcher sfetch = null; JLabel exampleAccession; @@ -97,20 +97,6 @@ public class SequenceFetcher extends JPanel implements Runnable volatile boolean _isConstructing = false; /** - * Returns the shared instance of the SequenceFetcher client - * - * @return - */ - public static jalview.ws.SequenceFetcher getSequenceFetcherSingleton() - { - if (sfetch == null) - { - sfetch = new jalview.ws.SequenceFetcher(); - } - return sfetch; - } - - /** * Constructor given a client to receive any status or progress messages * (currently either the Desktop, or an AlignFrame panel) * @@ -132,7 +118,7 @@ public class SequenceFetcher extends JPanel implements Runnable final String selectedDb, final String queryString) { this.progressIndicator = guiIndic; - getSequenceFetcherSingleton(); + this.guiWindow = progressIndicator; if (progressIndicator instanceof AlignFrame) @@ -145,8 +131,8 @@ public class SequenceFetcher extends JPanel implements Runnable frame = new JInternalFrame(); frame.setContentPane(this); - int height = Platform.isAMacAndNotJS() ? 240 : 180; - Desktop.addInternalFrame(frame, getFrameTitle(), true, 400, height); + Desktop.addInternalFrame(frame, getFrameTitle(), true, 400, + Platform.isAMacAndNotJS() ? 240 : 180); } private String getFrameTitle() @@ -164,7 +150,8 @@ public class SequenceFetcher extends JPanel implements Runnable database = new JComboBox<>(); database.setFont(JvSwingUtils.getLabelFont()); database.setPrototypeDisplayValue("ENSEMBLGENOMES "); - String[] sources = new jalview.ws.SequenceFetcher().getSupportedDb(); + String[] sources = jalview.ws.SequenceFetcher.getInstance() + .getSupportedDb(); Arrays.sort(sources, String.CASE_INSENSITIVE_ORDER); database.addItem(MessageManager.getString("action.select_ddbb")); for (String source : sources) @@ -315,7 +302,8 @@ public class SequenceFetcher extends JPanel implements Runnable { StringBuilder sb = new StringBuilder(); HashSet hs = new HashSet<>(); - for (DbSourceProxy dbs : sfetch.getSourceProxy(db)) + for (DbSourceProxy dbs : jalview.ws.SequenceFetcher.getInstance() + .getSourceProxy(db)) { String tq = dbs.getTestQuery(); if (hs.add(tq)) // not a duplicate source @@ -417,13 +405,17 @@ public class SequenceFetcher extends JPanel implements Runnable /* * tidy inputs and check there is something to search for */ - String text = textArea.getText(); + String t0 = textArea.getText(); + String text = t0.trim(); if (replacePunctuation.isEnabled() && replacePunctuation.isSelected()) { text = text.replace(",", ";"); } - text = text.replaceAll("(\\s|[,; ])+", ";"); - textArea.setText(text); + text = text.replaceAll("(\\s|[; ])+", ";"); + if (!t0.equals(text)) + { + textArea.setText(text); + } if (text.isEmpty()) { // todo i18n @@ -459,12 +451,11 @@ public class SequenceFetcher extends JPanel implements Runnable List presultTitle = new ArrayList<>(); List presult = new ArrayList<>(); List aresult = new ArrayList<>(); - List sources = sfetch + List sources = jalview.ws.SequenceFetcher.getInstance() .getSourceProxy((String) database.getSelectedItem()); Iterator proxies = sources.iterator(); - String[] qries; - List nextFetch = Arrays - .asList(qries = textArea.getText().split(";")); + String[] qries = textArea.getText().trim().split(";"); + List nextFetch = Arrays.asList(qries); Iterator en = Arrays.asList(new String[0]).iterator(); int nqueries = qries.length; @@ -750,13 +741,14 @@ public class SequenceFetcher extends JPanel implements Runnable for (String q : queries) { - DBRefEntry dbr = new DBRefEntry(); - dbr.setSource(proxy.getDbSource()); - dbr.setVersion(null); + // BH 2019.01.25 dbr is never used. +// DBRefEntry dbr = new DBRefEntry(); +// dbr.setSource(proxy.getDbSource()); +// dbr.setVersion(null); String accId = proxy.getAccessionIdFromQuery(q); - dbr.setAccessionId(accId); +// dbr.setAccessionId(accId); boolean rfound = false; - for (int r = 0; r < rs.length; r++) + for (int r = 0, nr = rs.length; r < nr; r++) { if (rs[r] != null) { @@ -823,7 +815,7 @@ public class SequenceFetcher extends JPanel implements Runnable { af.getViewport().applyFeaturesStyle(preferredFeatureColours); } - if (Cache.getDefault("HIDE_INTRONS", true)) + if (Cache.getDefault(Preferences.HIDE_INTRONS, true)) { af.hideFeatureColumns(SequenceOntologyI.EXON, false); } @@ -835,7 +827,8 @@ public class SequenceFetcher extends JPanel implements Runnable try { - af.setMaximum(Cache.getDefault("SHOW_FULLSCREEN", false)); + af.setMaximum( + Cache.getDefault(Preferences.SHOW_FULLSCREEN, false)); } catch (Exception ex) { } @@ -856,7 +849,7 @@ public class SequenceFetcher extends JPanel implements Runnable @Override public void run() { - JvOptionPane.showInternalMessageDialog(Desktop.desktop, error, + JvOptionPane.showInternalMessageDialog(Desktop.getDesktopPane(), error, MessageManager.getString("label.error_retrieving_data"), JvOptionPane.WARNING_MESSAGE); }