@Override protected void updateItem(boolean accept, Object... params) { String function = param(null, 0, params); boolean refresh = function == null; if (refresh) function = getFunction(); Element element = select(function); if (element != null) { String body = textArea.getText(); if (accept) { NodeList nodes = evaluateXPath(element, "./BODY/text()"); if (nodes != null && nodes.getLength() > 0) { Node node = nodes.item(0); CDATASection cdata = ProfileManager.transports.createCDATASection(body); node.getParentNode().replaceChild(cdata, node); updateModel(refresh, true, true); } } else if (refresh) setFunction(function); } }
@Override protected boolean addItem(boolean refresh, Object function) { if (ProfileManager.transportsLoaded()) { String body = textArea.getText(); if (notNullOrEmpty(body)) { Element element = ProfileManager.transports.createElement("FUNCTION"); element.setAttribute("name", stringValueOf(function)); if (notNullOrEmpty(profile)) element.setAttribute("profile", profile); Element el = ProfileManager.transports.createElement("BODY"); CDATASection cdata = ProfileManager.transports.createCDATASection(body); el.appendChild(cdata); element.appendChild(el); select().appendChild(element); updateModel(true, true, true, function); return true; } } return false; }