public void run() {
XBayaConfiguration conf = DynamicWorkflowRunnerWindow.this.engine.getConfiguration();
WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(engine.getGUI().getWorkflow(),topicString,conf.getMessageBoxURL(), conf.getBrokerURL(), conf.getJcrComponentRegistry().getRegistry(), conf, DynamicWorkflowRunnerWindow.this.engine.getGUI(), new MyProxyChecker(DynamicWorkflowRunnerWindow.this.engine), 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);
}