X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2FEnfinEnvision2OneWay.java;h=f40831ca2041c7ac2f9ac8f33916fc8365b05a04;hb=153dd62dc91da13ae732600e6ea55ddbe15eab39;hp=890551523db11da2f3769673a4eadb1ffcef6c4e;hpb=784398bbc60a0e6ae55c6cde1b4f5b1b6f4a5592;p=jalview.git
diff --git a/src/jalview/ws/EnfinEnvision2OneWay.java b/src/jalview/ws/EnfinEnvision2OneWay.java
index 8905515..f40831c 100644
--- a/src/jalview/ws/EnfinEnvision2OneWay.java
+++ b/src/jalview/ws/EnfinEnvision2OneWay.java
@@ -1,5 +1,19 @@
-/**
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)
+ * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
+ *
+ * This file is part of Jalview.
+ *
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
*
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with Jalview. If not, see .
*/
package jalview.ws;
@@ -9,8 +23,11 @@ import jalview.datamodel.SequenceGroup;
import jalview.datamodel.SequenceI;
import jalview.gui.AlignFrame;
import jalview.gui.Desktop;
+import jalview.gui.JvSwingUtils;
import jalview.util.GroupUrlLink;
+import jalview.util.GroupUrlLink.UrlStringTooLongException;
+import java.awt.Component;
import java.awt.Cursor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
@@ -20,6 +37,7 @@ import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.Hashtable;
+import java.util.Map;
import java.util.Vector;
import javax.swing.JMenu;
@@ -36,89 +54,130 @@ import org.xml.sax.helpers.DefaultHandler;
/**
* Lightweight runnable to discover dynamic 'one way' group URL services
+ *
* @author JimP
- *
+ *
*/
-public class EnfinEnvision2OneWay extends DefaultHandler implements Runnable,WSMenuEntryProviderI
+public class EnfinEnvision2OneWay extends DefaultHandler implements
+ Runnable, WSMenuEntryProviderI
{
- private static EnfinEnvision2OneWay groupURLLinksGatherer=null;
- public static EnfinEnvision2OneWay getInstance() {
- if (groupURLLinksGatherer==null) {
+ private static EnfinEnvision2OneWay groupURLLinksGatherer = null;
+
+ public static EnfinEnvision2OneWay getInstance()
+ {
+ if (groupURLLinksGatherer == null)
+ {
groupURLLinksGatherer = new EnfinEnvision2OneWay();
}
return groupURLLinksGatherer;
}
- private void waitForCompletion() {
+
+ private void waitForCompletion()
+ {
if (groupURLLinksGatherer.isRunning())
{
- // wait around and show a visual delay indicator
- Cursor oldCursor = Desktop.instance.getCursor();
- Desktop.instance.setCursor(new Cursor(Cursor.WAIT_CURSOR));
- while (groupURLLinksGatherer.isRunning())
- {
- try {
- Thread.sleep(100);
- } catch (InterruptedException e ){};
+ // wait around and show a visual delay indicator
+ Cursor oldCursor = Desktop.instance.getCursor();
+ Desktop.instance.setCursor(new Cursor(Cursor.WAIT_CURSOR));
+ while (groupURLLinksGatherer.isRunning())
+ {
+ try
+ {
+ Thread.sleep(100);
+ } catch (InterruptedException e)
+ {
+ }
+ ;
+ }
+ Desktop.instance.setCursor(oldCursor);
}
- Desktop.instance.setCursor(oldCursor);
- }
}
- public Vector getEnvisionServiceGroupURLS() {
+
+ public Vector getEnvisionServiceGroupURLS()
+ {
waitForCompletion();
return groupURLLinks;
}
+
/**
- * indicate if
+ * indicate if
*/
- private static String BACKGROUND="BACKGROUNDPARAM";
+ private static String BACKGROUND = "BACKGROUNDPARAM";
+
/**
- * contains null strings or one of the above constants - indicate if this URL is a special case.
+ * contains null strings or one of the above constants - indicate if this URL
+ * is a special case.
*/
private Vector additionalPar = new Vector();
+
/**
* the enfin service URL
*/
- private String enfinService=null;
- private String description=null;
+ private String enfinService = null;
+
+ private String description = null;
+
private String wfname;
- /* (non-Javadoc)
- * @see org.xml.sax.helpers.DefaultHandler#endElement(java.lang.String, java.lang.String, java.lang.String)
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.xml.sax.helpers.DefaultHandler#endElement(java.lang.String,
+ * java.lang.String, java.lang.String)
*/
public void endElement(String uri, String localName, String qName)
throws SAXException
{
-
-// System.err.println("End element: : '"+uri+" "+localName+" "+qName);
- if (qName.equalsIgnoreCase("workflow") && description!=null && description.length()>0)
+
+ // System.err.println("End element: : '"+uri+" "+localName+" "+qName);
+ if (qName.equalsIgnoreCase("workflow") && description != null
+ && description.length() > 0)
{
- //groupURLLinks.addElement("UNIPROT|EnVision2|http://www.ebi.ac.uk/enfin-srv/envision2/pages/linkin.jsf?tool=Jalview&workflow=Default&datasetName=JalviewIDs$DATASETID$&input=$SEQUENCEIDS$&inputType=0|,");
- //groupURLLinks.addElement("Seqs|EnVision2|http://www.ebi.ac.uk/enfin-srv/envision2/pages/linkin.jsf?tool=Jalview&workflow=Default&datasetName=JalviewSeqs$DATASETID$&input=$SEQUENCES=/([A-Za-z]+)+/=$&inputType=1|,");
- System.err.println("Adding entry for "+wfname+" "+description);
- if (wfname.toLowerCase().indexOf("funcnet")==-1)
+ // groupURLLinks.addElement("UNIPROT|EnVision2|http://www.ebi.ac.uk/enfin-srv/envision2/pages/linkin.jsf?tool=Jalview&workflow=Default&datasetName=JalviewIDs$DATASETID$&input=$SEQUENCEIDS$&inputType=0|,");
+ // groupURLLinks.addElement("Seqs|EnVision2|http://www.ebi.ac.uk/enfin-srv/envision2/pages/linkin.jsf?tool=Jalview&workflow=Default&datasetName=JalviewSeqs$DATASETID$&input=$SEQUENCES=/([A-Za-z]+)+/=$&inputType=1|,");
+ System.err.println("Adding entry for " + wfname + " " + description);
+ if (wfname.toLowerCase().indexOf("funcnet") == -1)
{
groupURLdescr.addElement(description);
groupURLdescr.addElement(description);
- groupURLLinks.addElement(wfname+"|"+"http://www.ebi.ac.uk/enfin-srv/envision2/pages/linkin.jsf?tool=Jalview&workflow="+wfname+"&datasetName=JalviewSeqs$DATASETID$&input=$SEQUENCEIDS$&inputType=0|,"); // #"+description+"#");
- groupURLLinks.addElement(wfname+"|"+"http://www.ebi.ac.uk/enfin-srv/envision2/pages/linkin.jsf?tool=Jalview&workflow="+wfname+"&datasetName=JalviewSeqs$DATASETID$&input=$SEQUENCES=/([A-Za-z]+)+/=$&inputType=1|,"); // #"+description+"#");
+ groupURLLinks
+ .addElement(wfname
+ + "|"
+ + "http://www.ebi.ac.uk/enfin-srv/envision2/pages/linkin.jsf?tool=Jalview&workflow="
+ + wfname
+ + "&datasetName=JalviewSeqs$DATASETID$&input=$SEQUENCEIDS$&inputType=0|,"); // #"+description+"#");
+ groupURLLinks
+ .addElement(wfname
+ + "|"
+ + "http://www.ebi.ac.uk/enfin-srv/envision2/pages/linkin.jsf?tool=Jalview&workflow="
+ + wfname
+ + "&datasetName=JalviewSeqs$DATASETID$&input=$SEQUENCES=/([A-Za-z]+)+/=$&inputType=1|,"); // #"+description+"#");
}
}
}
- /* (non-Javadoc)
+ /*
+ * (non-Javadoc)
+ *
* @see org.xml.sax.helpers.DefaultHandler#characters(char[], int, int)
*/
public void characters(char[] ch, int start, int length)
throws SAXException
{
- if (description!=null) {
- for (int i=start; i"
+ + JvSwingUtils.wrapTooltip("Submit " + i + " " +
+ dbname +" "
+ + (seqsorids ? "sequence" : "sequence id") + (i > 1 ? "s" : "")
+
+ + " to
" + descr) + "