Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.2 Sprint 8
    • Fix Version/s: 2.0
    • Component/s: Uncategorized
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: Sun

    • Issuezilla Id:
      139
    • Status Whiteboard:
      Hide

      EGTop5 effort_hard

      Show
      EGTop5 effort_hard

      Description

      JH> 2. Also, I would really like the EG to look at redoing the UIComponent
      JH> state-saving. Given the plain of available components and amount of
      JH> unecessary state saved for each user, I think we would be better off
      JH> following EJB 3's tail with some kind of annotation for state saving and
      JH> treat stateless (as in request scope) as the normal mode of operation.
      JH> I've been able to test returning nothing for state and simply creating a
      JH> new component tree within restoreView-- leaving all components to
      JH> request scope and removing the need to preserve state. I fully realize
      JH> this doesn't work for all cases, but again, those cases are the minority
      JH> for JSF and always have been.

        Issue Links

          Activity

          Hide
          Ed Burns added a comment -

          accept

          Show
          Ed Burns added a comment - accept
          Hide
          Ed Burns added a comment -

          For component tree I think we may simplify it life-cycle, but to make it
          completely static is probably too much for me. I'd rather fix binding to
          allow component tree segments relay on normal scope rules. That imply
          introduction of some explicit Component Context to hold "variable"
          portion of Component data (like submitted value etc.).

          By default tree go to Application scope, however, if it have binding,
          than it goes to the scope of that bean, created lazy once per bean life
          cycle and stay there. Component Context created/saved/restored at every
          request and used by component instead of member variables to store local
          stuff.

          For example:
          <view ....> - implicitly create bean in application scope
          ... some children here ... effectively are in application scope
          <panelGrid binding="#

          {a}" ...>
          if "a" is session scope, than (1) component instance put onto bean
          "a" in session scope following normal bean resolving rules (lazy
          initialization), (2) special delegate put between children of <view>
          with reference to "#{a}

          . That delegate relay all actual activity to real
          component from session scope.
          ... all children of <panelGrid ...> are effectively in session
          scope. And so on.

          This way we will keep it simple, but still allow great flexibility for
          application developers. Again, all we need is to separate "static"
          portion of component from it "variable" part. I guess majority of
          components will not have any "variable" part, so there Context will be
          null. Nothing to keep in view state.

          Best,
          Igor.

          Show
          Ed Burns added a comment - For component tree I think we may simplify it life-cycle, but to make it completely static is probably too much for me. I'd rather fix binding to allow component tree segments relay on normal scope rules. That imply introduction of some explicit Component Context to hold "variable" portion of Component data (like submitted value etc.). By default tree go to Application scope, however, if it have binding, than it goes to the scope of that bean, created lazy once per bean life cycle and stay there. Component Context created/saved/restored at every request and used by component instead of member variables to store local stuff. For example: <view ....> - implicitly create bean in application scope ... some children here ... effectively are in application scope <panelGrid binding="# {a}" ...> if "a" is session scope, than (1) component instance put onto bean "a" in session scope following normal bean resolving rules (lazy initialization), (2) special delegate put between children of <view> with reference to "#{a} . That delegate relay all actual activity to real component from session scope. ... all children of <panelGrid ...> are effectively in session scope. And so on. This way we will keep it simple, but still allow great flexibility for application developers. Again, all we need is to separate "static" portion of component from it "variable" part. I guess majority of components will not have any "variable" part, so there Context will be null. Nothing to keep in view state. Best, Igor.
          Hide
          Ed Burns added a comment -

          http://archives.java.sun.com/cgi-bin/wa?A2=ind0707&L=JSR-314-
          EG&D=0&T=0&X=0C3F016278D57546F8&Y=ed.burns%40sun.com&P=25202

          Show
          Ed Burns added a comment - http://archives.java.sun.com/cgi-bin/wa?A2=ind0707&L=JSR-314- EG&D=0&T=0&X=0C3F016278D57546F8&Y=ed.burns%40sun.com&P=25202
          Hide
          rogerk added a comment -
              • Issue 96 has been marked as a duplicate of this issue. ***
          Show
          rogerk added a comment - Issue 96 has been marked as a duplicate of this issue. ***
          Hide
          driscoll added a comment -
              • Issue 252 has been marked as a duplicate of this issue. ***
          Show
          driscoll added a comment - Issue 252 has been marked as a duplicate of this issue. ***
          Hide
          rogerk added a comment -

          Status whiteboard

          Show
          rogerk added a comment - Status whiteboard
          Hide
          Ed Burns added a comment -

          effort_hard

          Show
          Ed Burns added a comment - effort_hard
          Hide
          Ed Burns added a comment -

          change target_milestone to 2.0

          Show
          Ed Burns added a comment - change target_milestone to 2.0
          Hide
          Ed Burns added a comment -
          Show
          Ed Burns added a comment - http://ocpsoft.com/uncategorized/jsf-get-bookmarkable-and-pretty-urls/ Make sure this fits in as well.
          Hide
          Ed Burns added a comment -

          Re-enable UIData testcases:

          excludes="javax/faces/component/UIDataTestCase.class,javax/faces/component/UIFormTestCase.class"/
          >

          Show
          Ed Burns added a comment - Re-enable UIData testcases: excludes="javax/faces/component/UIDataTestCase.class,javax/faces/component/UIFormTestCase.class"/ >
          Hide
          Ed Burns added a comment -

          Created an attachment (id=190)
          Excluded tests, pre merge to trunk@HEAD

          Show
          Ed Burns added a comment - Created an attachment (id=190) Excluded tests, pre merge to trunk@HEAD
          Hide
          Ed Burns added a comment -

          Created an attachment (id=194)
          checkpoint, just for archive.

          Show
          Ed Burns added a comment - Created an attachment (id=194) checkpoint, just for archive.
          Hide
          Ed Burns added a comment -

          Created an attachment (id=199)
          Fix for this bug, second iteration, including automated test.

          Show
          Ed Burns added a comment - Created an attachment (id=199) Fix for this bug, second iteration, including automated test.
          Hide
          Ed Burns added a comment -

          Created an attachment (id=200)
          checkpoint manifest, just for archive

          Show
          Ed Burns added a comment - Created an attachment (id=200) checkpoint manifest, just for archive
          Hide
          Ed Burns added a comment -

          Created an attachment (id=201)
          checkpoint in lieu of checkin

          Show
          Ed Burns added a comment - Created an attachment (id=201) checkpoint in lieu of checkin
          Hide
          Ed Burns added a comment -

          I worked on this, and it's fixed, so I'm marking it fixed.

          Show
          Ed Burns added a comment - I worked on this, and it's fixed, so I'm marking it fixed.
          Hide
          Ed Burns added a comment -

          Prepare to delete "spec" subcomponent.

          Show
          Ed Burns added a comment - Prepare to delete "spec" subcomponent.
          Hide
          Manfred Riem added a comment -

          Closing resolved issue out

          Show
          Manfred Riem added a comment - Closing resolved issue out

            People

            • Assignee:
              Ed Burns
              Reporter:
              Ed Burns
            • Votes:
              6 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: