Hi Inge,
the error you get indicates that either your treeState, ContentProvider or
keyProvider is null. As you get a basic tree, my guess is you'll have to look
at treeState and keyProvider. So make sure in your Tree component specification
that you provide expressions that evaluate to valid objects. E.g.:
<component id="processTree" type="tacos:Tree">
<binding name="contentProvider" expression="contentProvider"/>
<binding name="keyProvider" expression="keyProvider" />
<binding name="value" expression="pnode"/>
<binding name="state" expression="treeState"/>
<binding name="sorter" expression="@[EMAIL PROTECTED]"/>
</component>
Cheers!
Ido-Eduard.
-----Original Message-----
From: Inge Solvoll [mailto:[EMAIL PROTECTED]
Sent: Tue 11/8/2005 3:19 PM
To: Tapestry users
Subject: Problem with Tapestry 3.0.3 and tacos-tree
I'm trying to use a tacos:Tree component in my page, without luck. I get
the following error when clicking on the plus image, expanding a node:
Unable to invoke method expansion on
[EMAIL PROTECTED]/$DivisionSelectionTree.tree]:
null
I've tried switching to the excact same jar-files as the demo
application uses, no difference.
As you've probably understood, the tree renders correctly at first
showing the root node with a plus-icon next to it. When clicking on the
plus-icon, there is one child node of the root node that should be made
visible.
I've tried setting breakpoints in my content provider, as well as in the
component containing the tree component, but the page crashes before
these are called. I've also tried to put breakpoints in all methods in
Tree and TreeManager, but none are reached. This usually works for me in
other classes.
Any ideas?
Here's the rest of the stack trace:
java.lang.IllegalArgumentException
Stack Trace:
* net.sf.tacos.tree.TreeManager.<init>(Unknown Source)
* net.sf.tacos.tree.Tree.getManager(Unknown Source)
* net.sf.tacos.tree.Tree.expansion(Unknown Source)
* sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
*
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
*
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
* java.lang.reflect.Method.invoke(Method.java:324)
*
org.apache.tapestry.listener.ListenerMap.invokeTargetMethod(ListenerMap.java:257)
*
org.apache.tapestry.listener.ListenerMap.access$100(ListenerMap.java:46)
*
org.apache.tapestry.listener.ListenerMap$SyntheticListener.invoke(ListenerMap.java:97)
*
org.apache.tapestry.listener.ListenerMap$SyntheticListener.actionTriggered(ListenerMap.java:102)
* org.apache.tapestry.link.DirectLink.trigger(DirectLink.java:119)
*
org.apache.tapestry.engine.DirectService.service(DirectService.java:169)
*
org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:889)
*
org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:198)
*
org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:159)
* javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
* javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
*
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
*
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
*
com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
*
com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
*
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
*
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
*
no.dossier.moby.frontend.common.filters.BasicFilter.doFilter(BasicFilter.java:161)
*
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
*
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
*
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
*
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
*
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
*
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
*
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
*
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
*
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
*
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
*
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
*
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
*
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
* java.lang.Thread.run(Thread.java:534)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]