+ if (!processParams(sh, editParams))
+ {
+ return;
+ }
+ try
+ {
+ worker = (AbstractJabaCalcWorker) (clientClass
+ .getConstructor(new Class[]
+ { Jws2Instance.class, AlignFrame.class, WsParamSetI.class,
+ List.class })
+ .newInstance(new Object[]
+ { sh, alignFrame, this.preset, paramset }));
+ } catch (Exception x)
+ {
+ x.printStackTrace();
+ throw new Error(
+ MessageManager.getString("error.implementation_error"),
+ x);
+ }
+ alignFrame.getViewport().getCalcManager().registerWorker(worker);
+ alignFrame.getViewport().getCalcManager().startWorker(worker);
+
+ }
+ else
+ {
+ worker = (AbstractJabaCalcWorker) clnts.get(0);
+ if (editParams)
+ {
+ paramset = worker.getArguments();
+ preset = worker.getPreset();
+ }
+
+ if (!processParams(sh, editParams, true))
+ {
+ return;
+ }
+ // reinstate worker if it was blacklisted (might have happened due to
+ // invalid parameters)
+ alignFrame.getViewport().getCalcManager().enableWorker(worker);
+ worker.updateParameters(this.preset, paramset);