KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > celtix > tools > utils > ErrNodeLocator


1 package org.objectweb.celtix.tools.utils;
2
3 import javax.xml.namespace.QName JavaDoc;
4
5 import org.w3c.dom.Document JavaDoc;
6 import org.w3c.dom.NamedNodeMap JavaDoc;
7 import org.w3c.dom.Node JavaDoc;
8 import org.w3c.dom.NodeList JavaDoc;
9
10 import org.objectweb.celtix.tools.common.WSDLConstants;
11
12 public final class ErrNodeLocator {
13     private ErrNodeLocator() {
14
15     }
16
17     public static Node JavaDoc getNode(Document JavaDoc doc, QName JavaDoc wsdlParentNode, String JavaDoc parentNameValue,
18
19     String JavaDoc childNameValue) {
20         NodeList JavaDoc parentNodeList = doc.getElementsByTagNameNS(wsdlParentNode.getNamespaceURI(), wsdlParentNode
21             .getLocalPart());
22
23         for (int i = 0; i < parentNodeList.getLength(); i++) {
24             Node JavaDoc parentNode = parentNodeList.item(i);
25             NamedNodeMap JavaDoc parentNodeMap = parentNode.getAttributes();
26             Node JavaDoc parentAttrNode = parentNodeMap.getNamedItem(WSDLConstants.ATTR_NAME);
27             if (parentAttrNode != null && parentNameValue != null
28                 && parentAttrNode.getNodeValue().equals(parentNameValue) || parentAttrNode == null
29                 || parentNameValue == null) {
30
31                 for (Node JavaDoc n = parentNode.getFirstChild(); n != null; n = n.getNextSibling()) {
32                     if (n.getNodeType() == Node.ELEMENT_NODE) {
33                         NamedNodeMap JavaDoc map = n.getAttributes();
34                         Node JavaDoc attrChildNode = map.getNamedItem(WSDLConstants.ATTR_NAME);
35                         if (attrChildNode != null && attrChildNode.getNodeValue().equals(childNameValue)) {
36                             return n;
37                         }
38                     }
39                 }
40
41             }
42         }
43         return null;
44     }
45 }
46
Popular Tags