Example usage for org.w3c.dom Element getParentNode

List of usage examples for org.w3c.dom Element getParentNode

Introduction

In this page you can find the example usage for org.w3c.dom Element getParentNode.

Prototype

public Node getParentNode();

Source Link

Document

The parent of this node.

Usage

From source file:org.gvnix.service.roo.addon.addon.util.WsdlParserUtils.java

/**
 * Check port if Supported port element of the root.
 * <p>/*from  ww w. j  a  v a 2s.  c  o m*/
 * Should exists only one compatible port using SOAP protocol version 1.1 or
 * 1.2.
 * </p>
 * 
 * @param root Root element of wsdl
 * @return Compatible port element
 */
public static Element checkCompatiblePort(Element root) {

    Validate.notNull(root, ROOT_ELEMENT_REQUIRED);

    // Find a compatible address element
    Element address = checkCompatibleAddress(root);
    Validate.notNull(address, "No compatible SOAP 1.1 or 1.2 protocol");

    // Get the port element defined by the wsdl
    Element port = ((Element) address.getParentNode());

    return port;
}

From source file:org.gvnix.service.roo.addon.addon.util.WsdlParserUtils.java

/**
 * Find the first compatible port element of the root.
 * <p>//from   w w  w. j av  a2 s  .  c om
 * Compatible port should be SOAP protocol version 1.1 and 1.2.
 * </p>
 * 
 * @param root Root element of wsdl
 * @return First compatible port element
 */
public static Element findFirstCompatiblePort(Element root) {

    Validate.notNull(root, ROOT_ELEMENT_REQUIRED);

    // Find a compatible address element
    Element address = findFirstCompatibleAddress(root);
    Validate.notNull(address, "No compatible SOAP 1.1 or 1.2 protocol");

    // Get the port element defined by the wsdl
    Element port = ((Element) address.getParentNode());

    return port;
}

From source file:com.enonic.esl.xml.XMLTool.java

public static void removeAllSiblings(Element node) {

    Element parent = (Element) node.getParentNode();

    Element sibling = (Element) parent.getFirstChild();
    while (sibling != null) {
        if (sibling != node) {
            sibling = removeChildFromParent(parent, sibling);
        } else {/*from  ww w  . ja va  2  s .c  o  m*/
            sibling = (Element) sibling.getNextSibling();
        }
    }
}

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

private Document filterResources(Document resourceDoc, String searchText) {

    if (searchText == null || searchText.length() == 0) {
        return resourceDoc;
    }//from  w w w.j a v  a  2  s.c  o m

    Element root = resourceDoc.getDocumentElement();
    Element[] children = XMLTool.selectElements(root, "//resource");

    for (Element child : children) {
        String name = child.getAttribute("name");
        if (!name.toLowerCase().contains(searchText.toLowerCase())) {
            child.getParentNode().removeChild(child);
        }
    }

    return resourceDoc;
}

From source file:Main.java

protected static String nodeToString(Node node, Set<String> parentPrefixes, String namespaceURI)
        throws Exception {
    StringBuilder b = new StringBuilder();

    if (node == null) {
        return "";
    }/*from   w  w  w  . ja v a2  s .c o m*/

    if (node instanceof Element) {
        Element element = (Element) node;
        b.append("<");
        b.append(element.getNodeName());

        Map<String, String> thisLevelPrefixes = new HashMap();
        if (element.getPrefix() != null && !parentPrefixes.contains(element.getPrefix())) {
            thisLevelPrefixes.put(element.getPrefix(), element.getNamespaceURI());
        }

        if (element.hasAttributes()) {
            NamedNodeMap map = element.getAttributes();
            for (int i = 0; i < map.getLength(); i++) {
                Node attr = map.item(i);
                if (attr.getNodeName().startsWith("xmlns"))
                    continue;
                if (attr.getPrefix() != null && !parentPrefixes.contains(attr.getPrefix())) {
                    thisLevelPrefixes.put(attr.getPrefix(), element.getNamespaceURI());
                }
                b.append(" ");
                b.append(attr.getNodeName());
                b.append("=\"");
                b.append(attr.getNodeValue());
                b.append("\"");
            }
        }

        if (namespaceURI != null && !thisLevelPrefixes.containsValue(namespaceURI)
                && !namespaceURI.equals(element.getParentNode().getNamespaceURI())) {
            b.append(" xmlns=\"").append(namespaceURI).append("\"");
        }

        for (Map.Entry<String, String> entry : thisLevelPrefixes.entrySet()) {
            b.append(" xmlns:").append(entry.getKey()).append("=\"").append(entry.getValue()).append("\"");
            parentPrefixes.add(entry.getKey());
        }

        NodeList children = element.getChildNodes();
        boolean hasOnlyAttributes = true;
        for (int i = 0; i < children.getLength(); i++) {
            Node child = children.item(i);
            if (child.getNodeType() != Node.ATTRIBUTE_NODE) {
                hasOnlyAttributes = false;
                break;
            }
        }
        if (!hasOnlyAttributes) {
            b.append(">");
            for (int i = 0; i < children.getLength(); i++) {
                b.append(nodeToString(children.item(i), parentPrefixes, children.item(i).getNamespaceURI()));
            }
            b.append("</");
            b.append(element.getNodeName());
            b.append(">");
        } else {
            b.append("/>");
        }

        for (String thisLevelPrefix : thisLevelPrefixes.keySet()) {
            parentPrefixes.remove(thisLevelPrefix);
        }

    } else if (node.getNodeValue() != null) {
        b.append(encodeText(node.getNodeValue()));
    }

    return b.toString();
}

From source file:Main.java

protected static String nodeToString(Node node, Set<String> parentPrefixes, String namespaceURI)
        throws Exception {
    StringBuilder b = new StringBuilder();

    if (node == null) {
        return "";
    }//from   w  w  w .j  a  v a2s  .  c o  m

    if (node instanceof Element) {
        Element element = (Element) node;
        b.append("<");
        b.append(element.getNodeName());

        Map<String, String> thisLevelPrefixes = new HashMap();
        if (element.getPrefix() != null && !parentPrefixes.contains(element.getPrefix())) {
            thisLevelPrefixes.put(element.getPrefix(), element.getNamespaceURI());
        }

        if (element.hasAttributes()) {
            NamedNodeMap map = element.getAttributes();
            for (int i = 0; i < map.getLength(); i++) {
                Node attr = map.item(i);
                if (attr.getNodeName().startsWith("xmlns"))
                    continue;
                if (attr.getPrefix() != null && !parentPrefixes.contains(attr.getPrefix())) {
                    thisLevelPrefixes.put(attr.getPrefix(), element.getNamespaceURI());
                }
                b.append(" ");
                b.append(attr.getNodeName());
                b.append("=\"");
                b.append(attr.getNodeValue());
                b.append("\"");
            }
        }

        if (namespaceURI != null && !thisLevelPrefixes.containsValue(namespaceURI)
                && !namespaceURI.equals(element.getParentNode().getNamespaceURI())) {
            b.append(" xmlns=\"").append(namespaceURI).append("\"");
        }

        for (Map.Entry<String, String> entry : thisLevelPrefixes.entrySet()) {
            b.append(" xmlns:").append(entry.getKey()).append("=\"").append(entry.getValue()).append("\"");
            parentPrefixes.add(entry.getKey());
        }

        NodeList children = element.getChildNodes();
        boolean hasOnlyAttributes = true;
        for (int i = 0; i < children.getLength(); i++) {
            Node child = children.item(i);
            if (child.getNodeType() != Node.ATTRIBUTE_NODE) {
                hasOnlyAttributes = false;
                break;
            }
        }
        if (!hasOnlyAttributes) {
            b.append(">");
            for (int i = 0; i < children.getLength(); i++) {
                b.append(nodeToString(children.item(i), parentPrefixes, children.item(i).getNamespaceURI()));
            }
            b.append("</");
            b.append(element.getNodeName());
            b.append(">");
        } else {
            b.append("/>");
        }

        for (String thisLevelPrefix : thisLevelPrefixes.keySet()) {
            parentPrefixes.remove(thisLevelPrefix);
        }

    } else if (node.getNodeValue() != null) {
        b.append(encodeText(node.getNodeValue(), node instanceof Attr));
    }

    return b.toString();
}

From source file:Main.java

protected static String nodeToString(Node node, Set<String> parentPrefixes, String namespaceURI)
        throws Exception {
    StringBuilder b = new StringBuilder();

    if (node == null) {
        return "";
    }/*from  w ww  .  jav a 2  s  .  c  o  m*/

    if (node instanceof Element) {
        Element element = (Element) node;
        b.append("<");
        b.append(element.getNodeName());

        Map<String, String> thisLevelPrefixes = new HashMap();
        if (element.getPrefix() != null && !parentPrefixes.contains(element.getPrefix())) {
            thisLevelPrefixes.put(element.getPrefix(), element.getNamespaceURI());
        }

        if (element.hasAttributes()) {
            NamedNodeMap map = element.getAttributes();
            for (int i = 0; i < map.getLength(); i++) {
                Node attr = map.item(i);
                if (attr.getNodeName().startsWith("xmlns"))
                    continue;
                if (attr.getPrefix() != null && !parentPrefixes.contains(attr.getPrefix())) {
                    thisLevelPrefixes.put(attr.getPrefix(), element.getNamespaceURI());
                }
                b.append(" ");
                b.append(attr.getNodeName());
                b.append("=\"");
                b.append(attr.getNodeValue());
                b.append("\"");
            }
        }

        if (namespaceURI != null && !thisLevelPrefixes.containsValue(namespaceURI)
                && !namespaceURI.equals(element.getParentNode().getNamespaceURI())) {
            b.append(" xmlns=\"").append(namespaceURI).append("\"");
        }

        for (Map.Entry<String, String> entry : thisLevelPrefixes.entrySet()) {
            b.append(" xmlns:").append(entry.getKey()).append("=\"").append(entry.getValue()).append("\"");
            parentPrefixes.add(entry.getKey());
        }

        NodeList children = element.getChildNodes();
        boolean hasOnlyAttributes = true;
        for (int i = 0; i < children.getLength(); i++) {
            Node child = children.item(i);
            if (child.getNodeType() != Node.ATTRIBUTE_NODE) {
                hasOnlyAttributes = false;
                break;
            }
        }
        if (!hasOnlyAttributes) {
            b.append(">");
            for (int i = 0; i < children.getLength(); i++) {
                b.append(nodeToString(children.item(i), parentPrefixes, children.item(i).getNamespaceURI()));
            }
            b.append("</");
            b.append(element.getNodeName());
            b.append(">");
        } else {
            b.append("/>");
        }

        for (String thisLevelPrefix : thisLevelPrefixes.keySet()) {
            parentPrefixes.remove(thisLevelPrefix);
        }

    } else if (node.getNodeValue() != null) {

        b.append(encodeText(node.getNodeValue()));
    }

    return b.toString();
}

From source file:eu.europa.esig.dss.xades.validation.XMLDocumentValidator.java

@Override
public DSSDocument removeSignature(final String signatureId) throws DSSException {

    if (StringUtils.isBlank(signatureId)) {
        throw new NullPointerException("signatureId");
    }/*from   www  .jav a 2s.  c  o m*/
    // TODO (31/07/2014): Checks on signature packaging to be added
    final NodeList signatureNodeList = rootElement.getElementsByTagNameNS(XMLSignature.XMLNS,
            XPathQueryHolder.XMLE_SIGNATURE);
    for (int ii = 0; ii < signatureNodeList.getLength(); ii++) {

        final Element signatureEl = (Element) signatureNodeList.item(ii);
        final String idIdentifier = DSSXMLUtils.getIDIdentifier(signatureEl);
        if (signatureId.equals(idIdentifier)) {

            signatureEl.getParentNode().removeChild(signatureEl);
            // TODO (31/07/2014): Save the modified document
            final Node documentElement = rootElement.getDocumentElement();
            final byte[] documentBytes = DSSXMLUtils.serializeNode(documentElement);
            final InMemoryDocument inMemoryDocument = new InMemoryDocument(documentBytes);
            return inMemoryDocument;
        }
    }
    throw new DSSException("The signature with the given id was not found!");
}

From source file:it.unibas.spicy.persistence.xml.operators.ExportXSD.java

public void visitMetadataNode(MetadataNode node) {
    if (logger.isDebugEnabled())
        logger.debug(" metadata: " + node.getLabel());
    Element attributeTag = document.createElement(ExportXSD.PREFIX + "attribute");
    checkLeafNode(node, attributeTag);//  w w w.j  av  a 2s. com
    Element peekElement = stackOfElements.peek();
    Node parentPeekElement = peekElement.getParentNode();
    parentPeekElement.appendChild(attributeTag);
    if (logger.isDebugEnabled())
        logger.debug(" ElementTag Father of the Metadata Node: \n" + parentPeekElement.getNodeName());
}

From source file:com.enonic.esl.xml.XMLTool.java

public static int getElementIndex(Element elem) {
    Element[] elems = XMLTool.getElements((Element) elem.getParentNode(), elem.getNodeName());
    for (int i = 0; i < elems.length; i++) {
        if (elems[i] == elem) {
            return i;
        }/*w ww. j av  a 2s.c  om*/
    }
    return 0;
}