Hello,
since Cocoon-2.0.1 I get a java.lang.NullPointerException when I trie to
use a DOMTransformer, see the attached soucce code for a DummyDOMTransformer:

--- begin file: de/ciselant/cocoon/transformation/DummyDOMTransformer ---

package de.ciselant.cocoon.transformation;

import org.apache.cocoon.transformation.AbstractDOMTransformer;
import org.w3c.dom.Document;

public class DummyDOMTransformer extends AbstractDOMTransformer {
    public Document transform(Document doc) {
        return doc;
    }
}

--- end ---

Build into the sitemap.xmap via:
 ...
    <map:transformer     name="dummyDom"     
src="de.ciselant.cocoon.transformation.DummyDOMTransformer"/>
 ...
 ...
   <map:match pattern="test.xml">
     <map:generate src="test_file.xml"/>
     <map:transform type="dummyDom" />
    <map:serialize/>
   </map:match>
 ...


And attach via jdb to the tomcat:
jdb -attach localhost:8000
Initializing jdb...
> 
VM Started: No frames on the current call stack

main[1] cont
> catch java.lang.NullPointerException
Set exception catch java.lang.NullPointerException
> 
Exception occurred: java.lang.NullPointerException (to be caught at: 
org.apache.xerces.framework.XMLParser.parse(), line=1109, bci=46) thread="Thread-11", 
org.apache.cocoon.xml.dom.DOMBuilder.getDocument(), line=123, bci=7

Thread-11[1] where
  [1] org.apache.cocoon.xml.dom.DOMBuilder.getDocument (DOMBuilder.java:123)
  [2] org.apache.cocoon.xml.dom.DOMBuilder.notifyListener (DOMBuilder.java:148)
  [3] org.apache.cocoon.xml.dom.DOMBuilder.endDocument (DOMBuilder.java:140)
  [4] org.apache.cocoon.components.sax.XMLTeePipe.endDocument (XMLTeePipe.java:59)
  [5] org.apache.xerces.parsers.SAXParser.endDocument (SAXParser.java:1230)
  [6] org.apache.xerces.validators.common.XMLValidator.callEndDocument 
(XMLValidator.java:1146)
  [7] org.apache.xerces.framework.XMLDocumentScanner$EndOfInputDispatcher.dispatch 
(XMLDocumentScanner.java:1499)
  [8] org.apache.xerces.framework.XMLDocumentScanner.parseSome 
(XMLDocumentScanner.java:381)
  [9] org.apache.xerces.framework.XMLParser.parse (XMLParser.java:1098)
  [10] org.apache.cocoon.components.parser.JaxpParser.parse (JaxpParser.java:182)
  [11] org.apache.cocoon.components.source.URLSource.toSAX (URLSource.java:331)
  [12] org.apache.cocoon.generation.FileGenerator.generate (FileGenerator.java:109)
  [13] org.apache.cocoon.components.pipeline.CachingEventPipeline.process 
(CachingEventPipeline.java:209)
  [14] org.apache.cocoon.components.pipeline.CachingStreamPipeline.process 
(CachingStreamPipeline.java:355)
  [15] org.apache.cocoon.www.tandem.sitemap_xmap.matchN10146 (sitemap_xmap.java:1377)
  [16] org.apache.cocoon.www.tandem.sitemap_xmap.process (sitemap_xmap.java:620)
  [17] org.apache.cocoon.www.tandem.sitemap_xmap.process (sitemap_xmap.java:520)
  [18] org.apache.cocoon.sitemap.Handler.process (Handler.java:180)
  [19] org.apache.cocoon.sitemap.Manager.invoke (Manager.java:127)
  [20] org.apache.cocoon.www.sitemap_xmap.matchN101CE (sitemap_xmap.java:1585)
  [21] org.apache.cocoon.www.sitemap_xmap.process (sitemap_xmap.java:1320)
  [22] org.apache.cocoon.www.sitemap_xmap.process (sitemap_xmap.java:1235)
  [23] org.apache.cocoon.sitemap.Handler.process (Handler.java:180)
  [24] org.apache.cocoon.sitemap.Manager.invoke (Manager.java:127)
  [25] org.apache.cocoon.sitemap.SitemapManager.process (SitemapManager.java:144)
  [26] org.apache.cocoon.Cocoon.process (Cocoon.java:582)
  [27] org.apache.cocoon.servlet.CocoonServlet.service (CocoonServlet.java:795)
  [28] javax.servlet.http.HttpServlet.service (HttpServlet.java:853)
  [29] org.apache.tomcat.core.ServletWrapper.doService (ServletWrapper.java:405)
  [30] org.apache.tomcat.core.Handler.service (Handler.java:287)
 [31] org.apache.tomcat.core.ServletWrapper.service (ServletWrapper.java:372)
  [32] org.apache.tomcat.core.ContextManager.internalService (ContextManager.java:806)
  [33] org.apache.tomcat.core.ContextManager.service (ContextManager.java:752)
  [34] org.apache.tomcat.service.connector.Ajp12ConnectionHandler.processConnection 
(Ajp12ConnectionHandler.java:166)
  [35] org.apache.tomcat.service.TcpWorkerThread.runIt (PoolTcpEndpoint.java:416)
  [36] org.apache.tomcat.util.ThreadPool$ControlRunnable.run (ThreadPool.java:501)
  [37] java.lang.Thread.run (Thread.java:484)
Thread-11[1] 


The default constructor from  DOMBuilder is called, so this.restult.getNode()
returns null, so the line 123 produces the NullPointerException:

           public Document getDocument() {
line 123:    if (this.result.getNode().getNodeType() == Node.DOCUMENT_NODE) {
               return ( (Document)this.result.getNode() );
             } else {
               return ( this.result.getNode().getOwnerDocument() );
             }
          }

Does anybody know some help?

Peter 

-- 
------------------------------------------------------------------------
Peter Seiderer                     E-Mail:  [EMAIL PROTECTED]

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

Reply via email to