- if (guiWindow != null)
- {
- guiWindow.setProgressBar(
- MessageManager.getString(
- "status.waiting_sequence_database_fetchers_init"),
- Thread.currentThread().hashCode());
- }
- // initting happening on another thread - so wait around to see if it
- // finishes.
- while (_initingFetcher && initingThread != null
- && initingThread.isAlive())
- {
- try
- {
- Thread.sleep(10);
- } catch (Exception e)
- {
- }
- ;
- }
- if (guiWindow != null)
- {
- guiWindow.setProgressBar(
- MessageManager.getString(
- "status.waiting_sequence_database_fetchers_init"),
- Thread.currentThread().hashCode());
- }
- }
- if (sfetch == null || dasRegistry != Cache.getDasSourceRegistry()
- || lastDasSourceRegistry != (Cache.getDasSourceRegistry()
- .getDasRegistryURL()
- + Cache.getDasSourceRegistry().getLocalSourceString())
- .hashCode())
- {
- _initingFetcher = true;
- initingThread = Thread.currentThread();
- /**
- * give a visual indication that sequence fetcher construction is occuring
- */
- if (guiWindow != null)
- {
- guiWindow.setProgressBar(
- MessageManager.getString(
- "status.init_sequence_database_fetchers"),
- Thread.currentThread().hashCode());
- }
- dasRegistry = Cache.getDasSourceRegistry();
- dasRegistry.refreshSources();
-
- jalview.ws.SequenceFetcher sf = new jalview.ws.SequenceFetcher();
- if (guiWindow != null)
- {
- guiWindow.setProgressBar(null, Thread.currentThread().hashCode());
- }
- lastDasSourceRegistry = (dasRegistry.getDasRegistryURL()
- + dasRegistry.getLocalSourceString()).hashCode();
- sfetch = sf;
- _initingFetcher = false;
- initingThread = null;