-\r
- /**\r
- * Spawns a number of dasobert Fetcher threads to add features to sequences in the dataset\r
- */\r
- void startFetching()\r
- {\r
- cancelled = false;\r
- startTime = System.currentTimeMillis();\r
- af.setProgressBar("Fetching DAS Sequence Features", startTime);\r
-\r
- DasSource[] sources = new jalview.gui.DasSourceBrowser().getDASSource();\r
-\r
- if (selectedSources == null || selectedSources.size() == 0)\r
- {\r
- String active = jalview.bin.Cache.getDefault("DAS_ACTIVE_SOURCE",\r
- "uniprot");\r
- StringTokenizer st = new StringTokenizer(active, "\t");\r
- Vector selectedSources = new Vector();\r
- String token;\r
- while (st.hasMoreTokens())\r
- {\r
- token = st.nextToken();\r
- for (int i = 0; i < sources.length; i++)\r
- {\r
- if (sources[i].getNickname().equals(token))\r
- {\r
- selectedSources.addElement(sources[i]);\r
- break;\r
- }\r
- }\r
- }\r
- }\r
-\r
- if (selectedSources == null || selectedSources.size() == 0)\r
- {\r
- System.out.println("No DAS Sources active");\r
- af.setProgressBar("No DAS Sources Active", startTime);\r
- cancelled = true;\r
- fsettings.noDasSourceActive();\r
- return;\r
- }\r
-\r
- sourcesRemaining = selectedSources.size();\r
- //Now sending requests one at a time to each server\r
- for (int sourceIndex = 0;\r
- sourceIndex < selectedSources.size()\r
- && !cancelled;\r
- sourceIndex++)\r
- {\r
- DasSource dasSource = (DasSource) selectedSources.elementAt(\r
- sourceIndex);\r
-\r
- nextSequence(dasSource, sequences[0]);\r
- }\r
- }\r
-\r
- public void cancel()\r
- {\r
- af.setProgressBar("DAS Feature Fetching Cancelled", startTime);\r
- cancelled = true;\r
- }\r
-\r
- int sourcesRemaining=0;\r
- void responseComplete(DasSource dasSource, SequenceI seq)\r
- {\r
- if (seq != null)\r
- {\r
- for (int seqIndex = 0;\r
- seqIndex < sequences.length-1\r
- && !cancelled; seqIndex++)\r
- {\r
- if (sequences[seqIndex] == seq)\r
- {\r
- nextSequence(dasSource, sequences[++seqIndex]);\r
- return;\r
- }\r
- }\r
- }\r
-\r
- sourcesRemaining --;\r
-\r
- if(sourcesRemaining==0)\r
- {\r
- af.setProgressBar("DAS Feature Fetching Complete", startTime);\r
-\r
- if(af.featureSettings!=null)\r
- {\r
- af.featureSettings.setTableData();\r
+ /**\r
+ * Spawns Fetcher threads to add features to sequences in the dataset\r
+ */\r
+ void startFetching()\r
+ {\r
+ cancelled = false;\r
+ startTime = System.currentTimeMillis();\r
+ if (af != null)\r
+ {\r
+ af.setProgressBar("Fetching DAS Sequence Features", startTime);\r
+ }\r
+ if (sourceRegistry == null)\r
+ {\r
+ sourceRegistry = Cache.getDasSourceRegistry();\r
+ }\r
+ if (selectedSources == null || selectedSources.size() == 0)\r
+ {\r
+ try\r
+ {\r
+ jalviewSourceI[] sources = sourceRegistry.getSources().toArray(\r
+ new jalviewSourceI[0]);\r
+ String active = jalview.bin.Cache.getDefault("DAS_ACTIVE_SOURCE",\r
+ "uniprot");\r
+ StringTokenizer st = new StringTokenizer(active, "\t");\r
+ selectedSources = new Vector();\r
+ String token;\r
+ while (st.hasMoreTokens())\r
+ {\r
+ token = st.nextToken();\r
+ for (int i = 0; i < sources.length; i++)\r
+ {\r
+ if (sources[i].getTitle().equals(token))\r
+ {\r
+ selectedSources.add(sources[i]);\r
+ break;\r
+ }\r
+ }\r
+ }\r
+ } catch (Exception ex)\r
+ {\r
+ debug("Exception whilst setting default feature sources from registry and local preferences.",\r
+ ex);\r