0 Replies Latest reply on Apr 17, 2012 9:16 AM by true_mykola

    Strange behavior of rich:tree with h:commandLink and eclipse debugger

    true_mykola

      Hi, i've faced a strange problem with rich:tree: i can't normally debug it. My tree includes nodes which are h:commandLink. When i click this link selectionChangeListener is called and then page is navigated to another page. This what should happen, and it does in simple cases without debugging (when i modify sample tree from showcase so that its leaf nodes are links). But when i try to debug and place breakpoint in selectionChanged() method, page isn't navigated to another page: selectionChangeListener is called but page isn't navigated. It happens always in debug mode with modified sample tree. And it happens in about 1/2 or 1/3 cases in my application's tree even without debugging. Is it eclipse debugger problem or what? And why in my real application's tree sometimes when i click a node for a first time my TreeSelectionChangeEvent's newSelection contains empty collection?

      I'm using Richfaces 4.2, JSF 2.0.4.

       

      Besides, I have also other problems among which is this exception:

      java.lang.IllegalArgumentException: Selection object should not contain more than one keys!
          at org.richfaces.renderkit.TreeRendererBase.encodeSelectionStateInput(TreeRendererBase.java:139)
          at org.richfaces.renderkit.html.TreeRenderer.encodeEnd(TreeRenderer.java:145)
          at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:879)
          at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1655)
          at javax.faces.render.Renderer.encodeChildren(Renderer.java:164)
          Truncated. see log file for complete stacktrace
      

      I don't do anything with selection. It has only getter and setter and is never called inside bean, but when i try to debug i always has this exception. Unfortunately i couldn't reproduce it on sample tree, so my question concerns only first case with links, may be someone faced this problem too and knows the solution