RE: Barracuda: NullPointerException when importing a node
"Christian Cryder" <[email protected]>
| Newsgroups | gmane.comp.java.enhydra.barracuda.general |
|---|---|
| Message-ID | <[email protected]> |
Hi Adam, I'm a little confused here...is the "webhook" element in a completely different DOM? If so, what you should be doing is loading that page via straight XMLC, getting the appropriate node that way, and then simply passing that node directly into the BComponent and returning that...I don't think you need to call importNode in your code here...BTemplate should take care of that for you (I believe). Alternatively, have you considered inserting the DOM snippet at compile time? This can be done using .ssi files (XMLC can resolve them). Of course, that wouldn't work if sometimes you need to insert "webhook1" and other times you need to insert "webhook2" or something like that, but its an option worth considering as it pushes the work to compile time (once) rather than runtime (every request). Just some thoughts... Christian ---------------------------------------------- Christian Cryder [[email protected]] Internet Architect, ATMReports.com Barracuda - http://barracuda.enhydra.org ---------------------------------------------- "Coffee? I could quit anytime, just not today" -----Original Message----- From: [email protected] [mailto:[email protected]]On Behalf Of Adam Sent: Tuesday, December 10, 2002 5:27 PM To: [email protected]; [email protected] Subject: Barracuda: NullPointerException when importing a node Hi all, I am getting the following stack trace while trying to import a node that I have dynamically extracted from an html page using JTidy. This is the bit of code which is in a model: Node node = item.getNode(); Document doc = getViewContext().getElementFactory().getDocument(); node = doc.importNode( node, true ); Element td = doc.getElementById("webhook"); if ( td != null ) { td.removeAttribute("id"); td.appendChild( node ); return new BComponent(); } The NullPointerException originates from the importNode call. Any ideas? Can I import a node that I have extracted using JTiday into a document that was compiled with XMLC and is using the lazy dom? Cheers, Adam. 49942 [Thread-6] WARN mikey.ItemModel - item getItem java.lang.NullPointerException at org.apache.xerces.dom.CoreDocumentImpl.importNode(CoreDocumentImpl.java:901) at org.apache.xerces.dom.CoreDocumentImpl.importNode(CoreDocumentImpl.java:862) at org.neuralyte.mikey.ItemModel.getWebItem(ItemModel.java:215) at org.neuralyte.mikey.ItemModel.getItem(ItemModel.java:62) at org.enhydra.barracuda.core.comp.renderer.TemplateHelper.getNode(TemplateHelp er.java:306) at org.enhydra.barracuda.core.comp.renderer.TemplateHelper.copyChildNodes(Templ ateHelper.java:131) at org.enhydra.barracuda.core.comp.renderer.TemplateHelper.render(TemplateHelpe r.java:109) at org.enhydra.barracuda.core.comp.renderer.html.HTMLTemplateRenderer.renderCom ponent(HTMLTemplateRenderer.java:114) at org.enhydra.barracuda.core.comp.BComponent.renderView(BComponent.java:567) at org.enhydra.barracuda.core.comp.BComponent.render(BComponent.java:462) at org.enhydra.barracuda.core.comp.BComponent.render(BComponent.java:388) at org.enhydra.barracuda.core.comp.renderer.TemplateHelper.getNode(TemplateHelp er.java:417) at org.enhydra.barracuda.core.comp.renderer.TemplateHelper.copyChildNodes(Templ ateHelper.java:131) at org.enhydra.barracuda.core.comp.renderer.TemplateHelper.getNode(TemplateHelp er.java:616) at org.enhydra.barracuda.core.comp.renderer.TemplateHelper.copyChildNodes(Templ ateHelper.java:131) at org.enhydra.barracuda.core.comp.renderer.TemplateHelper.getNode(TemplateHelp er.java:616) at org.enhydra.barracuda.core.comp.renderer.TemplateHelper.copyChildNodes(Templ ateHelper.java:131) at org.enhydra.barracuda.core.comp.renderer.TemplateHelper.getNode(TemplateHelp er.java:616) at org.enhydra.barracuda.core.comp.renderer.TemplateHelper.copyChildNodes(Templ ateHelper.java:131) at org.enhydra.barracuda.core.comp.renderer.TemplateHelper.getNode(TemplateHelp er.java:616) at org.enhydra.barracuda.core.comp.renderer.TemplateHelper.copyChildNodes(Templ ateHelper.java:131) at org.enhydra.barracuda.core.comp.renderer.TemplateHelper.getNode(TemplateHelp er.java:616) at org.enhydra.barracuda.core.comp.renderer.TemplateHelper.copyChildNodes(Templ ateHelper.java:131) at org.enhydra.barracuda.core.comp.renderer.TemplateHelper.getNode(TemplateHelp er.java:616) at org.enhydra.barracuda.core.comp.renderer.TemplateHelper.copyChildNodes(Templ ateHelper.java:131) at org.enhydra.barracuda.core.comp.renderer.TemplateHelper.render(TemplateHelpe r.java:109) at org.enhydra.barracuda.core.comp.renderer.html.HTMLTemplateRenderer.renderCom ponent(HTMLTemplateRenderer.java:114) at org.enhydra.barracuda.core.comp.BComponent.renderView(BComponent.java:567) at org.enhydra.barracuda.core.comp.BComponent.render(BComponent.java:462) at org.enhydra.barracuda.core.comp.BComponent.render(BComponent.java:480) at org.enhydra.barracuda.core.comp.BComponent.render(BComponent.java:388) at org.enhydra.barracuda.core.event.helper.DefaultViewHandler.handleViewEvent(D efaultViewHandler.java:164) at org.enhydra.barracuda.core.event.DefaultBaseEventListener.handleEvent(Defaul tBaseEventListener.java:66) at org.enhydra.barracuda.core.event.DefaultEventDispatcher.notifyListeners(Defa ultEventDispatcher.java:384) at org.enhydra.barracuda.core.event.DefaultEventDispatcher.dispatch(DefaultEven tDispatcher.java:184) at org.enhydra.barracuda.core.event.DefaultEventDispatcher.dispatchEvent(Defaul tEventDispatcher.java:121) at org.enhydra.barracuda.core.event.DefaultEventBroker.dispatchEvent(DefaultEve ntBroker.java:489) at org.enhydra.barracuda.core.event.ApplicationGateway.handleDefaultExt(Applica tionGateway.java:415) at org.neuralyte.mikey.barracuda.MikeyApplicationGateway.handleDefaultExt(Mikey ApplicationGateway.java:96) at org.enhydra.barracuda.core.event.ApplicationGateway.handleDefault(Applicatio nGateway.java:240) at org.enhydra.barracuda.core.event.ApplicationGateway.doGet(ApplicationGateway .java:643) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:260) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180 ) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve. java:170) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172 ) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:405) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne ction(Http11Protocol.java:380) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:508) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav a:533) at java.lang.Thread.run(Thread.java:484)