/**
* Generate xml elements of shell action and attach them to xml doc
*/
public void generateXML(Document doc, Element root, NodeWidget next) {
Element action = doc.createElement("action");
action.setAttribute("name", current.getName());
// create <shell>
Element shellEle = doc.createElement("shell");
action.appendChild(shellEle);
// create <job-tracker>
shellEle.appendChild(generateElement(doc, "job-tracker", jt));
// create <name-node>
shellEle.appendChild(generateElement(doc, "name-node", nn));
// create <prepare>
prepareToXML(prepare, shellEle, doc);
// create <job-xml>
filterListToXML(others, shellEle, doc, "job-xml");
// create <configuration>
configToXML(configs, shellEle, doc);
// create <exec>
shellEle.appendChild(generateElement(doc, "exec", exec));
// create <argument>
filterListToXML(others, shellEle, doc, "argument");
// create <env-var>
filterListToXML(others, shellEle, doc, "env-var");
// create <file>
filterListToXML(others, shellEle, doc, "file");
// create <archive>
filterListToXML(others, shellEle, doc, "archive");
// create <capture-output>
if (rby.getValue()) {
Element outputele = doc.createElement("capture-output");
shellEle.appendChild(outputele);
}
// create <ok>
action.appendChild(generateOKElement(doc, next));