I have a tree2 that displays a contest hierarchy. Many of the nodes are
clickable, and when clicked, they are supposed to set a backing bean property
based on a property of the node. The code for it is:
<h:form>
<t:tree2 value="#{tree}" var="node" varNodeToggler="t"
clientSideToggle="true"
showRootNode="false" showNav="false">
<f:facet name="root">
#{node.description}
</f:facet>
<f:facet name="system">
<h:commandLink value="#{system.name}"
action="viewContestSystem">
<af:setActionListener from="#{system}"
to="#{contestSystemBean.current}" />
</h:commandLink>
</f:facet>
</t:tree2>
</h:form>
The problem is, when I click on the link for any of the system nodes I get:
15:47:38,517 ERROR [faces]:253 - Servlet.service() for servlet faces threw
exception
java.lang.IllegalArgumentException: Unable to locate facet with the name: root
at
org.apache.myfaces.custom.tree2.UITreeData.processNodes(UITreeData.java:484)
at
org.apache.myfaces.custom.tree2.UITreeData.processDecodes(UITreeData.java:161)
at javax.faces.component.UIForm.processDecodes(UIForm.java:53)
at
oracle.adf.view.faces.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:818)
at
oracle.adf.view.faces.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:803)
at
oracle.adf.view.faces.component.UIXComponentBase.processDecodes(UIXComponentBase.java:673)
at
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:605)
at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:136)
at
org.apache.myfaces.lifecycle.LifecycleImpl.applyRequestValues(LifecycleImpl.java:219)
at
org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:71)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:108)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:367)
at
oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:336)
at
oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:196)
at
oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:87)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
at
org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:90)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:216)
at
org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:90)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:195)
at
org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:90)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:122)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
...
Am I doing something wrong?