- guiWindow.setProgressBar("Fetching Sequences from "
- + database.getSelectedItem(), Thread.currentThread()
- .hashCode());
- aresult = sfetch.getSourceProxy(
- (String) sources.get(database.getSelectedItem()))
- .getSequenceRecords(textArea.getText());
+ guiWindow.setProgressBar(
+ "Fetching Sequences from " + database.getSelectedItem(),
+ Thread.currentThread().hashCode());
+ DbSourceProxy proxy = sfetch.getSourceProxy((String) sources
+ .get(source));
+ isAliSource = proxy.isA(DBRefSource.ALIGNMENTDB);
+ if (proxy.getAccessionSeparator() == null)
+ {
+ while (en.hasMoreElements())
+ {
+ String item = (String) en.nextElement();
+ try
+ {
+ if (aresult != null)
+ {
+ try
+ {
+ // give the server a chance to breathe
+ Thread.sleep(5);
+ } catch (Exception e)
+ {
+ //
+ }
+
+ }
+
+ AlignmentI indres = null;
+ try
+ {
+ indres = proxy.getSequenceRecords(item);
+ } catch (OutOfMemoryError oome)
+ {
+ new OOMWarning("fetching " + item + " from "
+ + database.getSelectedItem(), oome, this);
+ }
+ if (indres != null)
+ {
+ aresultq.add(item);
+ aresult.add(indres);
+ }
+ } catch (Exception e)
+ {
+ jalview.bin.Cache.log.info("Error retrieving " + item
+ + " from " + source, e);
+ }
+ }
+ }
+ else
+ {
+ StringBuffer multiacc = new StringBuffer();
+ while (en.hasMoreElements())
+ {
+ multiacc.append(en.nextElement());
+ if (en.hasMoreElements())
+ {
+ multiacc.append(proxy.getAccessionSeparator());
+ }
+ }
+ try
+ {
+ aresultq.add(multiacc.toString());
+ aresult.add(proxy.getSequenceRecords(multiacc.toString()));
+ } catch (OutOfMemoryError oome)
+ {
+ new OOMWarning("fetching " + multiacc + " from "
+ + database.getSelectedItem(), oome, this);
+ }
+
+ }