I have a component that that is based on the DHTML tree component Erik made on the wiki. I've had it working for several months, and recently I found I needed to move this component to it's own project. So now it is used as a component library instead of being within the application that uses it.
Here is the tree component on the wiki: http://wiki.apache.org/tapestry/Tapestry5TreeComponent This is the code that is in the equivalent of a "TreeDemo" page on the wiki. In my actual code, this is also a component, but that has never mattered before. <t:t5phy6.dhtmltree.tree treeId='literal:reporttree' source="treenodes" currentNode="node"> <t:actionlink t:id="tree" context='node.identifier'> ${node.displayName} </t:actionlink> </t:t5phy6.dhtmltree.tree> With the code like this, I get an error: Render queue error in BeginRender[setup/HierarchicalSetupPage: treemenureport.tree]: Parameter input was null or contained only whitespace. Where the last highlighted line is this: <t:actionlink t:id="tree" context="node.identifier"> Here is the trace: Parameter input was null or contained only whitespace. Stack trace - org.apache.tapestry.ioc.internal.util.Defense.notBlank(Defense.java :59) - org.apache.tapestry.internal.TapestryInternalUtils.encodeContext( TapestryInternalUtils.java:519) - org.apache.tapestry.internal.services.ComponentInvocationImpl.getPath( ComponentInvocationImpl.java:101) - org.apache.tapestry.internal.services.ComponentInvocationImpl.buildURI (ComponentInvocationImpl.java:60) - org.apache.tapestry.internal.services.LinkImpl.buildURI( LinkImpl.java:105) - org.apache.tapestry.internal.services.LinkImpl.toURI(LinkImpl.java :91) - org.apache.tapestry.corelib.base.AbstractLink.buildHref( AbstractLink.java:59) - org.apache.tapestry.corelib.base.AbstractLink.writeLink( AbstractLink.java:79) - org.apache.tapestry.corelib.base.AbstractComponentEventLink.beginRender (AbstractComponentEventLink.java:64) - org.apache.tapestry.corelib.base.AbstractComponentEventLink.beginRender (AbstractComponentEventLink.java) - org.apache.tapestry.internal.structure.ComponentPageElementImpl$11$1.run (ComponentPageElementImpl.java:338) - org.apache.tapestry.internal.structure.ComponentPageElementImpl.invoke (ComponentPageElementImpl.java:874) - org.apache.tapestry.internal.structure.ComponentPageElementImpl.access$100 (ComponentPageElementImpl.java:54) - org.apache.tapestry.internal.structure.ComponentPageElementImpl$11.render (ComponentPageElementImpl.java:342) - org.apache.tapestry.internal.services.RenderQueueImpl.run( RenderQueueImpl.java:63) - org.apache.tapestry.internal.services.PageRenderQueueImpl.render( PageRenderQueueImpl.java:63) - org.apache.tapestry.services.TapestryModule$19.renderMarkup( TapestryModule.java:1310) - org.apache.tapestry.services.TapestryModule$23.renderMarkup( TapestryModule.java:1418) - org.apache.tapestry.services.TapestryModule$22.renderMarkup( TapestryModule.java:1399) - org.apache.tapestry.services.TapestryModule$21.renderMarkup( TapestryModule.java:1381) - org.apache.tapestry.services.TapestryModule$20.renderMarkup( TapestryModule.java:1363) - org.apache.tapestry.internal.services.PageMarkupRendererImpl.renderPageMarkup (PageMarkupRendererImpl.java:55) - org.apache.tapestry.internal.services.PageResponseRendererImpl.renderPageResponse (PageResponseRendererImpl.java:57) - org.apache.tapestry.internal.services.PageRenderRequestHandlerImpl.handle (PageRenderRequestHandlerImpl.java:59) - org.apache.tapestry.internal.services.PageRenderDispatcher.dispatch( PageRenderDispatcher.java:77) - org.apache.tapestry.services.TapestryModule$13.service( TapestryModule.java:932) - mil.army.oacsim.IEIS.wui.tapestry.services.AppModule$1.service( AppModule.java:83) ...more When I change the code as seen below, everything renders fine but obviously clicking the links does not do anything. <t:t5phy6.dhtmltree.tree treeId='literal:reporttree' source="treenodes" currentNode="node"> <t:actionlink t:id="tree"> ${node.displayName} </t:actionlink> </t:t5phy6.dhtmltree.tree> So I know it is seeing the node/currentnode, since the correct names are being printed out. I've also tried having all the t5phy6.dhtmltree.tree component parameters be defined in the TreeDemo class, but I get the same error. I've also tried making an intermediate method in TreeDemo to replace <t:actionlink t:id="tree" context="node.identifier"> with <t:actionlink t:id="tree" context="nodeContext"> where nodeContext is public String getNodeContext() { return getNode().getIdentifier(); } I've been working on this for a good 6 hours, and now I'm blinded as to what the problem is. I've made sure the all component libraries are up to date and synchronized. This is Tapestry 5.0.10 Snapshot, but the problem is probably me. Daniel