logo       

question(bug) about setNodeValue: msg#00108

java.enhydra.xmlc

Subject: question(bug) about setNodeValue

hi,

I find that when call setNodeValue with "null", xmlc will report errors like below:

java.lang.NullPointerException
at org.enhydra.xml.io.BaseDOMFormatter.writeText(BaseDOMFormatter.java:535)
at org.enhydra.xml.io.BaseDOMFormatter.handleText(BaseDOMFormatter.java:612)
at org.enhydra.xml.io.HTMLFormatter.handleText(HTMLFormatter.java:302)
at org.enhydra.xml.dom.DOMTraversal.processNode(DOMTraversal.java:372)
at org.enhydra.xml.dom.DOMTraversal.processChildren(DOMTraversal.java:255)
at org.enhydra.xml.io.HTMLFormatter.handleElement(HTMLFormatter.java:270)
at org.enhydra.xml.dom.DOMTraversal.processNode(DOMTraversal.java:357)
at org.enhydra.xml.dom.DOMTraversal.processChildren(DOMTraversal.java:255)
at org.enhydra.xml.io.HTMLFormatter.handleElement(HTMLFormatter.java:270)
at org.enhydra.xml.dom.DOMTraversal.processNode(DOMTraversal.java:357)
at org.enhydra.xml.dom.DOMTraversal.processChildren(DOMTraversal.java:255)
at org.enhydra.xml.io.HTMLFormatter.handleElement(HTMLFormatter.java:270)
at org.enhydra.xml.dom.DOMTraversal.processNode(DOMTraversal.java:357)
at org.enhydra.xml.dom.DOMTraversal.processChildren(DOMTraversal.java:255)
at org.enhydra.xml.io.HTMLFormatter.handleElement(HTMLFormatter.java:270)
at org.enhydra.xml.dom.DOMTraversal.processNode(DOMTraversal.java:357)
at org.enhydra.xml.dom.DOMTraversal.processChildren(DOMTraversal.java:255)
at org.enhydra.xml.io.HTMLFormatter.handleElement(HTMLFormatter.java:270)
at org.enhydra.xml.dom.DOMTraversal.processNode(DOMTraversal.java:357)
at org.enhydra.xml.dom.DOMTraversal.processChildren(DOMTraversal.java:255)
at org.enhydra.xml.io.HTMLFormatter.handleElement(HTMLFormatter.java:270)
at org.enhydra.xml.dom.DOMTraversal.processNode(DOMTraversal.java:357)
at org.enhydra.xml.dom.DOMTraversal.processChildren(DOMTraversal.java:255)
at org.enhydra.xml.io.HTMLFormatter.handleElement(HTMLFormatter.java:270)
at org.enhydra.xml.dom.DOMTraversal.processNode(DOMTraversal.java:357)
at org.enhydra.xml.dom.DOMTraversal.processChildren(DOMTraversal.java:255)
at org.enhydra.xml.io.HTMLFormatter.handleElement(HTMLFormatter.java:270)
at org.enhydra.xml.dom.DOMTraversal.processNode(DOMTraversal.java:357)
at org.enhydra.xml.dom.DOMTraversal.processChildren(DOMTraversal.java:255)
at org.enhydra.xml.io.HTMLFormatter.handleElement(HTMLFormatter.java:270)
at org.enhydra.xml.dom.DOMTraversal.processNode(DOMTraversal.java:357)
at org.enhydra.xml.dom.DOMTraversal.processChildren(DOMTraversal.java:255)
at org.enhydra.xml.io.HTMLFormatter.handleElement(HTMLFormatter.java:270)
at org.enhydra.xml.dom.DOMTraversal.processNode(DOMTraversal.java:357)
at org.enhydra.xml.dom.DOMTraversal.processChildren(DOMTraversal.java:255)
at org.enhydra.xml.io.HTMLFormatter.handleElement(HTMLFormatter.java:270)
at org.enhydra.xml.dom.DOMTraversal.processNode(DOMTraversal.java:357)
at org.enhydra.xml.dom.DOMTraversal.processChildren(DOMTraversal.java:255)
at org.enhydra.xml.io.HTMLFormatter.handleElement(HTMLFormatter.java:270)
at org.enhydra.xml.dom.DOMTraversal.processNode(DOMTraversal.java:357)
at org.enhydra.xml.dom.DOMTraversal.processChildren(DOMTraversal.java:255)
at org.enhydra.xml.io.HTMLFormatter.handleElement(HTMLFormatter.java:270)
at org.enhydra.xml.dom.DOMTraversal.processNode(DOMTraversal.java:357)
at org.enhydra.xml.dom.DOMTraversal.processChildren(DOMTraversal.java:255)
at org.enhydra.xml.io.HTMLFormatter.handleDocument(HTMLFormatter.java:169)
at org.enhydra.xml.dom.DOMTraversal.processNode(DOMTraversal.java:345)
at org.enhydra.xml.dom.DOMTraversal.traverse(DOMTraversal.java:230)
at org.enhydra.xml.io.BaseDOMFormatter.write(BaseDOMFormatter.java:721)
at org.enhydra.xml.io.DOMFormatter.write(DOMFormatter.java:204)
at org.enhydra.xml.io.DOMFormatter.toBytes(DOMFormatter.java:183)
at org.enhydra.xml.xmlc.servlet.XMLCContext.outputDocument(XMLCContext.java:413)
at org.enhydra.xml.xmlc.servlet.XMLCContext.writeDOM(XMLCContext.java:504)

My codes like this:
....
HTMLElement ipAddr = (HTMLElement) page.getElementById(LIST_IPADDR_TAG);
ipAddr.getFirstChild().setNodeValue(current.getIpAddr()); // <-- here, getIpAddr() may return null
....
context.writeDOM(req, resp, page);

Accroding to api doc, setNodeVaule can accept null parameter:

The value of this node, depending on its type; see the table above. When it
is defined to be null, setting it has no effect.

So, what happened with setNodeValue?

Thanks!

linuxman


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise