That was what I was wondering. I did not think so. My use case is basically that I want to have a node that has children, but will not be toggle able in some situations.
From the wiki
http://wiki.apache.org/myfaces/Tree2 Whatever the implementation is you provide, at all times the condition getChildren().isEmpty() ==> isLeaf() should hold. The isLeaf() actually controls how the node is rendered: as a leaf (which cannot be expanded further) or not. Anyway treeNode.getChildCount() >0, treeNode.isLeaf() == false Provides a funky display (ie it chopps of the end of the tree) I will try to create a use case for this On 1/2/07, Andrew Robinson <[EMAIL PROTECTED]> wrote:
at the same time isLeaf() && treeNode.getChildCount() == 0 should be synonymous. On 1/2/07, kal stevens <[EMAIL PROTECTED]> wrote: > Thank you, I will write a test case. > > I guess my question can be boiled down to this. > Is it true or false that > > If treeNode.isLeaf() == true ==> treeNode.getChildren() / > treeNode.getChildCount() should never be called? > > It seems like that should be an invariant. > > Thanks for the links, I will be back with a test case > > > On 1/2/07, Paul Spencer < [EMAIL PROTECTED]> wrote: > > I suggest creating a test case. A test case is a good way to prove the > bug exist and verify when > > it has been fixed, in addition to getting a commiter's attention. In this > case simply add the > > test to HtmlTreeRendererTest[1]. Feel free to look at the component test > [2] for more examples. > > If the test require "user interaction" then I a Selenium based test may be > appropriate [3][4]. See the current > > set of Selenium test[5][6]. > > > > Paul Spencer > > > > [1] > http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/test/java/org/apache/myfaces/custom/tree2/HtmlTreeRendererTest.java?view=markup > > [2] > http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/test/java/org/apache/myfaces/component/html/ext/ > > [3] > http://myfaces.apache.org/tomahawk/testing/selenium.html > > [4] > http://wiki.apache.org/myfaces/Automated_Testing?highlight=%28selenium%29 > > [5] > http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/examples/simple/src/test/selenium/ > > [6] > http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/examples/simple/src/main/webapp/testSuite/ > > > > > > William Huang wrote: > > > I would say, is a bug if you configured server side toggle, if > configured > > > as client-side toggle, is not a bug. IMO.. > > > > > > Awhile back, I configure the tree to be serverside toggle, for all the > > > nodes that have children, I loaded with one dummy child noe, and when > the > > > user click on the expend node, then I would remove the dummy child and > load > > > the actual children. > > > > > > Bill > > > > > > > > > "kal stevens" > > > <[EMAIL PROTECTED] > > > .com> > To > > > "MyFaces > Discussion" > > > 01/02/2007 04:28 <users@myfaces.apache.org> > > > PM > cc > > > > > > > Subject > > > Please respond to Re: tree2 problem with isLeaf() = > > > "MyFaces true but > getChildren().size > 0 > > > Discussion" > > > <[EMAIL PROTECTED] > > > ache.org> > > > > > > > > > > > > > > > > > > > > > > > > I also need to return a new list of children with size = 0 > > > This just seemed like a horrible hack. > > > And I was just wondering if it was supposed to work like this or if this > is > > > a bug? > > > > > > Does anyone know how I can get the source to the core library 1.1.13 ? > > > My coworker used that version but did not get the source. > > > > > > thanks > > > > > > On 1/2/07, Andrew Robinson < [EMAIL PROTECTED]> wrote: > > > There is some weird code in the tree renderer that I saw when I was > > > trying to customize my own tree. In your case the weird code is a bug > > > (I didn't look to far into this and am going from memory, so I may be > > > mistaken). The code is something like: > > > > > > for (int i = 0; i < node.getChildrenCount(); i++) > > > { > > > if ( treeWalker.next()) > > > ... > > > } > > > > > > if you look at the code you will see the for loop is completely > > > useless, all that is needed is the treeWalker.next() call. Check out > > > the source for: > > > > > > > org.apache.myfaces.custom.tree2.HtmlTreeRenderer.encodeTree() > > > > > > If you have debugging set up, debug through that method. > > > > > > What is probably happening is that your children count is returning 1 > > > but the walker skips it because it is a leaf node and the state may > > > become invalid at that point. > > > > > > As a work-around, return "true" for isLeaf and "0" for > > > getChildrenCount() to make sure your child node is not rendered. > > > > > > On 1/2/07, kal stevens <[EMAIL PROTECTED]> wrote: > > > > I was wondering if this is valid or if I am doing something wrong > here. > > > > > > > > I have a node, that has children, but I don't want those children to > be > > > > > > > displayed in some situations. > > > > > > > > So in those situations I return true in isLeaf() > > > > > > > > When this happens It displays the tree with the bottom elements > chopped > > > off. > > > > > > > > So lets say I have a tree with 3 elements > > > > > > > > 1 Node 1 (is a leaf) > > > > 2 Node 2 is a child of Node 1 and should not be displayed > > > > 3 Node 3 is any node at the same level as Node 1 > > > > > > > > Then Node 3 is not displayed. > > > > > > > > I am using myfaces 1.1.13 > > > > > > > > I was going to look through the bug forum, but I could not figure > out > > > how to > > > > search through it. > > > > > > > > Thanks > > > > > > > > > > > > > > Disclaimer: This electronic mail and any attachments are confidential > and may be privileged. If you are not the intended recipient, please notify > the sender immediately by replying to this email, and destroy all copies of > this email and any attachments. Thank you. > > > > > > > > > > > >