+ jalview.ws.SequenceFetcher sf = new jalview.ws.SequenceFetcher();
+ if (guiWindow != null)
+ {
+ guiWindow.setProgressBar("Initialising Sequence Database Fetchers",
+ Thread.currentThread().hashCode());
+ }
+ lastDasSourceRegistry = (dasRegistry.getDasRegistryURL() + dasRegistry
+ .getLocalSourceString()).hashCode();
+ sfetch = sf;
+ _initingFetcher = false;
+ initingThread = null;
+ }
+ return sfetch;
+ }
+
+ public SequenceFetcher(IProgressIndicator guiIndic)
+ {
+ final IProgressIndicator guiWindow = guiIndic;
+ final SequenceFetcher us = this;
+ // launch initialiser thread
+ Thread sf = new Thread(new Runnable()
+ {
+
+ @Override
+ public void run()
+ {
+ if (getSequenceFetcherSingleton(guiWindow) != null)
+ {
+ us.initGui(guiWindow);
+ }
+ else
+ {
+ javax.swing.SwingUtilities.invokeLater(new Runnable()
+ {
+ @Override
+ public void run()
+ {
+ JOptionPane
+ .showInternalMessageDialog(
+ Desktop.desktop,
+ "Could not create the sequence fetcher client. Check error logs for details.",
+ "Couldn't create SequenceFetcher",
+ JOptionPane.ERROR_MESSAGE);
+ }
+ });
+
+ // raise warning dialog
+ }
+ }
+ });
+ sf.start();
+ }
+
+ private class DatabaseAuthority extends DefaultMutableTreeNode
+ {
+
+ };
+
+ private class DatabaseSource extends DefaultMutableTreeNode
+ {
+
+ };
+
+ /**
+ * called by thread spawned by constructor
+ *
+ * @param guiWindow
+ */
+ private void initGui(IProgressIndicator guiWindow)
+ {
+ this.guiWindow = guiWindow;
+ if (guiWindow instanceof AlignFrame)
+ {
+ alignFrame = (AlignFrame) guiWindow;
+ }
+ database = new JDatabaseTree(sfetch);