ICEfaces
  1. ICEfaces
  2. ICE-3701

Tree navigatedNode currentNode state saving

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Invalid
    • Affects Version/s: 1.8DR#1
    • Fix Version/s: 1.8DR#2, 1.8
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      All

      Description

      Tree's navigatedNode currentNode fields are both DefaultMutableTreeNode objects, which means that trying to save the last selected or expanded node info, may serialize the entire tree model (twice). That could also entail a memory leak, if the model changes, while these two fields continue referencing the old model's nodes. We need to instead be storing some kind of path expression, and just look up the nodes as needed.

        Issue Links

          Activity

          Hide
          Adnan Durrani added a comment -

          It came across that both the "navigatedNode" and the "currentNode" do not need to saved/restore.

          Reason:

          • navigatedNode:
            The "navigated node" property has never being accessed. However the decode method of the Tree component do the lookup of the "navigated node" using the "navigatedPathNode" sent by the client, to just to flip the Expended state. So it doesn't require state variable.
          • currentNode:
            The "currentNode" is a state variable which represents the current processing node, which is set inside the iteration and its not required after JSF lifecycle completes.
          Show
          Adnan Durrani added a comment - It came across that both the "navigatedNode" and the "currentNode" do not need to saved/restore. Reason: navigatedNode: The "navigated node" property has never being accessed. However the decode method of the Tree component do the lookup of the "navigated node" using the "navigatedPathNode" sent by the client, to just to flip the Expended state. So it doesn't require state variable. currentNode: The "currentNode" is a state variable which represents the current processing node, which is set inside the iteration and its not required after JSF lifecycle completes.
          Hide
          Adnan Durrani added a comment -

          We have added the save/restore support to for the "navigatedNode" using the "navigatedNodePath". Considering the fact that the "navigatedNode" is a public property and might be accessed by the application code.

          trunk: revision 17859

          Show
          Adnan Durrani added a comment - We have added the save/restore support to for the "navigatedNode" using the "navigatedNodePath". Considering the fact that the "navigatedNode" is a public property and might be accessed by the application code. trunk: revision 17859

            People

            • Assignee:
              Unassigned
              Reporter:
              Mark Collette
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: