DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=28762>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=28762

NullPointerException in TreeWalker

           Summary: NullPointerException in TreeWalker
           Product: XalanJ2
           Version: 2.5
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: org.apache.xml.utils
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


This is the code That produces de error.
package org.yokin.test;

import java.io.FileReader;
import java.io.StringWriter;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.xml.sax.InputSource;

public class TestTransformerFactory {

        public static void main(String[] args) {
                
                TestTransformerFactory obj = new TestTransformerFactory();
        
                
                Node nodo = null;
                Node texto = null;
                Node rootNode = null;
                Document doc  = getDocumentBuilder().newDocument();
                
                rootNode = doc.createElement("ROOT");
                doc.appendChild(rootNode);
                
                nodo = doc.createElement("HOLA");
                texto = doc.createTextNode("saludos");
                nodo.appendChild(texto);        
                
                rootNode.appendChild(nodo);
                
                        
                nodo = doc.createElement("HOLA2");
                texto = doc.createTextNode(null);
                nodo.appendChild(texto);        
                
                rootNode.appendChild(nodo);
                

                
                obj.toString(doc);
        }
        
        
        private void toString(Document doc){
                
                try{
                        StringWriter stringOut = new StringWriter();
                        TransformerFactory trasnFactory = 
TransformerFactory.newInstance();
                        
                        Transformer transformer = trasnFactory.newTransformer();
                        
                        transformer.setOutputProperty(OutputKeys.ENCODING, 
"ISO-8859-1");
                        
                        DOMSource source = new DOMSource(doc);
                        
                        StreamResult streamResult = new StreamResult(stringOut);
                        
                        transformer.transform(source, streamResult);
                        
                        System.out.println(stringOut.getBuffer().toString());
                
                }catch(Exception e){
                        e.printStackTrace();
                        System.out.println(e);
                }
                
        }
        
        
        public static Document getXMLFile(String xmlFile) {
        Document objDoc = null;

        try {
                
                FileReader fileRead = new FileReader(xmlFile);
                InputSource inputsource = new InputSource(fileRead);

                
                objDoc = getDocumentBuilder().parse(inputsource);
        } catch (Throwable theException) {
                theException.printStackTrace();
                System.out.println("File Exception : " + theException.getMessage());
        }

                return objDoc;
        }
        
        public static DocumentBuilder getDocumentBuilder(){
                try{
                        
                        
                        
                        DocumentBuilderFactory docbF = 
DocumentBuilderFactory.newInstance();
                        DocumentBuilder docb = docbF.newDocumentBuilder();
                        
                        
                        
                        return docb;
                }catch(javax.xml.parsers.ParserConfigurationException e){
                        System.out.println("ERROR Configuracion Parser : " + e);
                        return null;
                }                                       
        }
}

When I add a Text node and the String I am adding has null value, I get the
Exception that you can see above. I know I should never add a null String value,
but thar happends sometimes...

I think it should be better if instead of return an null pointer exception, you
control this posibility and change the null value by an empty string.


I get the next exception :

java.lang.NullPointerException
        at org.apache.xml.utils.TreeWalker.dispatachChars(TreeWalker.java:259)
        at org.apache.xml.utils.TreeWalker.startNode(TreeWalker.java:403)
        at org.apache.xml.utils.TreeWalker.traverse(TreeWalker.java:167)
        at
org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:325)
        at 
org.yokin.test.TestTransformerFactory.toString(TestTransformerFactory.java:76)
        at org.yokin.test.TestTransformerFactory.main(TestTransformerFactory.java:58)

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to