List of usage examples for org.w3c.dom Text setData
public void setData(String data) throws DOMException;
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, "&#", "&#"); 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); } }