Hi all,
 
I am having problem updating the tree model.  Here is my short code sample
 
JSP
    <h:commandLink value="Refresh tree" action=""/>
    <br/><br/>
 
    <!-- Expand/Collapse Handled By Server -->
    <t:tree2 id="serverTree" value="#{treeBacker.treeModel}" var="node" varNodeToggler="t" clientSideToggle="false" binding="#{treeBacker.tree}">
TreeBacker.java
 
...   public String refreshTree()   {
       treeData.refreshTree();
       _treeModel = new TreeModelBase(treeData.getTreeData());
       return null;
   }
   public TreeModel getTreeModel() {
      if (_treeModel == null) {
         _treeModel = new TreeModelBase(treeData.getTreeData());
         _treeModel.getTreeState().toggleExpanded("0");
      }
 
      return _treeModel;
   }
I setup breakpoint to see what is going on.  It seems like refreshTree() get called, _treeModel is updated.  Then getTreeModel() got called twice.  The first time it returned the updated one, then the second time it returned the old one.
 
My treeBacked is defined in the session scope as follow.  So there should not be two instances of treeBacker for the same session.
 
    <managed-bean>
        <managed-bean-name>treeBacker</managed-bean-name>
        <managed-bean-class>gov.nih.nci.ncicb.cadsr.umlmodelbrowser.tree.TreeBacker</managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
Any suggestions on how to get this to work or other ways to refresh the tree would be grealy appreciated.
 
Many thanks,
 
Jane

Reply via email to