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

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=4275

java.lang.NullPointerException 

           Summary: java.lang.NullPointerException
           Product: Tomcat 3
           Version: 3.2.2 Final
          Platform: PC
        OS/Version: Windows NT/2K
            Status: UNCONFIRMED
          Severity: Blocker
          Priority: Other
         Component: Unknown
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


// This problem happens only when i run a class with Tomcat 
// When i run my code with its own main - there are no problems. 
// I havent seen anyone else reporting anything like this before.
// Please check since it might change my plans of using Tomcat as our web 
server :( 
// Thank You so very much. 


java.lang.NullPointerException         at 
org.apache.xalan.serialize.SerializerToXML.writeAttrString(Serializer
ToXML.java:2001)
        at org.apache.xalan.serialize.SerializerToXML.processAttribute(Serialize
rToXML.java:957)
        at org.apache.xalan.serialize.SerializerToXML.startElement(SerializerToX
ML.java:829)
        at org.apache.xalan.transformer.TransformerIdentityImpl.startElement(Tra
nsformerIdentityImpl.java:982)
        at org.apache.xml.utils.TreeWalker.startNode(TreeWalker.java:284)
        at org.apache.xml.utils.TreeWalker.traverse(TreeWalker.java:119)
        at org.apache.xalan.transformer.TransformerIdentityImpl.transform(Transf
ormerIdentityImpl.java:320)
        at serRS.writetoString(serRS.java:237)
        at _0002fsimplebean_0002ejspsimplebean_jsp_9._jspService(_0002fsimplebea
n_0002ejspsimplebean_jsp_9.java:164)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.jasper.servlet.JspServlet$JspCountedServlet.service(JspSer
vlet.java:130)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspSer
vlet.java:282)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:4
29)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:500)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:4
05)
        at org.apache.tomcat.core.Handler.service(Handler.java:287)
        at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372
)
        at org.apache.tomcat.core.ContextManager.internalService(ContextManager.
java:797)
        at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743
)
        at org.apache.tomcat.service.http.HttpConnectionHandler.processConnectio
n(HttpConnectionHandler.java:213)
        at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:
416)
        at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java
:501)
        at java.lang.Thread.run(Thread.java:484)










/***********************************************************/
/***********************************************************/
/***********************************************************/


// jdbc api
import java.sql.*;
//reflect api
import java.lang.reflect.*;
//xml api
import org.w3c.dom.*;
import org.w3c.dom.Document;
import org.w3c.dom.DOMException;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.w3c.dom.Node;
import org.w3c.dom.NamedNodeMap;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import javax.xml.transform.*;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
//javax.xml.parsers.ParserConfigurationException
import javax.xml.parsers.*;


//standard packages
import java.io.*;

//exceptionz
import org.xml.sax.*;
import org.xml.sax.SAXException;
import java.io.IOException;

/*

<?xml version="1.0" encoding="UTF-8" ?>
<results>
<result type="AllUsers">
<record number="1">
  <column name="username" />
  <column name="password" />
  <column name="address1" />
  <column name="address2" />
  <column name="city" />
  <column name="state" />
  <column name="zip" />
  <column name="country" />
</record>
</result>
</results>

*/

public class serRS implements java.io.Serializable
{


        /* Empty Constructor */
        public void serRS() {}

        public String writetoString (ResultSet rs, String typeid) {

        // return string
        String returnstr = new String();

                try{

                        //XML
                        DocumentBuilderFactory factory = 
DocumentBuilderFactory.newInstance();

                        DocumentBuilder builder = factory.newDocumentBuilder();
                        Document document = builder.newDocument();

                        //<results/> Root element
                        Element results = (Element) document.createElement
("results");
                        document.appendChild(results);

                        //<result/>
                        Element result = (Element) document.createElement
("result");
                        results.appendChild(result);

                        //<result type="AllUsers"/>
                        Attr type =(Attr) document.createAttribute("type");
                        Node attrtextnode = (Node) document.createTextNode
(typeid);
                        type.appendChild(attrtextnode);
                        result.setAttributeNode(type);

                        Element record;
                        Element column;
                        Node countnode ;
                        Attr number;
                        Attr name;
                        Attr valuetype;
                        Attr tablename;
                        Node columnnametext;
                        Node columnvaluetext;
                        Node valuetypetext;
                        Node tablenametext;

                        int count = 1;

                        // JDBC-ODBC Calls
                        java.sql.ResultSetMetaData md = rs.getMetaData();

                          while(rs.next()) {
                                // <record>

                                record = (Element) document.createElement
("record");
                                result.appendChild(record);

                                // <record number="i">xxx</coulmn>
                                number =(Attr) document.createAttribute
("number");
                                countnode = (Node) document.createTextNode
(String.valueOf(count));
                                count ++ ;
                                number.appendChild(countnode);
                                record.setAttributeNode(number);


                                System.out.print("\nTUPLE: | ");
                                        for(int i=1; i<= md.getColumnCount(); 
i++) {
                                                // <column name="">value</value>
                                                column = (Element) 
document.createElement("column");
                                                record.appendChild(column);

                                                name =(Attr) 
document.createAttribute("name");
                                                //columnnametext = (Node) 
document.createTextNode(md.getColumnLabel(i));
                                                columnnametext = (Node) 
document.createTextNode(md.getColumnName(i));
                                                name.appendChild
(columnnametext);
                                                column.setAttributeNode(name);

                                                valuetype =(Attr) 
document.createAttribute("type");
                                                valuetypetext = (Node) 
document.createTextNode(md.getColumnTypeName(i));
                                                valuetype.appendChild
(valuetypetext);
                                                column.setAttributeNode
(valuetype);

                                                tablename =(Attr) 
document.createAttribute("table");
                                                tablenametext = (Node) 
document.createTextNode(md.getCatalogName(i));
                                                tablename.appendChild
(tablenametext);
                                                column.setAttributeNode
(tablename);


/*
                                                  System.out.print
(md.getColumnType(i) + " | ");
                                                  System.out.print
(md.getColumnTypeName(i) + " | ");
                                                  System.out.print
(md.getColumnLabel(i) + " | ");
                                                  //System.out.print
(rs.getString(i) + " | \n");
*/

                                                  try
                                                  {
                                                          Object o = 
rs.getObject(md.getColumnLabel(i));
                                                          if (!o.equals(null)){
                                                                String s = 
o.toString();
                                                                System.out.print
(s + "\n");
                                                                columnvaluetext 
= (Node) document.createTextNode(s);
                                                        
        column.appendChild(columnvaluetext);
                                                          }
                                                  }
                                                  catch (SQLException sqe ){
                                                        
        sqe.printStackTrace();
                                                  }
                                                  catch (NullPointerException 
n ){
                                                          System.out.print
("Null pointer hui gava!!!!!!");
                                                        
        n.printStackTrace();
                                                  }

                                                  // new line
                                                  System.out.print("\n");

                                        }
                                }


/*
                        File f = new File("local.xml");
                        //document = builder.parse(f);
                        // Use a Transformer for output
*/

/*
                        TransformerFactory tFactory = 
TransformerFactory.newInstance();
                        Transformer transformer = tFactory.newTransformer();

                        DOMSource source = new DOMSource(document);
*/

                        /*
                        // write to the standard output
                        StreamResult resultstdout = new StreamResult
(System.out);
                        transformer.transform(source, resultstdout);
                        */

/*
                        // write to a file
                        StreamResult resultfile = new StreamResult(f);
                        transformer.transform(source, resultfile);
*/

/*
                        // write to a string
                        java.io.StringWriter sw = new StringWriter();

                        // use the transformer object
                        StreamResult resultsw = new StreamResult(sw);
                        transformer.transform(source, resultsw);
                        resultsw.setWriter (sw);

                        // create a new String variable (above)
                        // convert the StringWriter object to String
                        returnstr = sw.toString();
*/

                        /*
                        // write to the standard output
                        System.out.println(returnstr);

                        // write to the standard output
                        System.out.println(sw.toString());
                        */

                        // Trial basis
                        TransformerFactory tFactory = 
TransformerFactory.newInstance();
                        Transformer transformer = tFactory.newTransformer();
                        DOMSource source = new DOMSource(document);
                        java.io.StringWriter sw = new StringWriter();

                        try{

                        // write to the standard output
                        //StreamResult resultstdout = new StreamResult
(System.out);
                        //transformer.transform(source, resultstdout);

                        // use the transformer object
                        StreamResult resultsw = new StreamResult(sw);

                        if(! (source.equals(null) || resultsw.equals(null)) )
                        {

                                transformer.transform(source, resultsw);
                                resultsw.setWriter (sw);
                        }
                        else{

                                if (source.equals(null))
                                {
                                        System.out.println("********** 
source**************");
                                }
                                if (resultsw.equals(null))
                                {
                                        System.out.println("********** resultsw 
**************");
                                }

                        }


                        }
                        catch (NullPointerException n ){
                          System.out.print("Null pointer hui gava again!!!!!!");
                                n.printStackTrace();
                          }

                        catch (Exception e ){
                          System.out.print("Null pointer hui gava again!!!!!!");
                                e.printStackTrace();
                          }




                        // create a new String variable (above)
                        // convert the StringWriter object to String

                        //returnstr = sw.toString();




                }
                catch (Exception e){
                        e.printStackTrace();
                }


                return returnstr;

        }// end method

        /** Test main method*/
        public static void main( String args[]) {

                try {

                        System.out.println("\nHello World\n");
                        serRS serrs = new serRS ();

                        SQLtoRS sqltors = new SQLtoRS();
                        sqltors.setsqlstr("select * from users");
                        ResultSet rs = sqltors.getrs();
                        System.out.println(serrs.writetoString(rs, "AllUsers"));

                }//end try
                catch (Exception e)
                {

                }//end catch

        }// end main


}//end class

// jdbc api
import java.sql.*;
//reflect api
import java.lang.reflect.*;
//xml api
import org.w3c.dom.*;
import org.w3c.dom.Document;
import org.w3c.dom.DOMException;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.w3c.dom.Node;
import org.w3c.dom.NamedNodeMap;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import javax.xml.transform.*;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
//javax.xml.parsers.ParserConfigurationException
import javax.xml.parsers.*;


//standard packages
import java.io.*;

//exceptionz
import org.xml.sax.*;
import org.xml.sax.SAXException;
import java.io.IOException;

/*

<?xml version="1.0" encoding="UTF-8" ?>
<results>
<result type="AllUsers">
<record number="1">
  <column name="username" />
  <column name="password" />
  <column name="address1" />
  <column name="address2" />
  <column name="city" />
  <column name="state" />
  <column name="zip" />
  <column name="country" />
</record>
</result>
</results>

*/

public class serRS implements java.io.Serializable
{


        /* Empty Constructor */
        public void serRS() {}

        public String writetoString (ResultSet rs, String typeid) {

        // return string
        String returnstr = new String();

                try{

                        //XML
                        DocumentBuilderFactory factory = 
DocumentBuilderFactory.newInstance();

                        DocumentBuilder builder = factory.newDocumentBuilder();
                        Document document = builder.newDocument();

                        //<results/> Root element
                        Element results = (Element) document.createElement
("results");
                        document.appendChild(results);

                        //<result/>
                        Element result = (Element) document.createElement
("result");
                        results.appendChild(result);

                        //<result type="AllUsers"/>
                        Attr type =(Attr) document.createAttribute("type");
                        Node attrtextnode = (Node) document.createTextNode
(typeid);
                        type.appendChild(attrtextnode);
                        result.setAttributeNode(type);

                        Element record;
                        Element column;
                        Node countnode ;
                        Attr number;
                        Attr name;
                        Attr valuetype;
                        Attr tablename;
                        Node columnnametext;
                        Node columnvaluetext;
                        Node valuetypetext;
                        Node tablenametext;

                        int count = 1;

                        // JDBC-ODBC Calls
                        java.sql.ResultSetMetaData md = rs.getMetaData();

                          while(rs.next()) {
                                // <record>

                                record = (Element) document.createElement
("record");
                                result.appendChild(record);

                                // <record number="i">xxx</coulmn>
                                number =(Attr) document.createAttribute
("number");
                                countnode = (Node) document.createTextNode
(String.valueOf(count));
                                count ++ ;
                                number.appendChild(countnode);
                                record.setAttributeNode(number);


                                System.out.print("\nTUPLE: | ");
                                        for(int i=1; i<= md.getColumnCount(); 
i++) {
                                                // <column name="">value</value>
                                                column = (Element) 
document.createElement("column");
                                                record.appendChild(column);

                                                name =(Attr) 
document.createAttribute("name");
                                                //columnnametext = (Node) 
document.createTextNode(md.getColumnLabel(i));
                                                columnnametext = (Node) 
document.createTextNode(md.getColumnName(i));
                                                name.appendChild
(columnnametext);
                                                column.setAttributeNode(name);

                                                valuetype =(Attr) 
document.createAttribute("type");
                                                valuetypetext = (Node) 
document.createTextNode(md.getColumnTypeName(i));
                                                valuetype.appendChild
(valuetypetext);
                                                column.setAttributeNode
(valuetype);

                                                tablename =(Attr) 
document.createAttribute("table");
                                                tablenametext = (Node) 
document.createTextNode(md.getCatalogName(i));
                                                tablename.appendChild
(tablenametext);
                                                column.setAttributeNode
(tablename);


/*
                                                  System.out.print
(md.getColumnType(i) + " | ");
                                                  System.out.print
(md.getColumnTypeName(i) + " | ");
                                                  System.out.print
(md.getColumnLabel(i) + " | ");
                                                  //System.out.print
(rs.getString(i) + " | \n");
*/

                                                  try
                                                  {
                                                          Object o = 
rs.getObject(md.getColumnLabel(i));
                                                          if (!o.equals(null)){
                                                                String s = 
o.toString();
                                                                System.out.print
(s + "\n");
                                                                columnvaluetext 
= (Node) document.createTextNode(s);
                                                        
        column.appendChild(columnvaluetext);
                                                          }
                                                  }
                                                  catch (SQLException sqe ){
                                                        
        sqe.printStackTrace();
                                                  }
                                                  catch (NullPointerException 
n ){
                                                          System.out.print
("Null pointer hui gava!!!!!!");
                                                        
        n.printStackTrace();
                                                  }

                                                  // new line
                                                  System.out.print("\n");

                                        }
                                }


/*
                        File f = new File("local.xml");
                        //document = builder.parse(f);
                        // Use a Transformer for output
*/

/*
                        TransformerFactory tFactory = 
TransformerFactory.newInstance();
                        Transformer transformer = tFactory.newTransformer();

                        DOMSource source = new DOMSource(document);
*/

                        /*
                        // write to the standard output
                        StreamResult resultstdout = new StreamResult
(System.out);
                        transformer.transform(source, resultstdout);
                        */

/*
                        // write to a file
                        StreamResult resultfile = new StreamResult(f);
                        transformer.transform(source, resultfile);
*/

/*
                        // write to a string
                        java.io.StringWriter sw = new StringWriter();

                        // use the transformer object
                        StreamResult resultsw = new StreamResult(sw);
                        transformer.transform(source, resultsw);
                        resultsw.setWriter (sw);

                        // create a new String variable (above)
                        // convert the StringWriter object to String
                        returnstr = sw.toString();
*/

                        /*
                        // write to the standard output
                        System.out.println(returnstr);

                        // write to the standard output
                        System.out.println(sw.toString());
                        */

                        // Trial basis
                        TransformerFactory tFactory = 
TransformerFactory.newInstance();
                        Transformer transformer = tFactory.newTransformer();
                        DOMSource source = new DOMSource(document);
                        java.io.StringWriter sw = new StringWriter();

                        try{

                        // write to the standard output
                        //StreamResult resultstdout = new StreamResult
(System.out);
                        //transformer.transform(source, resultstdout);

                        // use the transformer object
                        StreamResult resultsw = new StreamResult(sw);

                        if(! (source.equals(null) || resultsw.equals(null)) )
                        {

                                transformer.transform(source, resultsw);
                                resultsw.setWriter (sw);
                        }
                        else{

                                if (source.equals(null))
                                {
                                        System.out.println("********** 
source**************");
                                }
                                if (resultsw.equals(null))
                                {
                                        System.out.println("********** resultsw 
**************");
                                }

                        }


                        }
                        catch (NullPointerException n ){
                          System.out.print("Null pointer hui gava again!!!!!!");
                                n.printStackTrace();
                          }

                        catch (Exception e ){
                          System.out.print("Null pointer hui gava again!!!!!!");
                                e.printStackTrace();
                          }




                        // create a new String variable (above)
                        // convert the StringWriter object to String

                        //returnstr = sw.toString();




                }
                catch (Exception e){
                        e.printStackTrace();
                }


                return returnstr;

        }// end method

        /** Test main method*/
        public static void main( String args[]) {

                try {

                        System.out.println("\nHello World\n");
                        serRS serrs = new serRS ();

                        SQLtoRS sqltors = new SQLtoRS();
                        sqltors.setsqlstr("select * from users");
                        ResultSet rs = sqltors.getrs();
                        System.out.println(serrs.writetoString(rs, "AllUsers"));

                }//end try
                catch (Exception e)
                {

                }//end catch

        }// end main


}//end class

Reply via email to