public void run() {
XBayaConfiguration conf = DynamicWorkflowRunnerWindow.this.engine.getConfiguration();
WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(engine.getGUI().getWorkflow(),topicString,conf.getMessageBoxURL(), conf.getBrokerURL(), conf.getAiravataAPI(), conf, DynamicWorkflowRunnerWindow.this.engine.getGUI(), DynamicWorkflowRunnerWindow.this.engine.getMonitor());
workflowInterpreterConfiguration.setRunWithCrossProduct(isRunCrossProduct);
WorkflowInterpreter workflowInterpreter = new WorkflowInterpreter(
workflowInterpreterConfiguration, new GUIWorkflowInterpreterInteractorImpl(engine, engine.getGUI().getWorkflow()));
DynamicWorkflowRunnerWindow.this.engine.registerWorkflowInterpreter(workflowInterpreter);
try {
MonitorConfiguration notifConfig = DynamicWorkflowRunnerWindow.this.engine.getMonitor()
.getConfiguration();
notifConfig.setTopic(topicString);
DynamicWorkflowRunnerWindow.this.engine.getMonitor().start();
if (resourceMapping != null)
workflowInterpreter.setResourceMapping(resourceMapping);
workflowInterpreter.scheduleDynamically();
// try {
// engine.getConfiguration().getJcrComponentRegistry().getRegistry().saveWorkflowExecutionName(topicString, instanceNameFinal);
// } catch (RegistryException e) {
// e.printStackTrace();
// }
} catch (WorkflowException e) {
try {
workflowInterpreter.cleanup();
} catch (MonitorException e1) {
DynamicWorkflowRunnerWindow.this.engine.getGUI().getErrorWindow().error(e1);
}
DynamicWorkflowRunnerWindow.this.engine.getGUI().getErrorWindow().error(e);
}