return;
}
AlignmentI aresult = null;
+ Object source = database.getSelectedItem();
+ Enumeration en = new StringTokenizer(textArea.getText(), ";");
try
{
guiWindow.setProgressBar("Fetching Sequences from "
+ database.getSelectedItem(), Thread.currentThread()
.hashCode());
- aresult = sfetch.getSourceProxy(
- (String) sources.get(database.getSelectedItem()))
- .getSequenceRecords(textArea.getText());
+ DbSourceProxy proxy = sfetch.getSourceProxy(
+ (String) sources.get(source));
+ 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 = proxy.getSequenceRecords(item);
+ if (indres!=null)
+ {
+ if (aresult == null)
+ {
+ aresult = indres;
+ } else {
+ aresult.append(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());
+ }
+ }
+ aresult = proxy
+ .getSequenceRecords(multiacc.toString());
+ }
} catch (Exception e)
{