I just upgraded my trinidad jars to 1.0.7 and testing the code below still 
raises the expand all issue.  If I put a value as low as 15 into the test, the 
expand all no longer works for me.  Still I'm uncertain if this is desired 
behavior or not since it is called out in the developer handbook.

Also, when I use the latest jars, if I use a value as high as 5000, I get an 
exception that I never used to get with the old version I was running:

26 Mar 08 10:52:26, ERROR [http-0.0.0.0-18080-2] impl.Log4JLogger 
(Log4JLogger.java:119) - Servlet.service() for servlet Faces Servlet threw 
exception
java.lang.IllegalArgumentException: row is unavailable
 at javax.faces.model.ListDataModel.getRowData(ListDataModel.java:66)
 at 
org.apache.myfaces.trinidad.model.SortableModel.getRowData(SortableModel.java:62)
 at 
org.apache.myfaces.trinidad.model.ChildPropertyTreeModel.getRowData(ChildPropertyTreeModel.java:206)
 at 
org.apache.myfaces.trinidad.model.ChildPropertyTreeModel.isContainer(ChildPropertyTreeModel.java:218)
 at 
org.apache.myfaces.trinidad.component.UIXHierarchy.isContainer(UIXHierarchy.java:117)
 at 
org.apache.myfaces.trinidad.component.HierarchyUtils.__iterateOverTree(HierarchyUtils.java:148)
 at 
org.apache.myfaces.trinidad.component.UIXTreeTable.processFacetsAndChildren(UIXTreeTable.java:376)
 at 
org.apache.myfaces.trinidad.component.UIXCollection.decodeChildrenImpl(UIXCollection.java:194)
 at 
org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:905)
 at 
org.apache.myfaces.trinidad.component.UIXCollection.processDecodes(UIXCollection.java:188)
 at javax.faces.component.UIForm.processDecodes(UIForm.java:56)
 at 
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:605)
 at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:138)
 at org.ajax4jsf.component.AjaxViewRoot.access$001(AjaxViewRoot.java:57)
 at org.ajax4jsf.component.AjaxViewRoot$1.invokeRoot(AjaxViewRoot.java:260)
 at 
org.ajax4jsf.context.JsfOneOneInvoker.invokeOnRegionOrRoot(JsfOneOneInvoker.java:56)
 at 
org.ajax4jsf.context.AjaxContextImpl.invokeOnRegionOrRoot(AjaxContextImpl.java:173)
 at org.ajax4jsf.component.AjaxViewRoot.processDecodes(AjaxViewRoot.java:276)
 at 
org.apache.myfaces.lifecycle.ApplyRequestValuesExecutor.execute(ApplyRequestValuesExecutor.java:32)
 at 
org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95)
 at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70)
 at javax.faces.webapp.FacesServlet.service(FacesServlet.java:139)
 at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
 at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
 at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
 at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 at 
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:190)
 at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 at 
com.ghx.cc.commitment.jsf.filter.JSFAuthenticationFilter.doFilter(JSFAuthenticationFilter.java:51)
 at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 at 
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
 at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
 at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
 at 
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
 at 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
 at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
 at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
 at 
org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
 at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
 at 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
 at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
 at 
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
 at java.lang.Thread.run(Thread.java:619)
26 Mar 08 10:52:26, ERROR [http-0.0.0.0-18080-1] impl.Log4JLogger 
(Log4JLogger.java:119) - Servlet.service() for servlet jsp threw exception
java.lang.IllegalArgumentException: row is unavailable
 at javax.faces.model.ListDataModel.getRowData(ListDataModel.java:66)
 at 
org.apache.myfaces.trinidad.model.SortableModel.getRowData(SortableModel.java:62)
 at 
org.apache.myfaces.trinidad.model.ChildPropertyTreeModel.getRowData(ChildPropertyTreeModel.java:206)
 at 
org.apache.myfaces.trinidad.model.ChildPropertyTreeModel.isContainer(ChildPropertyTreeModel.java:218)
 at 
org.apache.myfaces.trinidad.component.UIXHierarchy.isContainer(UIXHierarchy.java:117)
 at 
org.apache.myfaces.trinidadinternal.renderkit.core.desktop.TreeTableRenderer$1.processRowImpl(TreeTableRenderer.java:516)
 at 
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.table.TableUtils$RowLoop.processRow(TableUtils.java:117)
 at 
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.table.TableUtils$RowLoop.loop(TableUtils.java:103)
 at 
org.apache.myfaces.trinidadinternal.renderkit.core.desktop.TreeTableRenderer$1.processRowImpl(TreeTableRenderer.java:529)
 at 
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.table.TableUtils$RowLoop.processRow(TableUtils.java:117)
 at 
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.table.TableUtils$RowLoop.loop(TableUtils.java:103)
 at 
org.apache.myfaces.trinidadinternal.renderkit.core.desktop.TreeTableRenderer$1.processRowImpl(TreeTableRenderer.java:529)
 at 
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.table.TableUtils$RowLoop.processRow(TableUtils.java:117)
 at 
org.apache.myfaces.trinidadinternal.renderkit.core.desktop.TreeTableRenderer$1.loop(TreeTableRenderer.java:496)
 at 
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.table.TableUtils$RowLoop.run(TableUtils.java:75)
 at 
org.apache.myfaces.trinidadinternal.renderkit.core.desktop.TreeTableRenderer._renderTableRows(TreeTableRenderer.java:540)
 at 
org.apache.myfaces.trinidadinternal.renderkit.core.desktop.TreeTableRenderer.renderTableRows(TreeTableRenderer.java:379)
 at 
org.apache.myfaces.trinidadinternal.renderkit.core.desktop.DesktopTableRenderer.renderTableContent(DesktopTableRenderer.java:364)
 at 
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.TableRenderer.encodeAll(TableRenderer.java:375)
 at 
org.apache.myfaces.trinidadinternal.renderkit.core.desktop.TreeTableRenderer.encodeAll(TreeTableRenderer.java:168)
 at 
org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:224)
 at 
org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:711)
 at 
org.apache.myfaces.trinidad.component.UIXCollection.encodeEnd(UIXCollection.java:525)
 at javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java:498)
 at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:366)
 at 
org.apache.myfaces.trinidad.webapp.UIXComponentTag.doEndTag(UIXComponentTag.java:120)
 at 
org.apache.jsp.jsp.test.testTreeTable_jsp._jspx_meth_tr_treeTable_0(testTreeTable_jsp.java:277)
 at 
org.apache.jsp.jsp.test.testTreeTable_jsp._jspx_meth_h_form_0(testTreeTable_jsp.java:170)
 at 
org.apache.jsp.jsp.test.testTreeTable_jsp._jspx_meth_f_view_0(testTreeTable_jsp.java:120)
 at 
org.apache.jsp.jsp.test.testTreeTable_jsp._jspService(testTreeTable_jsp.java:85)
 at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
 at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
 at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
 at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
 at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
 at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
 at 
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
 at 
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
 at 
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
 at 
org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:419)
 at 
org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:43)
 at 
org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:43)
 at 
org.apache.myfaces.trinidadinternal.context.FacesContextFactoryImpl$OverrideDispatch.dispatch(FacesContextFactoryImpl.java:260)
 at 
org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:211)
 at 
org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
 at 
org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:216)
 at 
org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:182)
 at 
org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
 at 
org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:216)
 at 
org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
 at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132)
 at javax.faces.webapp.FacesServlet.service(FacesServlet.java:140)
 at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
 at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
 at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
 at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 at 
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:190)
 at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 at 
com.ghx.cc.commitment.jsf.filter.JSFAuthenticationFilter.doFilter(JSFAuthenticationFilter.java:51)
 at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 at 
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
 at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
 at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
 at 
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
 at 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
 at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
 at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
 at 
org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
 at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
 at 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
 at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
 at 
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
 at java.lang.Thread.run(Thread.java:619)
26 Mar 08 10:52:26, ERROR [http-0.0.0.0-18080-1] impl.Log4JLogger 
(Log4JLogger.java:119) - Servlet.service() for servlet Faces Servlet threw 
exception
javax.faces.FacesException: row is unavailable
 at 
org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:425)
 at 
org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:43)
 at 
org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:43)
 at 
org.apache.myfaces.trinidadinternal.context.FacesContextFactoryImpl$OverrideDispatch.dispatch(FacesContextFactoryImpl.java:260)
 at 
org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:211)
 at 
org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
 at 
org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:216)
 at 
org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:182)
 at 
org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
 at 
org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:216)
 at 
org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
 at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132)
 at javax.faces.webapp.FacesServlet.service(FacesServlet.java:140)
 at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
 at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
 at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
 at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 at 
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:190)
 at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 at 
com.ghx.cc.commitment.jsf.filter.JSFAuthenticationFilter.doFilter(JSFAuthenticationFilter.java:51)
 at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 at 
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
 at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
 at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
 at 
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
 at 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
 at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
 at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
 at 
org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
 at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
 at 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
 at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
 at 
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
 at java.lang.Thread.run(Thread.java:619)
Caused by: org.apache.jasper.JasperException: row is unavailable
 at 
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:512)
 at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:395)
 at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
 at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
 at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
 at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
 at 
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
 at 
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
 at 
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
 at 
org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:419)
 ... 41 more



----- Original Message ----
From: floor <[EMAIL PROTECTED]>
To: [email protected]
Sent: Wednesday, March 26, 2008 9:32:03 AM
Subject: Re: Trinidad TreeTable behavior

I decided to write some code to test this issue easily and found that the issue 
pops up with surprisingly little data.  My test code follows...  Please note 
that I haven't made sure I have the latest version yet....  I will do that soon.

------------------------testTreeTable.jsp-----------------------------
<%@ page language="java" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsf/html"; prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core"; prefix="f" %>
<%@ taglib uri="http://myfaces.apache.org/trinidad"; prefix="tr"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<f:view>
  <h:form>
  <h:outputText value="Test TreeTable with " />
  <h:inputText value="#{TEST.numberOfBranches}" />
  <h:outputText value=" branches.  " />
  <h:commandLink value="Go" action="#{TEST.runTest}" />
  
  <tr:treeTable value="#{TEST.model}" var="model" width="100%" 
rowBandingInterval="1" >
    <f:facet name="nodeStamp">
    <tr:column>
      <tr:outputText value="#{model.thingName}" />
    </tr:column>    
    </f:facet>
  </tr:treeTable>
  </h:form>
</f:view>
</body>
</html>
----------------------------------------------------------------------------------
---------------------------TestTreeTable.java-----------------------------
package test;
import java.util.ArrayList;
import java.util.List;
import org.apache.myfaces.trinidad.model.ChildPropertyTreeModel;
import org.apache.myfaces.trinidad.model.TreeModel;
public class TestTreeTable {
private TreeModel model;
private ArrayList<TreeThing> modelList;
private String numberOfBranches;
public TestTreeTable() {
  numberOfBranches = "5";
  modelList = new ArrayList<TreeThing>();
}
public String runTest() {
  initializeTest(Integer.parseInt(numberOfBranches));
  
  return "";
}
  
private void initializeTest(int n) {
  TreeThing rootNode = new TreeThing("Scientific classification");
  
  for(int i = 1; i <= n; i++) {
  TreeThing kingdom = new TreeThing("Kingdom " + i);
  TreeThing phylum = new TreeThing("Phylum " + i);
  TreeThing classTreeThing = new TreeThing("Class " + i);
  TreeThing order = new TreeThing("Order " + i);
  TreeThing family = new TreeThing("Family " + i);
  TreeThing genus = new TreeThing("Genus " + i);
  TreeThing species = new TreeThing("Species " + i);
  
  genus.getChildren().add(species);
  family.getChildren().add(genus);
  order.getChildren().add(family);
  classTreeThing.getChildren().add(order);
  phylum.getChildren().add(classTreeThing);
  kingdom.getChildren().add(phylum);
  
  rootNode.getChildren().add(kingdom);
  }
  modelList = new ArrayList<TreeThing>();
  modelList.add(rootNode);
  model = new ChildPropertyTreeModel(modelList, "children");
}
public TreeModel getModel() {
  return model;
}
public void setModel(TreeModel model) {
  this.model = model;
}
public String getNumberOfBranches() {
  return numberOfBranches;
}
public void setNumberOfBranches(String numberOfBranches) {
  this.numberOfBranches = numberOfBranches;
}
public class TreeThing {
    public TreeThing(String name)
    {
      _name = name;
    }
    
    public String getThingName()
    {
      return _name;
    }
    
    public List<TreeThing> getChildren()
    {
      return _children;
    }
    
    private final String _name;
    private final List<TreeThing> _children = new ArrayList<TreeThing>();
}
}
----------------------------------------------------------------------------------


      
____________________________________________________________________________________
Looking for last minute shopping deals?  
Find them fast with Yahoo! Search.  
http://tools.search.yahoo.com/newsearch/category.php?category=shopping


      
____________________________________________________________________________________
Looking for last minute shopping deals?  
Find them fast with Yahoo! Search.  
http://tools.search.yahoo.com/newsearch/category.php?category=shopping

Reply via email to