Example usage for org.w3c.dom Text setData

List of usage examples for org.w3c.dom Text setData

Introduction

In this page you can find the example usage for org.w3c.dom Text setData.

Prototype

public void setData(String data) throws DOMException;

Source Link

Document

The character data of the node that implements this interface.

Usage

From source file:DOMEdit.java

public static void newEmail(Document doc, String newname, String newemail) {
        Element root = doc.getDocumentElement();
        NodeList rootlist = root.getChildNodes();
        for (int i = 0; i < rootlist.getLength(); i++) {
            Element person = (Element) rootlist.item(i);
            NodeList personlist = person.getChildNodes();
            Element name = (Element) personlist.item(0);
            NodeList namelist = name.getChildNodes();
            Text nametext = (Text) namelist.item(0);
            String oldname = nametext.getData();
            if (oldname.equals(newname)) {
                Element email = (Element) personlist.item(1);
                NodeList emaillist = email.getChildNodes();
                Text emailtext = (Text) emaillist.item(0);
                emailtext.setData(newemail);
            }/* ww w .j a  v a  2 s  . co  m*/
        }
    }

From source file:DomUtil.java

/**
 * Sets the text content of a DOM <code>Element</code>.
 * //w w w.  j  av  a  2 s  .c  o m
 * @param element The <code>Element</code> to modify.
 * @param value The new text value.
 */
public static void setElementText(Element element, String value) {
    NodeList children = element.getChildNodes();
    int childCount = children.getLength();
    for (int index = 0; index < childCount; ++index) {
        if (children.item(index) instanceof Text) {
            Text text = (Text) children.item(index);
            text.setData(value);
            return;
        }
    }
    Text text = element.getOwnerDocument().createTextNode(value);
    element.appendChild(text);
}

From source file:net.mumie.coursecreator.xml.GraphXMLizer.java

/**
 * Describe <code>recodeUmlauts</code> method here.
 *
 * @param theText a <code>Text</code> value
 * @deprecated method considered harmful as its result confuses the transformer
 *//*w w w .  jav a  2 s  .com*/
public static void recodeUmlauts(Text theText) {

    String txt = theText.getData();
    // FIXME(4): one might want to allow HTML entities to appear in the
    //           Text node someday. These must be weeded out beforehand. 
    String xmlString = StringEscapeUtils.escapeXml(txt);
    //    xmlString = StringUtils.replace(xmlString, "&amp;#", "&#");

    try {
        theText.setData(xmlString);
    } catch (RuntimeException re) {
        CCController.dialogErrorOccured("GraphXMLizer: RuntimeException",
                "GraphXMLizer: RuntimeException: " + re, JOptionPane.ERROR_MESSAGE);

        // nothing -- leave theText as-is
    } // end of try-catch
}

From source file:com.google.appengine.tools.mapreduce.ConfigurationTemplatePreprocessor.java

/**
 * Substitutes in the values in params for templated values. After this method
 * is called, any subsequent calls to this method for the same object result in
 * an {@link IllegalStateException}. To preprocess the template again,
 * create another {@code ConfigurationTemplatePreprocessor} from the source XML.
 *
 * @param params a map from key to value of all the template parameters
 * @return the document as an XML string with the template parameters filled
 * in/* ww w .j a v a2  s  .c  om*/
 * @throws MissingTemplateParameterException if any required parameter is
 * omitted
 * @throws IllegalStateException if this method has previously been called
 * on this object
 */
public String preprocess(Map<String, String> params) {
    HashMap<String, String> paramsCopy = new HashMap<String, String>(params);
    if (preprocessCalled) {
        throw new IllegalStateException("Preprocess can't be called twice for the same object");
    }
    preprocessCalled = true;

    for (Entry<String, Element> entry : nameToValueElement.entrySet()) {
        Element valueElem = entry.getValue();
        boolean isTemplateValue = valueElem.hasAttribute("template");
        if (paramsCopy.containsKey(entry.getKey()) && isTemplateValue) {
            // Modifies the map in place, but that's fine for our use.
            Text valueData = (Text) valueElem.getFirstChild();
            String newValue = paramsCopy.get(entry.getKey());
            if (valueData != null) {
                valueData.setData(newValue);
            } else {
                valueElem.appendChild(doc.createTextNode(newValue));
            }
            // Remove parameter, so we can tell if they gave us extras.
            paramsCopy.remove(entry.getKey());
        } else if (isTemplateValue) {
            String templateAttribute = valueElem.getAttribute("template");
            if ("required".equals(templateAttribute)) {
                throw new MissingTemplateParameterException(
                        "Couldn't find expected parameter " + entry.getKey());
            } else if ("optional".equals(templateAttribute)) {
                // The default value is the one already in the value text, so
                // leave it be. The one exception is if they self-closed the value tag,
                // so go ahead and add a Text child so Configuration doesn't barf.
                if (valueElem.getFirstChild() == null) {
                    valueElem.appendChild(doc.createTextNode(""));
                }
            } else {
                throw new IllegalArgumentException("Value " + templateAttribute + " is not a valid template "
                        + "attribute. Valid possibilities are: \"required\" or \"optional\".");
            }
            // Remove parameter, so we can tell if they gave us extras.
            paramsCopy.remove(entry.getKey());
        } else {
            throw new IllegalArgumentException(
                    "Configuration property " + entry.getKey() + " is not a template property");
        }

        // removeAttribute has no effect if the attributes don't exist
        valueElem.removeAttribute("template");
    }

    if (paramsCopy.size() > 0) {
        // TODO(user): Is there a good way to bubble up all bad parameters?
        throw new UnexpectedTemplateParameterException("Parameter " + paramsCopy.keySet().iterator().next()
                + " wasn't found in the configuration template.");
    }

    return getDocAsXmlString();
}

From source file:com.icesoft.faces.component.paneltabset.PanelTabSetRenderer.java

/**
 * @param linkText// w w  w.j a  v a2  s . c om
 * @param domContext
 * @param link
 * @param tab
 * @param tabSet
 */
private void renderLinkText(String linkText, DOMContext domContext, Element link, PanelTab tab,
        PanelTabSet tabSet) {

    // create a new or update the old text node for the label
    if (linkText != null && linkText.length() != 0) {
        Text labelNode = (Text) link.getFirstChild();
        if (labelNode == null) {
            labelNode = domContext.createTextNode(linkText);
            tab.addHeaderText(domContext, link, labelNode, tabSet);
        } else {
            labelNode.setData(linkText);
        }
    }
}

From source file:com.enonic.vertical.adminweb.ContentObjectHandlerServlet.java

public void handlerCopy(HttpServletRequest request, HttpServletResponse response, HttpSession session,
        AdminService admin, ExtendedMap formItems, User user, int key)
        throws VerticalAdminException, VerticalEngineException {

    String xmlCO = admin.getContentObject(Integer.parseInt(request.getParameter("key")));
    Document doc = XMLTool.domparse(xmlCO);

    Element nameElem = (Element) XMLTool.selectNode(doc, "/contentobjects/contentobject/name");
    Node[] nameArray = XMLTool.filterNodes(nameElem.getChildNodes(), Node.TEXT_NODE);

    Text name = (Text) nameArray[0];
    AdminConsoleTranslationService languageMap = AdminConsoleTranslationService.getInstance();
    Map translationMap = languageMap.getTranslationMap(user.getSelectedLanguageCode());
    name.setData(name.getData() + " (" + translationMap.get("%txtCopy%") + ")");

    Element coElem = (Element) XMLTool.selectNode(doc, "/contentobjects/contentobject");
    coElem.removeAttribute("key");

    Element docRoot = doc.getDocumentElement();
    doc.replaceChild(coElem, docRoot);/*from   ww w  . j  a  v a  2s  . c o m*/

    key = admin.createContentObject(user, XMLTool.documentToString(doc));

    redirectClientToReferer(request, response);
}

From source file:com.enonic.vertical.engine.handlers.ContentObjectHandler.java

public void copyContentObjectsPostOp(int oldMenuKey, CopyContext copyContext) throws VerticalCopyException {

    boolean includeContents = copyContext.isIncludeContents();
    int newMenuKey = copyContext.getMenuKey(oldMenuKey);

    try {/* w  w  w. j ava 2 s .c om*/
        Document doc = getContentObjectsByMenu(newMenuKey);
        Element[] contentobjectElems = XMLTool.getElements(doc.getDocumentElement());

        for (Element contentobjectElem : contentobjectElems) {
            Element codElem = XMLTool.getElement(contentobjectElem, "contentobjectdata");

            // datasource
            NodeList parameterList = XMLTool.selectNodes(codElem,
                    "datasources/datasource/parameters/parameter");
            for (int k = 0; k < parameterList.getLength(); k++) {
                Element parameterElem = (Element) parameterList.item(k);
                String name = parameterElem.getAttribute("name");
                if ("cat".equalsIgnoreCase(name)) {
                    Text text = (Text) parameterElem.getFirstChild();
                    if (text != null) {
                        String oldCategoryKeys = text.getData();

                        Matcher m = CATEGORY_KEYLIST_PATTERN.matcher(oldCategoryKeys);
                        if (m.matches()) {
                            StringBuffer data = translateCategoryKeys(copyContext, oldCategoryKeys);
                            text.setData(data.toString());
                        }
                    }
                } else if ("menu".equalsIgnoreCase(name)) {
                    Text text = (Text) parameterElem.getFirstChild();
                    if (text != null) {
                        int oldKey = Integer.parseInt(text.getData());
                        int newKey = copyContext.getMenuKey(oldKey);
                        if (newKey >= 0) {
                            text.setData(String.valueOf(newKey));
                        } else {
                            text.setData(String.valueOf(oldKey));
                        }
                    }
                }
            }

            // stylesheet parameters
            NodeList stylesheetparamList = XMLTool.selectNodes(codElem, "stylesheetparams/stylesheetparam");
            for (int k = 0; k < stylesheetparamList.getLength(); k++) {
                Element stylesheetparamElem = (Element) stylesheetparamList.item(k);
                String type = stylesheetparamElem.getAttribute("type");
                if ("page".equals(type)) {
                    Text text = (Text) stylesheetparamElem.getFirstChild();
                    if (text != null) {
                        String oldMenuItemKey = text.getData();
                        if (oldMenuItemKey != null && oldMenuItemKey.length() > 0) {
                            int newMenuItemKey = copyContext.getMenuItemKey(Integer.parseInt(oldMenuItemKey));
                            if (newMenuItemKey >= 0) {
                                text.setData(String.valueOf(newMenuItemKey));
                            } else {
                                XMLTool.removeChildNodes(stylesheetparamElem, true);
                            }
                        } else {
                            XMLTool.removeChildNodes(stylesheetparamElem, true);
                        }
                    }
                }
            }

            // border parameters
            NodeList borderparamList = XMLTool.selectNodes(codElem, "borderparams/borderparam");
            for (int k = 0; k < borderparamList.getLength(); k++) {
                Element borderparamElem = (Element) borderparamList.item(k);
                String type = borderparamElem.getAttribute("type");
                if ("page".equals(type)) {
                    Text text = (Text) borderparamElem.getFirstChild();
                    if (text != null) {
                        String oldMenuItemKey = text.getData();
                        if (oldMenuItemKey != null && oldMenuItemKey.length() > 0) {
                            int newMenuItemKey = copyContext.getMenuItemKey(Integer.parseInt(oldMenuItemKey));
                            if (newMenuItemKey >= 0) {
                                text.setData(String.valueOf(newMenuItemKey));
                            } else {
                                XMLTool.removeChildNodes(borderparamElem, true);
                            }
                        } else {
                            XMLTool.removeChildNodes(borderparamElem, true);
                        }
                    }
                }
            }
        }

        updateContentObject(doc);
    } catch (VerticalUpdateException vue) {
        String message = "Failed to copy content objects (post operation): %t";
        VerticalEngineLogger.errorCopy(this.getClass(), 0, message, vue);
    }
}

From source file:com.enonic.vertical.engine.handlers.PageTemplateHandler.java

public int copyPageTemplate(User user, PageTemplateKey pageTemplateKey) throws VerticalCopyException {

    Document doc = getPageTemplate(pageTemplateKey).getAsDOMDocument();
    Element root = doc.getDocumentElement();
    Element pagetemplateElem = XMLTool.getFirstElement(root);
    int newPageTemplateKey = -1;
    if (pagetemplateElem != null) {
        // rename copy
        Map translationMap = languageMap.getTranslationMap(user.getSelectedLanguageCode());
        Element nameElem = XMLTool.getElement(pagetemplateElem, "name");
        Text nameNode = (Text) nameElem.getFirstChild();
        nameNode.setData(nameNode.getData() + " (" + translationMap.get("%txtCopy%") + ")");

        // remove old parameter keys and save position
        Map<String, String> paramKeyMap = new HashMap<String, String>();
        Element[] paramElems = XMLTool
                .getElements(XMLTool.getElement(pagetemplateElem, "pagetemplateparameters"));
        for (int i = 0; i < paramElems.length; i++) {
            String key = paramElems[i].getAttribute("key");
            paramKeyMap.put(key, "_" + i);
            paramElems[i].removeAttribute("key");
        }/*from ww  w .j a va 2  s .  c  om*/

        // replace old parameter keys with saved position
        Element[] contentobjectElems = XMLTool
                .getElements(XMLTool.getElement(pagetemplateElem, "contentobjects"));
        for (Element contentobjectElem : contentobjectElems) {
            String key = contentobjectElem.getAttribute("parameterkey");
            contentobjectElem.setAttribute("parameterkey", paramKeyMap.get(key));
        }

        try {
            int[] keys = createPageTemplate(null, doc, false);
            if (keys != null && keys.length == 1) {
                newPageTemplateKey = keys[0];
            }
        } catch (VerticalCreateException vce) {
            String message = "Failed to create copy of framework: %t";
            VerticalEngineLogger.errorCopy(this.getClass(), 0, message, vce);
        }
    }
    return newPageTemplateKey;
}

From source file:com.enonic.vertical.engine.handlers.PageTemplateHandler.java

public void copyPageTemplatesPostOp(int oldMenuKey, CopyContext copyContext) throws VerticalCopyException {

    int newMenuKey = copyContext.getMenuKey(oldMenuKey);

    Document doc = getPageTemplatesByMenu(newMenuKey, null);
    Element[] pageTemplateElems = XMLTool.getElements(doc.getDocumentElement());

    try {//ww w. j  a  va2  s . c o m
        for (Element pageTemplateElem : pageTemplateElems) {

            // datasource
            NodeList parameterList = XMLTool.selectNodes(pageTemplateElem,
                    "datasources/datasource/parameters/parameter");
            for (int j = 0; j < parameterList.getLength(); j++) {
                Element parameterElem = (Element) parameterList.item(j);
                String name = parameterElem.getAttribute("name");
                if ("cat".equalsIgnoreCase(name)) {
                    Text text = (Text) parameterElem.getFirstChild();
                    if (text != null) {
                        String oldCategoryKey = text.getData();
                        if (oldCategoryKey != null && oldCategoryKey.length() > 0) {
                            int newCategoryKey = copyContext.getCategoryKey(Integer.parseInt(oldCategoryKey));
                            if (newCategoryKey >= 0) {
                                text.setData(String.valueOf(newCategoryKey));
                            }
                        }
                    }
                } else if ("menu".equalsIgnoreCase(name)) {
                    Text text = (Text) parameterElem.getFirstChild();
                    if (text != null) {
                        String oldKey = text.getData();
                        if (oldKey != null && oldKey.length() > 0) {
                            int newKey = copyContext.getMenuKey(Integer.parseInt(oldKey));
                            if (newKey >= 0) {
                                text.setData(String.valueOf(newKey));
                            }
                        }
                    }
                }
            }
        }

        updatePageTemplate(doc);
    } catch (VerticalUpdateException vue) {
        String message = "Failed to copy page templates (post operation): %t";
        VerticalEngineLogger.errorCopy(this.getClass(), 0, message, vue);
    }
}

From source file:com.enonic.vertical.engine.handlers.MenuHandler.java

private void copyMenu(CopyContext copyContext, Element menuElem) throws VerticalCopyException,
        VerticalCreateException, VerticalUpdateException, VerticalSecurityException {

    if (menuElem != null) {
        User user = copyContext.getUser();
        int oldMenuKey = Integer.parseInt(menuElem.getAttribute("key"));

        //if (copyContext.getOldSiteKey() != copyContext.getNewSiteKey())
        //  menuElem.setAttribute("sitekey", String.valueOf(copyContext.getNewSiteKey()));
        //else {// ww w.j av a 2s . c om
        Element nameElem = XMLTool.getElement(menuElem, "name");
        Text text = (Text) nameElem.getFirstChild();
        Map translationMap = languageMap.getTranslationMap(user.getSelectedLanguageCode());
        text.setData(text.getData() + " (" + translationMap.get("%txtCopy%") + ")");
        //}

        Element elem = XMLTool.getElement(menuElem, "firstpage");
        String oldFirstPageKey = elem.getAttribute("key");
        elem.removeAttribute("key");

        elem = XMLTool.getElement(menuElem, "loginpage");
        String oldLoginPageKey = elem.getAttribute("key");
        elem.removeAttribute("key");

        elem = XMLTool.getElement(menuElem, "errorpage");
        String oldErrorPageKey = elem.getAttribute("key");
        elem.removeAttribute("key");

        String oldDefaultPageTemplateKey = null;
        elem = XMLTool.getElement(menuElem, "defaultpagetemplate");
        if (elem != null) {
            oldDefaultPageTemplateKey = elem.getAttribute("pagetemplatekey");
            elem.removeAttribute("pagetemplatekey");
        }

        Document newDoc = XMLTool.createDocument();
        Element newMenuElem = (Element) newDoc.importNode(menuElem, true);
        newDoc.appendChild(newMenuElem);
        Element menuitemsElem = XMLTool.getElement(newMenuElem, "menuitems");
        newMenuElem.removeChild(menuitemsElem);
        SiteKey menuKey = createMenu(user, copyContext, newDoc, false);

        // copy content objects and page templates
        ContentObjectHandler contentObjectHandler = getContentObjectHandler();
        contentObjectHandler.copyContentObjects(oldMenuKey, copyContext);
        PageTemplateHandler pageTemplateHandler = getPageTemplateHandler();
        pageTemplateHandler.copyPageTemplates(oldMenuKey, copyContext);

        Document doc = getMenu(user, menuKey.toInt(), true, true);
        Element docElem = doc.getDocumentElement();
        newMenuElem = (Element) docElem.getFirstChild();
        doc.replaceChild(newMenuElem, docElem);
        Element newMenuitemsElem = (Element) doc.importNode(menuitemsElem, true);
        menuitemsElem = XMLTool.getElement(newMenuElem, "menuitems");
        newMenuElem.replaceChild(newMenuitemsElem, menuitemsElem);

        // prepare copy of menu items
        prepareCopy(newMenuitemsElem, copyContext);
        updateMenu(user, copyContext, doc, false);

        if (oldFirstPageKey != null && oldFirstPageKey.length() > 0) {
            elem = XMLTool.createElementIfNotPresent(doc, newMenuElem, "firstpage");
            elem.setAttribute("key",
                    String.valueOf(copyContext.getMenuItemKey(Integer.parseInt(oldFirstPageKey))));
        }

        if (oldLoginPageKey != null && oldLoginPageKey.length() > 0) {
            elem = XMLTool.createElementIfNotPresent(doc, newMenuElem, "loginpage");
            elem.setAttribute("key",
                    String.valueOf(copyContext.getMenuItemKey(Integer.parseInt(oldLoginPageKey))));
        }

        if (oldErrorPageKey != null && oldErrorPageKey.length() > 0) {
            elem = XMLTool.createElementIfNotPresent(doc, newMenuElem, "errorpage");
            elem.setAttribute("key",
                    String.valueOf(copyContext.getMenuItemKey(Integer.parseInt(oldErrorPageKey))));
        }

        if (oldDefaultPageTemplateKey != null && oldDefaultPageTemplateKey.length() > 0) {
            elem = XMLTool.createElement(doc, newMenuElem, "defaultpagetemplate");
            elem.setAttribute("pagetemplatekey", String
                    .valueOf(copyContext.getPageTemplateKey(Integer.parseInt(oldDefaultPageTemplateKey))));
        }

        if (copyContext.isIncludeContents()) {
            menuitemsElem = XMLTool.getElement(newMenuElem, "menuitems");
            prepareUpdate(menuitemsElem);
        }

        // update default css
        Element menudataElem = XMLTool.getElement(newMenuElem, "menudata");
        Element defaultcssElem = XMLTool.getElement(menudataElem, "defaultcss");
        if (defaultcssElem != null) {
            String cssKey = defaultcssElem.getAttribute("key");
            if (cssKey != null && cssKey.length() > 0) {
                defaultcssElem.setAttribute("key", cssKey);
            }
        }

        updateMenu(user, copyContext, doc, true);

        // post-process content objects and page templates
        contentObjectHandler.copyContentObjectsPostOp(oldMenuKey, copyContext);
        pageTemplateHandler.copyPageTemplatesPostOp(oldMenuKey, copyContext);
    }
}