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]
AbstractDOMTransformer.java
Description: Binary data
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]