*/
package jalview.ws.jws2;
+import java.util.List;
+
import javax.swing.JMenu;
+import compbio.metadata.Argument;
+
import jalview.gui.AlignFrame;
+import jalview.gui.Desktop;
import jalview.gui.WebserviceInfo;
-import jalview.ws.jws2.Jws2Discoverer.Jws2Instance;
+import jalview.gui.WsJobParameters;
+import jalview.ws.jws2.dm.JabaWsParamSet;
+import jalview.ws.jws2.jabaws2.Jws2Instance;
+import jalview.ws.params.WsParamSetI;
/**
- * provides metadata for a jws2 service instance - resolves names, etc.
+ * provides metadata for a jabaws2 service instance - resolves names, etc.
*
* @author JimP
*
*/
public abstract class Jws2Client extends jalview.ws.WSClient
{
+ protected AlignFrame alignFrame;
+
+ protected WsParamSetI preset;
+
+ protected List<Argument> paramset;
+
+ public Jws2Client(AlignFrame _alignFrame,
+ WsParamSetI preset, List<Argument> arguments)
+ {
+ alignFrame = _alignFrame;
+ this.preset = preset;
+ if (preset != null)
+ {
+ if (!((preset instanceof JabaPreset) || preset instanceof JabaWsParamSet))
+ {
+ /*
+ * { this.preset = ((JabaPreset) preset).p; } else if (preset instanceof
+ * JabaWsParamSet) { List<Argument> newargs = new ArrayList<Argument>();
+ * JabaWsParamSet pset = ((JabaWsParamSet) preset); for (Option opt :
+ * pset.getjabaArguments()) { newargs.add(opt); } if (arguments != null
+ * && arguments.size() > 0) { // merge arguments with preset's own
+ * arguments. for (Argument opt : arguments) { newargs.add(opt); } }
+ * paramset = newargs; } else {
+ */
+ throw new Error(
+ "Implementation error: Can only instantiate Jaba parameter sets.");
+ }
+ }
+ else
+ {
+ // just provided with a bunch of arguments
+ this.paramset = arguments;
+ }
+ }
+
+ boolean processParams(Jws2Instance sh, boolean editParams)
+ {
+ return processParams(sh, editParams, false);
+ }
+ protected boolean processParams(Jws2Instance sh, boolean editParams,
+ boolean adjustingExisting)
+ {
+
+ if (editParams)
+ {
+ if (sh.paramStore == null)
+ {
+ sh.paramStore = new JabaParamStore(sh,
+ Desktop.getUserParameterStore());
+ }
+ WsJobParameters jobParams = new WsJobParameters(sh, preset);
+ if (adjustingExisting)
+ {
+ jobParams.setName("Adjusting parameters for existing Calculation");
+ }
+ if (!jobParams.showRunDialog())
+ {
+ return false;
+ }
+ WsParamSetI prset = jobParams.getPreset();
+ if (prset == null)
+ {
+ paramset = JabaParamStore.getJabafromJwsArgs(jobParams
+ .getJobParams());
+ }
+ else
+ {
+ this.preset = prset; // ((JabaPreset) prset).p;
+ paramset = null; // no user supplied parameters.
+ }
+ }
+ return true;
+
+ }
+
+ public Jws2Client()
+ {
+ // anonymous constructor - used for headless method calls only
+ }
+
protected WebserviceInfo setWebService(Jws2Instance serv, boolean b)
{
// serviceHandle = serv;
- String serviceInstance = serv.service.getClass().getName();
+ String serviceInstance = serv.action; // serv.service.getClass().getName();
WebServiceName = serv.serviceType;
WebServiceJobTitle = serv.getActionText();
WsURL = serv.hosturl;
if (!b)
{
return new WebserviceInfo(WebServiceJobTitle, WebServiceJobTitle
- + " using service hosted at " + serv.hosturl);
+ + " using service hosted at " + serv.hosturl + "\n"
+ + (serv.description != null ? serv.description : ""));
}
return null;
}
import compbio.metadata.Option;
import compbio.metadata.Preset;
import compbio.metadata.PresetManager;
-import jalview.ws.jws2.Jws2Discoverer.Jws2Instance;
import jalview.ws.jws2.dm.JabaWsParamSet;
+import jalview.ws.jws2.jabaws2.Jws2Instance;
import jalview.ws.params.WsParamSetI;
/**
*/
MsaWS server;
- AlignFrame alignFrame;
-
- private WsParamSetI preset;
-
- private List<Argument> paramset;
-
- public MsaWSClient(Jws2Discoverer.Jws2Instance sh, String altitle,
+ public MsaWSClient(Jws2Instance sh, String altitle,
jalview.datamodel.AlignmentView msa, boolean submitGaps,
boolean preserveOrder, Alignment seqdataset,
AlignFrame _alignFrame)
// TODO Auto-generated constructor stub
}
- public MsaWSClient(Jws2Discoverer.Jws2Instance sh, WsParamSetI preset,
+ public MsaWSClient(Jws2Instance sh, WsParamSetI preset,
String altitle, jalview.datamodel.AlignmentView msa,
boolean submitGaps, boolean preserveOrder, Alignment seqdataset,
AlignFrame _alignFrame)
* DOCUMENT ME!
*/
- public MsaWSClient(Jws2Discoverer.Jws2Instance sh, WsParamSetI preset,
+ public MsaWSClient(Jws2Instance sh, WsParamSetI preset,
List<Argument> arguments, boolean editParams, String altitle,
jalview.datamodel.AlignmentView msa, boolean submitGaps,
boolean preserveOrder, Alignment seqdataset,
AlignFrame _alignFrame)
{
- super();
- alignFrame = _alignFrame;
+ super(_alignFrame, preset, arguments);
+ if (!processParams(sh, editParams))
+ {
+ return;
+ }
+
if (!(sh.service instanceof MsaWS))
{
// redundant at mo - but may change
return;
}
- server = sh.service;
- this.preset=preset;
- if (preset != null)
- {
- if (!((preset instanceof JabaPreset) || preset instanceof JabaWsParamSet)) {
- /*{
- this.preset = ((JabaPreset) preset).p;
- }
- else if (preset instanceof JabaWsParamSet)
- {
- List<Argument> newargs = new ArrayList<Argument>();
- JabaWsParamSet pset = ((JabaWsParamSet) preset);
- for (Option opt : pset.getjabaArguments())
- {
- newargs.add(opt);
- }
- if (arguments != null && arguments.size() > 0)
- {
- // merge arguments with preset's own arguments.
- for (Argument opt : arguments)
- {
- newargs.add(opt);
- }
- }
- paramset = newargs;
- }
- else
- {*/
- throw new Error(
- "Implementation error: Can only instantiate Jaba parameter sets.");
- }
- }
- else
- {
- // just provided with a bunch of arguments
- this.paramset = arguments;
- }
- if (editParams)
- {
- if (sh.paramStore == null)
- {
- sh.paramStore = new JabaParamStore(sh,
- Desktop.getUserParameterStore());
- }
- WsJobParameters jobParams = new WsJobParameters(sh, preset);
- if (!jobParams.showRunDialog())
- {
- return;
- }
- WsParamSetI prset = jobParams.getPreset();
- if (prset == null)
- {
- paramset = JabaParamStore.getJabafromJwsArgs(jobParams
- .getJobParams());
- }
- else
- {
- this.preset = prset; // ((JabaPreset) prset).p;
- paramset = null; // no user supplied parameters.
- }
- }
-
+ server = (MsaWS) sh.service;
if ((wsInfo = setWebService(sh, false)) == null)
{
JOptionPane.showMessageDialog(Desktop.desktop,
return (WebServiceName.indexOf("lustal") > -1); // cheat!
}
+
public void attachWSMenuEntry(JMenu rmsawsmenu,
final Jws2Instance service, final AlignFrame alignFrame)
{