- super();
- alignFrame = _alignFrame;
- if (!(sh.service instanceof MsaWS))
- {
- // redundant at mo - but may change
- JOptionPane
- .showMessageDialog(
- Desktop.desktop,
- "The Service called \n"
- + sh.serviceType
- + "\nis not a \nMultiple Sequence Alignment Service !",
- "Internal Jalview Error", JOptionPane.WARNING_MESSAGE);
-
- return;
- }
- server = sh.service;
- if (preset != null)
- {
- if (preset instanceof JabaPreset)
- {
- 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())
- {
+ super(_alignFrame, preset, arguments);
+ processParams(sh, editParams).thenAccept((startJob) -> {
+ if (!startJob)