ICEfaces
  1. ICEfaces
  2. ICE-7573

ACE partial state saving of row specific properties

    Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 3.0.RC1
    • Fix Version/s: None
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      ACE

      Description

      With our ACE components, we have special getter and setter methods that control storing the tag attribute specified value of a component property (which can also be specified programmatically in Java), as well as the property value for any and all clientIds that the component may have, as it is iteratively stamped out in any iterative container. Something that might save memory is if instead of simply storing the row specific property value, we see if it differs from the tag attribute specified property value, and only storing different values. There will be a slightly higher CPU cost from having to access the tag attribute specified value and use equals() on each property set, so we should verify that we're saving some tangible amount of memory.

        Activity

        Hide
        Ken Fyten added a comment -

        Consider for 4.0.

        Show
        Ken Fyten added a comment - Consider for 4.0.
        Hide
        Mark Collette added a comment -

        No need to consider Mojarra or MyFaces. The savings would really just be from less clientId keys in the property map, as it would not store a per-row value if it matched what the component's typical value would be, which is one of either the tag's attribute's value, or if none was specified then the property's default value. This would be a generator change to the ACE property setter method generation. It wouldn't affect properties bound to EL expressions at all.

        Show
        Mark Collette added a comment - No need to consider Mojarra or MyFaces. The savings would really just be from less clientId keys in the property map, as it would not store a per-row value if it matched what the component's typical value would be, which is one of either the tag's attribute's value, or if none was specified then the property's default value. This would be a generator change to the ACE property setter method generation. It wouldn't affect properties bound to EL expressions at all.
        Hide
        Ken Fyten added a comment - - edited

        Need to review and consider current Mojarra and MyFaces JSF behaviours when looking at this.

        Show
        Ken Fyten added a comment - - edited Need to review and consider current Mojarra and MyFaces JSF behaviours when looking at this.
        Hide
        Mark Collette added a comment -

        As well, the tag specified value, and any row specific value, need only be saved if they differ from the hard-coded default value.

        Show
        Mark Collette added a comment - As well, the tag specified value, and any row specific value, need only be saved if they differ from the hard-coded default value.

          People

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

            Dates

            • Created:
              Updated: