/**
* Exports a Scufl script to the local file
*/
public void exportScuflScript() {
Workflow workflow = this.engine.getWorkflow();
ScuflScript script = new ScuflScript(workflow, this.engine
.getConfiguration());
// Check if there is any errors in the workflow first.
ArrayList<String> warnings = new ArrayList<String>();
if (!script.validate(warnings)) {
StringBuilder buf = new StringBuilder();
for (String warning : warnings) {
buf.append("- ");
buf.append(warning);
buf.append("\n");
}
this.engine.getErrorWindow().warning(buf.toString());
return;
}
int returnVal = this.scuflFileChooser.showSaveDialog(this.engine
.getGUI().getFrame());
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = this.scuflFileChooser.getSelectedFile();
logger.finest(file.getPath());
// Put ".py" at the end of the file name
String path = file.getPath();
if (!path.endsWith(XBayaConstants.SCUFL_SCRIPT_SUFFIX)) {
file = new File(path + XBayaConstants.SCUFL_SCRIPT_SUFFIX);
}
try {
// Create the script.
script.create();
// Write to a file
IOUtil.writeToFile(script.getScript(), file);
} catch (IOException e) {
this.engine.getErrorWindow().error(
ErrorMessages.WRITE_FILE_ERROR, e);
} catch (GraphException e) {
this.engine.getErrorWindow().error(