This is a known issue and I have patch sitting on my disk. It is not
100% tested yet and might have some errors, thus not commited to CVS.
I'm attaching patched file so you can try it.

Vadim

> From: Peter Seiderer [mailto:[EMAIL PROTECTED]]
> 
> 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.disp
atch
> (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.processConnec
tion
> (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]

Attachment: AbstractDOMTransformer.java
Description: Binary data

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

Reply via email to