X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FSequenceFetcher.java;fp=src%2Fjalview%2Fgui%2FSequenceFetcher.java;h=646a7f14ee386b9f0d7785ea73d5cc59ada35f2d;hb=4f77328104498504339216829abf5ea87e2791ec;hp=b8e3b3390e8fcca353b41f406317d6e08f421778;hpb=2b8c0785318a3528e1876e8e2dd48b7d831eae69;p=jalview.git diff --git a/src/jalview/gui/SequenceFetcher.java b/src/jalview/gui/SequenceFetcher.java index b8e3b33..646a7f1 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,6 +97,20 @@ 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) * @@ -118,7 +132,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) @@ -150,8 +164,7 @@ public class SequenceFetcher extends JPanel implements Runnable database = new JComboBox<>(); database.setFont(JvSwingUtils.getLabelFont()); database.setPrototypeDisplayValue("ENSEMBLGENOMES "); - String[] sources = jalview.ws.SequenceFetcher.getInstance() - .getSupportedDb(); + String[] sources = new jalview.ws.SequenceFetcher().getSupportedDb(); Arrays.sort(sources, String.CASE_INSENSITIVE_ORDER); database.addItem(MessageManager.getString("action.select_ddbb")); for (String source : sources) @@ -302,8 +315,7 @@ public class SequenceFetcher extends JPanel implements Runnable { StringBuilder sb = new StringBuilder(); HashSet hs = new HashSet<>(); - for (DbSourceProxy dbs : jalview.ws.SequenceFetcher.getInstance() - .getSourceProxy(db)) + for (DbSourceProxy dbs : sfetch.getSourceProxy(db)) { String tq = dbs.getTestQuery(); if (hs.add(tq)) // not a duplicate source @@ -451,7 +463,7 @@ public class SequenceFetcher extends JPanel implements Runnable List presultTitle = new ArrayList<>(); List presult = new ArrayList<>(); List aresult = new ArrayList<>(); - List sources = jalview.ws.SequenceFetcher.getInstance() + List sources = sfetch .getSourceProxy((String) database.getSelectedItem()); Iterator proxies = sources.iterator(); String[] qries = textArea.getText().trim().split(";"); @@ -815,7 +827,7 @@ public class SequenceFetcher extends JPanel implements Runnable { af.getViewport().applyFeaturesStyle(preferredFeatureColours); } - if (Cache.getDefault(Preferences.HIDE_INTRONS, true)) + if (Cache.getDefault("HIDE_INTRONS", true)) { af.hideFeatureColumns(SequenceOntologyI.EXON, false); } @@ -827,8 +839,7 @@ public class SequenceFetcher extends JPanel implements Runnable try { - af.setMaximum( - Cache.getDefault(Preferences.SHOW_FULLSCREEN, false)); + af.setMaximum(Cache.getDefault("SHOW_FULLSCREEN", false)); } catch (Exception ex) { } @@ -849,7 +860,7 @@ public class SequenceFetcher extends JPanel implements Runnable @Override public void run() { - JvOptionPane.showInternalMessageDialog(Desktop.getDesktopPane(), error, + JvOptionPane.showInternalMessageDialog(Desktop.desktop, error, MessageManager.getString("label.error_retrieving_data"), JvOptionPane.WARNING_MESSAGE); }