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]