ICEfaces
  1. ICEfaces
  2. ICE-6386

ICEfaces ace failures with Partial-State-Saving=false

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.0
    • Fix Version/s: 2.0.1
    • Component/s: ACE-Components, Framework
    • Labels:
      None
    • Environment:
      partial-state-saving=false
      Icefaces2 revision# 23521
      server: tomcat6
      Application: ace-showcase

      Description

      ace-showcase on FF:

      - Animation not working (looks like cannot change tabs)
      - File Entry cannot upload second file

      1. screenshot-1.jpg
        154 kB
      2. screenshot-2.jpg
        164 kB

        Activity

        Hide
        Ted Goddard added a comment -

        Able to change tabs in ace-showcase animation, but the following Exception is seen and the animation does not return to initial state:

        java.lang.IllegalStateException: Component ID _t29_windowviewid has already been found in the view.
        at com.sun.faces.util.Util.checkIdUniqueness(Util.java:820)
        at com.sun.faces.util.Util.checkIdUniqueness(Util.java:804)
        at com.sun.faces.util.Util.checkIdUniqueness(Util.java:804)
        at com.sun.faces.util.Util.checkIdUniqueness(Util.java:804)
        at com.sun.faces.util.Util.checkIdUniqueness(Util.java:804)
        at com.sun.faces.util.Util.checkIdUniqueness(Util.java:804)
        at com.sun.faces.application.StateManagerImpl.saveView(StateManagerImpl.java:129)
        at javax.faces.application.StateManager.getViewState(StateManager.java:525)
        at org.icefaces.impl.context.DOMPartialViewContext.renderState(DOMPartialViewContext.java:421)
        at org.icefaces.impl.context.DOMPartialViewContext.processPartial(DOMPartialViewContext.java:195)

        Show
        Ted Goddard added a comment - Able to change tabs in ace-showcase animation, but the following Exception is seen and the animation does not return to initial state: java.lang.IllegalStateException: Component ID _t29_windowviewid has already been found in the view. at com.sun.faces.util.Util.checkIdUniqueness(Util.java:820) at com.sun.faces.util.Util.checkIdUniqueness(Util.java:804) at com.sun.faces.util.Util.checkIdUniqueness(Util.java:804) at com.sun.faces.util.Util.checkIdUniqueness(Util.java:804) at com.sun.faces.util.Util.checkIdUniqueness(Util.java:804) at com.sun.faces.util.Util.checkIdUniqueness(Util.java:804) at com.sun.faces.application.StateManagerImpl.saveView(StateManagerImpl.java:129) at javax.faces.application.StateManager.getViewState(StateManager.java:525) at org.icefaces.impl.context.DOMPartialViewContext.renderState(DOMPartialViewContext.java:421) at org.icefaces.impl.context.DOMPartialViewContext.processPartial(DOMPartialViewContext.java:195)
        Hide
        Ted Goddard added a comment -

        Above exception fixed for animation, but FileEntry problem appears to have a different cause. This is an interaction with autoid – the original value of the ID is being modified so the component is incorrectly determining that it is not already in the page.

        Show
        Ted Goddard added a comment - Above exception fixed for animation, but FileEntry problem appears to have a different cause. This is an interaction with autoid – the original value of the ID is being modified so the component is incorrectly determining that it is not already in the page.
        Hide
        Ted Goddard added a comment -

        In FireFox, fileEntry shows on the error console:

        Warning: Form contains a file input, but is missing method=POST and enctype=multipart/form-data on the form. The file will not be sent.
        Source File: http://localhost:8080/ace-showcase/fileEntry.jsf
        Line: 0

        Show
        Ted Goddard added a comment - In FireFox, fileEntry shows on the error console: Warning: Form contains a file input, but is missing method=POST and enctype=multipart/form-data on the form. The file will not be sent. Source File: http://localhost:8080/ace-showcase/fileEntry.jsf Line: 0
        Hide
        Mandeep Hayher added a comment - - edited

        Icefaces2 # 23643
        Server: Tomcat6
        Browser: FF3.6, IE8 & Opera10.60

        Animation not working correctly. Try using fade animation tabs & then blind up/down animation tab a few time.
        See attached screenshot-1 & screenshot-2.

        Show
        Mandeep Hayher added a comment - - edited Icefaces2 # 23643 Server: Tomcat6 Browser: FF3.6, IE8 & Opera10.60 Animation not working correctly. Try using fade animation tabs & then blind up/down animation tab a few time. See attached screenshot-1 & screenshot-2.
        Hide
        Mandeep Hayher added a comment -

        File Entry works fine on all browser.
        There is a known issue with Opera, the uploaded files table not being updated without reload. (This is present with or without partial state saving)

        Show
        Mandeep Hayher added a comment - File Entry works fine on all browser. There is a known issue with Opera, the uploaded files table not being updated without reload. (This is present with or without partial state saving)
        Hide
        Ted Goddard added a comment -

        Recommend assigning this to the component team for animation failure – likely the animation behavior is not storing the current value of the opacity in a way that is compatible with partial state saving.

        Show
        Ted Goddard added a comment - Recommend assigning this to the component team for animation failure – likely the animation behavior is not storing the current value of the opacity in a way that is compatible with partial state saving.
        Hide
        Greg Dick added a comment -

        Branches, branches, everywhere branches. When partial-state-saving is true, when the tabset element is clicked and a lifecycle occurs, the initialStateMarked method returns true, and the paths taken through the UIComponentBase methods are vastly different. Even the main method does something quite considerably different in the BehaviorBase class:

        public Object saveState(FacesContext context) {

        if (context == null)

        { throw new NullPointerException(); }

        // If initial state has been marked, we don't need to
        // save any state.
        if (initialStateMarked())

        { return null; }

        // At the moment, the only state we need to save is our listeners
        return UIComponentBase.saveAttachedState(context, listeners);
        }

        In the non-working case, the UIComponentBase.saveAttachedState(context, listeners) method is executed and in the partial state saving case, it is not. So it's likely safe to say that in the full state saving path the code isn't saving or restoring the structures exactly the same way as in the working path, however, determining exactly what structure is different is still in progress.

        Show
        Greg Dick added a comment - Branches, branches, everywhere branches. When partial-state-saving is true, when the tabset element is clicked and a lifecycle occurs, the initialStateMarked method returns true, and the paths taken through the UIComponentBase methods are vastly different. Even the main method does something quite considerably different in the BehaviorBase class: public Object saveState(FacesContext context) { if (context == null) { throw new NullPointerException(); } // If initial state has been marked, we don't need to // save any state. if (initialStateMarked()) { return null; } // At the moment, the only state we need to save is our listeners return UIComponentBase.saveAttachedState(context, listeners); } In the non-working case, the UIComponentBase.saveAttachedState(context, listeners) method is executed and in the partial state saving case, it is not. So it's likely safe to say that in the full state saving path the code isn't saving or restoring the structures exactly the same way as in the working path, however, determining exactly what structure is different is still in progress.
        Hide
        Greg Dick added a comment -

        Code for this Jira is complete. At least I think it is, the outstanding issue is creating a test that exercises state saving of bindings in a way that shows in an obvious way that it works.

        Show
        Greg Dick added a comment - Code for this Jira is complete. At least I think it is, the outstanding issue is creating a test that exercises state saving of bindings in a way that shows in an obvious way that it works.

          People

          • Assignee:
            Greg Dick
            Reporter:
            Ken Fyten
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: