/*
- * Jalview - A Sequence Alignment Editor and Viewer
- * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
- *
- * This program 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 2
- * of the License, or (at your option) any later version.
- *
- * This program 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 this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
+ * 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 <http://www.gnu.org/licenses/>.
*/
package jalview.ws;
/**
* DOCUMENT ME!
- *
+ *
* @author $author$
* @version $Revision$
*/
-public class MsaWSClient
- extends WSClient
+public class MsaWSClient extends WSClient
{
/**
* server is a WSDL2Java generated stub for an archetypal MsaWSI service.
*/
ext.vamsas.MuscleWS server;
+
AlignFrame alignFrame;
/**
- * Creates a new MsaWSClient object that uses a service
- * given by an externally retrieved ServiceHandle
- *
- * @param sh service handle of type AbstractName(MsaWS)
- * @param altitle DOCUMENT ME!
- * @param msa DOCUMENT ME!
- * @param submitGaps DOCUMENT ME!
- * @param preserveOrder DOCUMENT ME!
+ * Creates a new MsaWSClient object that uses a service given by an externally
+ * retrieved ServiceHandle
+ *
+ * @param sh
+ * service handle of type AbstractName(MsaWS)
+ * @param altitle
+ * DOCUMENT ME!
+ * @param msa
+ * DOCUMENT ME!
+ * @param submitGaps
+ * DOCUMENT ME!
+ * @param preserveOrder
+ * DOCUMENT ME!
*/
public MsaWSClient(ext.vamsas.ServiceHandle sh, String altitle,
- jalview.datamodel.AlignmentView msa,
- boolean submitGaps, boolean preserveOrder,
- Alignment seqdataset,
- AlignFrame _alignFrame)
+ jalview.datamodel.AlignmentView msa, boolean submitGaps,
+ boolean preserveOrder, Alignment seqdataset,
+ AlignFrame _alignFrame)
{
super();
alignFrame = _alignFrame;
if (!sh.getAbstractName().equals("MsaWS"))
{
- JOptionPane.showMessageDialog(Desktop.desktop,
- "The Service called \n" + sh.getName() +
- "\nis not a \nMultiple Sequence Alignment Service !",
- "Internal Jalview Error",
- JOptionPane.WARNING_MESSAGE);
+ JOptionPane
+ .showMessageDialog(
+ Desktop.desktop,
+ "The Service called \n"
+ + sh.getName()
+ + "\nis not a \nMultiple Sequence Alignment Service !",
+ "Internal Jalview Error", JOptionPane.WARNING_MESSAGE);
return;
}
- if ( (wsInfo = setWebService(sh)) == null)
+ if ((wsInfo = setWebService(sh)) == null)
{
JOptionPane.showMessageDialog(Desktop.desktop,
- "The Multiple Sequence Alignment Service named " +
- sh.getName() +
- " is unknown", "Internal Jalview Error",
- JOptionPane.WARNING_MESSAGE);
+ "The Multiple Sequence Alignment Service named "
+ + sh.getName() + " is unknown",
+ "Internal Jalview Error", JOptionPane.WARNING_MESSAGE);
return;
}
}
private void startMsaWSClient(String altitle, AlignmentView msa,
- boolean submitGaps, boolean preserveOrder,
- Alignment seqdataset)
+ boolean submitGaps, boolean preserveOrder, Alignment seqdataset)
{
if (!locateWebService())
{
return;
}
- wsInfo.setProgressText( ( (submitGaps) ? "Re-alignment" : "Alignment") +
- " of " + altitle + "\nJob details\n");
+ wsInfo.setProgressText(((submitGaps) ? "Re-alignment" : "Alignment")
+ + " of " + altitle + "\nJob details\n");
String jobtitle = WebServiceName.toLowerCase();
if (jobtitle.endsWith("alignment"))
{
if (submitGaps
- && (!jobtitle.endsWith("realignment")
- || jobtitle.indexOf("profile") == -1))
+ && (!jobtitle.endsWith("realignment") || jobtitle
+ .indexOf("profile") == -1))
{
int pos = jobtitle.indexOf("alignment");
- jobtitle = WebServiceName.substring(0, pos) + "re-alignment of " +
- altitle;
+ jobtitle = WebServiceName.substring(0, pos) + "re-alignment of "
+ + altitle;
}
else
{
}
else
{
- jobtitle = WebServiceName + (submitGaps ? " re" : " ") + "alignment of " +
- altitle;
+ jobtitle = WebServiceName + (submitGaps ? " re" : " ")
+ + "alignment of " + altitle;
}
- MsaWSThread msathread = new MsaWSThread(server, WsURL, wsInfo, alignFrame,
- WebServiceName,
- jobtitle,
- msa,
- submitGaps, preserveOrder,
- seqdataset);
+ MsaWSThread msathread = new MsaWSThread(server, WsURL, wsInfo,
+ alignFrame, WebServiceName, jobtitle, msa, submitGaps,
+ preserveOrder, seqdataset);
wsInfo.setthisService(msathread);
msathread.start();
}
/**
* Initializes the server field with a valid service implementation.
- *
+ *
* @return true if service was located.
*/
private boolean locateWebService()
try
{
this.server = (MuscleWS) loc.getMuscleWS(new java.net.URL(WsURL));
- ( (MuscleWSSoapBindingStub)this.server).setTimeout(60000); // One minute timeout
- }
- catch (Exception ex)
+ ((MuscleWSSoapBindingStub) this.server).setTimeout(60000); // One minute
+ // timeout
+ } catch (Exception ex)
{
- wsInfo.setProgressText("Serious! " + WebServiceName +
- " Service location failed\nfor URL :" + WsURL +
- "\n" +
- ex.getMessage());
+ wsInfo.setProgressText("Serious! " + WebServiceName
+ + " Service location failed\nfor URL :" + WsURL + "\n"
+ + ex.getMessage());
wsInfo.setStatus(WebserviceInfo.ERROR);
ex.printStackTrace();
{
return "Multiple Sequence Alignment";
}
+
/**
- * look at ourselves and work out if we are a service that can take a profile and align to it
+ * look at ourselves and work out if we are a service that can take a profile
+ * and align to it
+ *
* @return true if we can send gapped sequences to the alignment service
*/
private boolean canSubmitGaps()
{
- // TODO: query service or extract service handle props to check if we can realign
+ // TODO: query service or extract service handle props to check if we can
+ // realign
return (WebServiceName.indexOf("lustal") > -1); // cheat!
}
- public void attachWSMenuEntry(JMenu msawsmenu, final ServiceHandle serviceHandle, final AlignFrame alignFrame)
+
+ public void attachWSMenuEntry(JMenu msawsmenu,
+ final ServiceHandle serviceHandle, final AlignFrame alignFrame)
{
setWebService(serviceHandle, true); // headless
JMenuItem method = new JMenuItem(WebServiceName);
public void actionPerformed(ActionEvent e)
{
AlignmentView msa = alignFrame.gatherSequencesForAlignment();
- new jalview.ws.MsaWSClient(serviceHandle, alignFrame.getTitle(), msa,
- false, true,
- alignFrame.getViewport().getAlignment().getDataset(),
- alignFrame);
+ new jalview.ws.MsaWSClient(serviceHandle, alignFrame.getTitle(),
+ msa, false, true, alignFrame.getViewport().getAlignment()
+ .getDataset(), alignFrame);
}
});
- msawsmenu.add(method);
+ msawsmenu.add(method);
if (canSubmitGaps())
{
// We know that ClustalWS can accept partial alignments for refinement.
- final JMenuItem methodR = new JMenuItem(serviceHandle.getName()+" Realign");
+ final JMenuItem methodR = new JMenuItem(serviceHandle.getName()
+ + " Realign");
methodR.setToolTipText(WsURL);
- methodR.addActionListener(new ActionListener()
+ methodR.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
AlignmentView msa = alignFrame.gatherSequencesForAlignment();
- new jalview.ws.MsaWSClient(serviceHandle, alignFrame.getTitle(), msa,
- true, true,
- alignFrame.getViewport().getAlignment().getDataset(),
- alignFrame);
+ new jalview.ws.MsaWSClient(serviceHandle, alignFrame.getTitle(),
+ msa, true, true, alignFrame.getViewport().getAlignment()
+ .getDataset(), alignFrame);
}