/** * Removes empty text nodes from the specified node * * @param node the element where empty text nodes will be removed * @deprecated use {@link DomUtils#removeTextNodes(Node)} instead */ @Deprecated public static void removeTextNodes(final Node node) { DomUtils.removeTextNodes(node); }
/** * Removes any elements matching the given XPath expression, relative to the * given Element * * @param xPath the XPath of the element(s) to remove (can be blank) * @param searchBase the element to which the XPath expression is relative */ public static void removeElements(final String xPath, final Element searchBase) { for (final Element elementToDelete : XmlUtils.findElements(xPath, searchBase)) { final Node parentNode = elementToDelete.getParentNode(); parentNode.removeChild(elementToDelete); removeTextNodes(parentNode); } }
/** * Removes empty text nodes from the specified node. * * @param node the element where empty text nodes will be removed */ public static void removeTextNodes(final Node node) { if (node == null) { return; } final NodeList children = node.getChildNodes(); for (int i = children.getLength() - 1; i >= 0; i--) { final Node child = children.item(i); switch (child.getNodeType()) { case Node.ELEMENT_NODE: removeTextNodes(child); break; case Node.CDATA_SECTION_NODE: case Node.TEXT_NODE: if (StringUtils.isBlank(child.getNodeValue())) { node.removeChild(child); } break; } } }
DomUtils.removeTextNodes(root); } else {
DomUtils.removeTextNodes(root);
return; DomUtils.removeTextNodes(dependenciesElement); final String message = getDescriptionOfChange(REMOVED, removedDependencies, "dependency", "dependencies");
public void removeProperty(final String moduleName, final Property property) { Validate .isTrue(isProjectAvailable(moduleName), "Property modification prohibited at this time"); Validate.notNull(property, "Property to remove required"); final Pom pom = getPomFromModuleName(moduleName); Validate.notNull(pom, "The pom is not available, so property removal cannot be performed"); if (!pom.isPropertyRegistered(property)) { return; } final Document document = XmlUtils.readXml(fileManager.getInputStream(pom.getPath())); final Element root = document.getDocumentElement(); final Element propertiesElement = XmlUtils.findFirstElement("/project/properties", root); String descriptionOfChange = ""; for (final Element candidate : XmlUtils.findElements("/project/properties/*", document.getDocumentElement())) { if (property.equals(new Property(candidate))) { propertiesElement.removeChild(candidate); descriptionOfChange = highlight(REMOVED + " property") + " " + property.getName(); // Stay in the loop just in case it was in the POM more than // once } } DomUtils.removeTextNodes(propertiesElement); fileManager.createOrUpdateTextFileIfRequired(pom.getPath(), XmlUtils.nodeToString(document), descriptionOfChange, false); }
DomUtils.removeTextNodes(root);
return; DomUtils.removeTextNodes(pluginsElement); final String message = getDescriptionOfChange(REMOVED, removedPlugins, "plugin", "plugins");
DomUtils.removeTextNodes(dependenciesElement);
DomUtils.removeTextNodes(fieldElement);
.getInputStream(filename)); if (XmlRoundTripUtils.compareDocuments(original, proposed)) { DomUtils.removeTextNodes(original); final String updateContents = XmlUtils .nodeToString(original);
DomUtils.removeTextNodes(warPluginElement);
DomUtils.removeTextNodes(document); return document;