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)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.