From: amwaterhouse Date: Thu, 13 Jul 2006 17:00:47 +0000 (+0000) Subject: Selected DAS sources may differ from default X-Git-Tag: Release_2_1~286 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=062dc2bf3f9a188f2797c4133da4474f79704185;p=jalview.git Selected DAS sources may differ from default --- diff --git a/src/jalview/io/DasSequenceFeatureFetcher.java b/src/jalview/io/DasSequenceFeatureFetcher.java index 7dbb183..dc51617 100755 --- a/src/jalview/io/DasSequenceFeatureFetcher.java +++ b/src/jalview/io/DasSequenceFeatureFetcher.java @@ -53,18 +53,24 @@ public class DasSequenceFeatureFetcher implements Runnable final AlignmentI dataset; final AlignFrame af; StringBuffer sbuffer = new StringBuffer(); + Vector selectedSources; + long startTime; + int threadsRunning = 0; /** * Creates a new SequenceFeatureFetcher object. + * Uses default * * @param align DOCUMENT ME! * @param ap DOCUMENT ME! */ public DasSequenceFeatureFetcher(AlignmentI align, - AlignFrame af) + AlignFrame af, + Vector selectedSources) { + this.selectedSources = selectedSources; this.dataset = align.getDataset(); this.af = af; @@ -154,6 +160,8 @@ public class DasSequenceFeatureFetcher implements Runnable sourceUrl); if (id != null && id.length() > 0) { + setThreadsRunning(+1); + FeatureThread fetcher = new FeatureThread(id + ":" + seq.getStart() + "," +seq.getEnd() , source); @@ -162,6 +170,7 @@ public class DasSequenceFeatureFetcher implements Runnable { public void comeBackLater(FeatureEvent e) { + setThreadsRunning(-1); Cache.log.debug("das source " + e.getDasSource().getNickname() + " asked us to come back in " + e.getComeBackLater() + " secs."); @@ -169,6 +178,7 @@ public class DasSequenceFeatureFetcher implements Runnable public void newFeatures(FeatureEvent e) { + setThreadsRunning(-1); Das1Source ds = e.getDasSource(); Map[] features = e.getFeatures(); @@ -204,34 +214,44 @@ public class DasSequenceFeatureFetcher implements Runnable fetcher.start(); } } + + synchronized void setThreadsRunning(int i) + { + threadsRunning += i; + if(threadsRunning<1) + af.setProgressBar("DAS Feature Fetching Complete", startTime); + } + /** * Spawns a number of dasobert Fetcher threads to add features to sequences in the dataset */ public void run() { - long startTime = System.currentTimeMillis(); + startTime = System.currentTimeMillis(); af.setProgressBar("Fetching DAS Sequence Features", startTime); DasSource [] sources = new jalview.gui.DasSourceBrowser().getDASSource(); - String active = jalview.bin.Cache.getDefault("DAS_ACTIVE_SOURCE", "uniprot"); - StringTokenizer st = new StringTokenizer(active, "\t"); - Vector selectedSources = new Vector(); - String token; - while (st.hasMoreTokens()) + if(selectedSources==null || selectedSources.size()==0) { - token = st.nextToken(); - for(int i=0; i