X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2FEnfinEnvision2OneWay.java;h=12d81ed617114f4491229433b2c4c5edd797daf2;hb=fe55e5ed429347087cccb692e014f23c01026327;hp=6a9371bd84c0af99bbfd6c4f5e4e703a2feca671;hpb=8a6fa9ea9900d0f106529c3f6283e7f9d76dd2cb;p=jalview.git diff --git a/src/jalview/ws/EnfinEnvision2OneWay.java b/src/jalview/ws/EnfinEnvision2OneWay.java index 6a9371b..12d81ed 100644 --- a/src/jalview/ws/EnfinEnvision2OneWay.java +++ b/src/jalview/ws/EnfinEnvision2OneWay.java @@ -1,19 +1,20 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6) - * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1) + * Copyright (C) 2014 The Jalview Authors * * 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 . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.ws; @@ -30,15 +31,13 @@ import jalview.util.GroupUrlLink.UrlStringTooLongException; import java.awt.Component; import java.awt.Cursor; import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; -import java.io.BufferedReader; -import java.io.InputStreamReader; +import java.io.UnsupportedEncodingException; import java.net.URL; +import java.net.URLEncoder; import java.util.Hashtable; import java.util.Map; import java.util.Vector; +import java.util.regex.Pattern; import javax.swing.JMenu; import javax.swing.JMenuItem; @@ -52,6 +51,8 @@ import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; +import com.lowagie.text.html.HtmlEncoder; + /** * Lightweight runnable to discover dynamic 'one way' group URL services * @@ -138,19 +139,34 @@ public class EnfinEnvision2OneWay extends DefaultHandler implements System.err.println("Adding entry for " + wfname + " " + description); if (wfname.toLowerCase().indexOf("funcnet") == -1) { + description = Pattern.compile("\\s+", Pattern.MULTILINE) + .matcher(description).replaceAll(" "); groupURLdescr.addElement(description); groupURLdescr.addElement(description); + String urlstub = wfname; + if (wfname.indexOf(" ") > -1) + { + // make the name safe! + try + { + urlstub = URLEncoder.encode(wfname, "utf-8"); + } catch (UnsupportedEncodingException e) + { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } groupURLLinks .addElement(wfname + "|" + "http://www.ebi.ac.uk/enfin-srv/envision2/pages/linkin.jsf?tool=Jalview&workflow=" - + wfname + + urlstub + "&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 + + urlstub + "&datasetName=JalviewSeqs$DATASETID$&input=$SEQUENCES=/([A-Za-z]+)+/=$&inputType=1|,"); // #"+description+"#"); } } @@ -297,6 +313,14 @@ public class EnfinEnvision2OneWay extends DefaultHandler implements return; } } + try + { + descr = HtmlEncoder.encode(descr); + } catch (Exception e) + { + } + ; + boolean seqsorids = (urlgenerator.getGroupURLType() & urlgenerator.SEQUENCEIDS) == 0; int i = urlgenerator.getNumberInvolved(urlstub); JMenuItem item = new JMenuItem(label);