ICEfaces
  1. ICEfaces
  2. ICE-9437

Integrate JSF 2.2 window tracking mechanism with the window scope implementation

    Details

    • Type: Task Task
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE-3.3.0.GA
    • Fix Version/s: 4.0.BETA, 4.0
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      ICEfaces window scope, JSF windowID
    • Assignee Priority:
      P2
    • Affects:
      Documentation (User Guide, Ref. Guide, etc.)

      Description

      JSF 2.2 provides a windowID which may be possible to integrate with ICEfaces WindowScope.

        Activity

        Ted Goddard created issue -
        Ted Goddard made changes -
        Field Original Value New Value
        Assignee Ken Fyten [ ken.fyten ]
        Ted Goddard made changes -
        Fix Version/s 3.4 [ 10770 ]
        Ken Fyten made changes -
        Assignee Ken Fyten [ ken.fyten ] Mircea Toma [ mircea.toma ]
        Assignee Priority P1 [ 10010 ]
        Ken Fyten made changes -
        Assignee Priority P1 [ 10010 ] P2 [ 10011 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #40368 Wed Mar 19 10:03:08 MDT 2014 mircea.toma ICE-9437 Integrated JSF's build in URL based window tracking feature with our window scope implementation. By default ICEfaces' window tracking heuristics are used.
        Files Changed
        Commit graph ADD /icefaces4/trunk/icefaces/core/src/main/java/org/icefaces/impl/application/CustomClientWindowFactory.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/core/src/main/java/org/icefaces/impl/application/WindowScopeManager.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/core/src/main/resources/META-INF/faces-config.xml
        Commit graph MODIFY /icefaces4/trunk/icefaces/core/src/main/java/org/icefaces/impl/event/WindowAndViewIDSetup.java
        Mircea Toma made changes -
        Summary Investigate JSF 2.2 windowID Integrate JSF 2.2 window tracking mechanism with the window scope implementation
        Hide
        Mircea Toma added a comment -

        Integrated JSF's build in URL based window tracking feature with our window scope implementation.

        When context parameter javax.faces.CLIENT_WINDOW_MODE=url JSF's window tracking mechanism is used (based on URL encoding and hidden fields for keeping the window ID around). If not defined ICEfaces' window tracking heuristics are used instead.

        Show
        Mircea Toma added a comment - Integrated JSF's build in URL based window tracking feature with our window scope implementation. When context parameter javax.faces.CLIENT_WINDOW_MODE=url JSF's window tracking mechanism is used (based on URL encoding and hidden fields for keeping the window ID around). If not defined ICEfaces' window tracking heuristics are used instead.
        Mircea Toma made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Affects Documentation (User Guide, Ref. Guide, etc.) [ 10003 ]
        Resolution Fixed [ 1 ]
        Hide
        Liana Munroe added a comment -

        Can not deploy warfile from latest build of IF4 and IF4 Beta. Server error seen when deploying any war file from these builds...

        Revision: 40374
        19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler getFromScope
        WARNING: JSF1086: Custom scope '#

        {window}' evaluated to null. Unable to determine if managed bean exists.
        19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler handle
        WARNING: JSF1085: Custom scope '#{window}

        ' evaluated to null. Managed bean was not pushed to scope.
        19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler getFromScope
        WARNING: JSF1086: Custom scope '#

        {window}' evaluated to null. Unable to determine if managed bean exists.
        19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler handle
        WARNING: JSF1085: Custom scope '#{window}

        ' evaluated to null. Managed bean was not pushed to scope.
        19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler getFromScope
        WARNING: JSF1086: Custom scope '#

        {window}' evaluated to null. Unable to determine if managed bean exists.
        19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler handle
        WARNING: JSF1085: Custom scope '#{window}

        ' evaluated to null. Managed bean was not pushed to scope.
        19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler getFromScope
        WARNING: JSF1086: Custom scope '#

        {window}' evaluated to null. Unable to determine if managed bean exists.
        19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler handle
        WARNING: JSF1085: Custom scope '#{window}

        ' evaluated to null. Managed bean was not pushed to scope.
        19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler getFromScope
        WARNING: JSF1086: Custom scope '#

        {window}' evaluated to null. Unable to determine if managed bean exists.
        19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler handle
        WARNING: JSF1085: Custom scope '#{window}

        ' evaluated to null. Managed bean was not pushed to scope.
        19-Mar-2014 3:44:26 PM org.icefaces.impl.event.BridgeSetup getBodyResources
        WARNING: Unable to find WindowScope for view /showcase.xhtml
        19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler getFromScope
        WARNING: JSF1086: Custom scope '#

        {window}' evaluated to null. Unable to determine if managed bean exists.
        19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler handle
        WARNING: JSF1085: Custom scope '#{window}

        ' evaluated to null. Managed bean was not pushed to scope.
        19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler getFromScope
        WARNING: JSF1086: Custom scope '#

        {window}' evaluated to null. Unable to determine if managed bean exists.
        19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler handle
        WARNING: JSF1085: Custom scope '#{window}

        ' evaluated to null. Managed bean was not pushed to scope.
        19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler getFromScope
        WARNING: JSF1086: Custom scope '#

        {window}' evaluated to null. Unable to determine if managed bean exists.
        19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler handle
        WARNING: JSF1085: Custom scope '#{window}

        ' evaluated to null. Managed bean was not pushed to scope.
        19-Mar-2014 3:44:26 PM com.sun.faces.application.view.FaceletViewHandlingStrategy handleRenderException
        SEVERE: Error Rendering View[/showcase.xhtml]
        java.lang.NullPointerException
        at org.icefaces.impl.event.WindowAndViewIDSetup.processEvent(WindowAndViewIDSetup.java:53)
        at javax.faces.event.SystemEvent.processListener(SystemEvent.java:108)
        at javax.faces.event.ComponentSystemEvent.processListener(ComponentSystemEvent.java:118)
        at com.sun.faces.application.ApplicationImpl.processListeners(ApplicationImpl.java:2187)
        at com.sun.faces.application.ApplicationImpl.invokeListenersFor(ApplicationImpl.java:2163)
        at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:303)
        at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:247)
        at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:856)
        at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:302)
        at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:115)
        at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
        at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:304)
        at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:115)
        at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
        at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:304)
        at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:115)
        at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
        at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:304)
        at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:115)
        at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1896)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1899)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1899)
        at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:451)
        at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
        at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
        at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
        at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
        at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1852)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
        at java.lang.Thread.run(Thread.java:662)

        Show
        Liana Munroe added a comment - Can not deploy warfile from latest build of IF4 and IF4 Beta. Server error seen when deploying any war file from these builds... Revision: 40374 19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler getFromScope WARNING: JSF1086: Custom scope '# {window}' evaluated to null. Unable to determine if managed bean exists. 19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler handle WARNING: JSF1085: Custom scope '#{window} ' evaluated to null. Managed bean was not pushed to scope. 19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler getFromScope WARNING: JSF1086: Custom scope '# {window}' evaluated to null. Unable to determine if managed bean exists. 19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler handle WARNING: JSF1085: Custom scope '#{window} ' evaluated to null. Managed bean was not pushed to scope. 19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler getFromScope WARNING: JSF1086: Custom scope '# {window}' evaluated to null. Unable to determine if managed bean exists. 19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler handle WARNING: JSF1085: Custom scope '#{window} ' evaluated to null. Managed bean was not pushed to scope. 19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler getFromScope WARNING: JSF1086: Custom scope '# {window}' evaluated to null. Unable to determine if managed bean exists. 19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler handle WARNING: JSF1085: Custom scope '#{window} ' evaluated to null. Managed bean was not pushed to scope. 19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler getFromScope WARNING: JSF1086: Custom scope '# {window}' evaluated to null. Unable to determine if managed bean exists. 19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler handle WARNING: JSF1085: Custom scope '#{window} ' evaluated to null. Managed bean was not pushed to scope. 19-Mar-2014 3:44:26 PM org.icefaces.impl.event.BridgeSetup getBodyResources WARNING: Unable to find WindowScope for view /showcase.xhtml 19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler getFromScope WARNING: JSF1086: Custom scope '# {window}' evaluated to null. Unable to determine if managed bean exists. 19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler handle WARNING: JSF1085: Custom scope '#{window} ' evaluated to null. Managed bean was not pushed to scope. 19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler getFromScope WARNING: JSF1086: Custom scope '# {window}' evaluated to null. Unable to determine if managed bean exists. 19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler handle WARNING: JSF1085: Custom scope '#{window} ' evaluated to null. Managed bean was not pushed to scope. 19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler getFromScope WARNING: JSF1086: Custom scope '# {window}' evaluated to null. Unable to determine if managed bean exists. 19-Mar-2014 3:44:26 PM com.sun.faces.mgbean.BeanManager$ScopeManager$CustomScopeHandler handle WARNING: JSF1085: Custom scope '#{window} ' evaluated to null. Managed bean was not pushed to scope. 19-Mar-2014 3:44:26 PM com.sun.faces.application.view.FaceletViewHandlingStrategy handleRenderException SEVERE: Error Rendering View [/showcase.xhtml] java.lang.NullPointerException at org.icefaces.impl.event.WindowAndViewIDSetup.processEvent(WindowAndViewIDSetup.java:53) at javax.faces.event.SystemEvent.processListener(SystemEvent.java:108) at javax.faces.event.ComponentSystemEvent.processListener(ComponentSystemEvent.java:118) at com.sun.faces.application.ApplicationImpl.processListeners(ApplicationImpl.java:2187) at com.sun.faces.application.ApplicationImpl.invokeListenersFor(ApplicationImpl.java:2163) at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:303) at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:247) at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:856) at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:302) at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:115) at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889) at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:304) at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:115) at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889) at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:304) at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:115) at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889) at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:304) at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:115) at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1896) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1899) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1899) at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:451) at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131) at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1852) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) at java.lang.Thread.run(Thread.java:662)
        Liana Munroe made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Hide
        Mircea Toma added a comment - - edited

        The errors were showing up because no window tracking mechanism was enabled, because normally no javax.faces.CLIENT_WINDOW_MODE parameter is defined.

        The fix simplifies the custom window tracking integration. Most importantly the custom window tracking is now enabled by default without requiring javax.faces.CLIENT_WINDOW_MODE parameter to be defined.

        Show
        Mircea Toma added a comment - - edited The errors were showing up because no window tracking mechanism was enabled, because normally no javax.faces.CLIENT_WINDOW_MODE parameter is defined. The fix simplifies the custom window tracking integration. Most importantly the custom window tracking is now enabled by default without requiring javax.faces.CLIENT_WINDOW_MODE parameter to be defined.
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #40381 Wed Mar 19 16:48:32 MDT 2014 mircea.toma ICE-9437 Simplified custom window tracking integration. Custom window tracking is now enabled by default without requiring javax.faces.CLIENT_WINDOW_MODE parameter to be defined.
        Files Changed
        Commit graph DEL /icefaces4/trunk/icefaces/core/src/main/java/org/icefaces/impl/application/CustomClientWindowFactory.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/core/src/main/java/org/icefaces/impl/application/WindowScopeManager.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/core/src/main/resources/META-INF/faces-config.xml
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #40382 Wed Mar 19 17:03:57 MDT 2014 ken.fyten ICE-9437 Simplified custom window tracking integration. Custom window tracking is now enabled by default without requiring javax.faces.CLIENT_WINDOW_MODE parameter to be defined.
        Files Changed
        Commit graph MODIFY /icefaces4/tags/icefaces-4.0.0.BETA/icefaces/core/src/main/java/org/icefaces/impl/application/WindowScopeManager.java
        Commit graph MODIFY /icefaces4/tags/icefaces-4.0.0.BETA/icefaces/core/src/main/resources/META-INF/faces-config.xml
        Commit graph DEL /icefaces4/tags/icefaces-4.0.0.BETA/icefaces/core/src/main/java/org/icefaces/impl/application/CustomClientWindowFactory.java
        Mircea Toma made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Fix Version/s 4.0 [ 11382 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Ted Goddard
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: