ICEfaces
  1. ICEfaces
  2. ICE-3229

Bridge cannot dispose of multiple views within a single window (portlets).

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.7.1
    • Fix Version/s: 1.7.2
    • Component/s: Bridge, Framework
    • Labels:
      None
    • Environment:
      portal portlet

      Description

      In certain defined circumstances, like unloading a page, the bridge typically disposes of the existing view associated with that window. However in a portlet environment, there can be multiple views associated with a single window (one per ICEfaces portlet). Currently, the bridge only disposes of a single view. When this happens, the undisposed views are not properly cleaned up. So we need to adjust the bridge/framework to be able to dispose of one or many views when required.

        Issue Links

          Activity

          Deryk Sinotte created issue -
          Hide
          Deryk Sinotte added a comment -

          Assigning to Mircea

          Show
          Deryk Sinotte added a comment - Assigning to Mircea
          Deryk Sinotte made changes -
          Field Original Value New Value
          Assignee Mircea Toma [ mircea.toma ]
          Deryk Sinotte made changes -
          Fix Version/s 1.7.2 [ 10130 ]
          Assignee Priority P1
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #16993 Thu Jun 26 04:43:20 MDT 2008 mircea.toma ICE-3229 - Refactor to send the list of disposed views using one request before unloading the document.
          Files Changed
          Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/MainSessionBoundServlet.java
          Commit graph MODIFY /icefaces/trunk/icefaces/bridge/src/connection.async.js
          Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/context/DOMResponseWriter.java
          Commit graph MODIFY /icefaces/trunk/icefaces/bridge/src/connection.js
          Commit graph MODIFY /icefaces/trunk/icefaces/bridge/src/application.js
          Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/core/DisposeViews.java
          Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/SessionDispatcher.java
          Commit graph MODIFY /icefaces/trunk/icefaces/bridge/lib/parameters.js
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #16994 Thu Jun 26 04:43:56 MDT 2008 mircea.toma ICE-3229 - Refactor to send the list of disposed views using one request before unloading the document.
          Files Changed
          Commit graph MODIFY /icefaces/branches/icefaces-1.7/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/MainSessionBoundServlet.java
          Commit graph MODIFY /icefaces/branches/icefaces-1.7/icefaces/bridge/src/connection.js
          Commit graph MODIFY /icefaces/branches/icefaces-1.7/icefaces/core/src/com/icesoft/faces/context/DOMResponseWriter.java
          Commit graph MODIFY /icefaces/branches/icefaces-1.7/icefaces/bridge/src/application.js
          Commit graph MODIFY /icefaces/branches/icefaces-1.7/icefaces/bridge/lib/parameters.js
          Commit graph MODIFY /icefaces/branches/icefaces-1.7/icefaces/core/src/com/icesoft/faces/webapp/http/core/DisposeViews.java
          Commit graph MODIFY /icefaces/branches/icefaces-1.7/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/SessionDispatcher.java
          Commit graph MODIFY /icefaces/branches/icefaces-1.7/icefaces/bridge/src/connection.async.js
          Commit graph MODIFY /icefaces/branches/icefaces-1.7/icefaces/component/conf/META-INF/facelet/icefaces.taglib.xml
          Hide
          Mircea Toma added a comment -

          In a portal environment with applications deployed in separate WARs the views contained in a window can belong to different sessions. Because of this the message sent for disposing the views needs to be handled by AHS which is the common access point that can notify all other deployed applications about the views that need to be disposed.
          There seems to be an additional constrained due to browser's limitation of being capable to send only one XMLHTTPRequest on document.onbeforeunload event, after the first request the browser's document and all other objects belonging to the window are disposed by the browser.

          Show
          Mircea Toma added a comment - In a portal environment with applications deployed in separate WARs the views contained in a window can belong to different sessions. Because of this the message sent for disposing the views needs to be handled by AHS which is the common access point that can notify all other deployed applications about the views that need to be disposed. There seems to be an additional constrained due to browser's limitation of being capable to send only one XMLHTTPRequest on document.onbeforeunload event, after the first request the browser's document and all other objects belonging to the window are disposed by the browser.
          Hide
          Mircea Toma added a comment -

          Jack,

          Please have a look at my comments and commits for this issue. We need to handle the 'dispose-views' message in the AHS. The implementation would be a bit different then the one I updated in the 'core'. If you have concerns with the message structure let me know so we can keep both implementation consistent.

          Show
          Mircea Toma added a comment - Jack, Please have a look at my comments and commits for this issue. We need to handle the 'dispose-views' message in the AHS. The implementation would be a bit different then the one I updated in the 'core'. If you have concerns with the message structure let me know so we can keep both implementation consistent.
          Mircea Toma made changes -
          Assignee Mircea Toma [ mircea.toma ] Jack Van Ooststroom [ jack.van.ooststroom ]
          Ken Fyten made changes -
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #17133 Fri Jul 11 12:06:36 MDT 2008 jack.van.ooststroom Additional Fix JIRA ICE-3229 : Bridge cannot dispose of multiple views within a single window (portlets).
          Files Changed
          Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/MainServlet.java
          Commit graph ADD /icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/DisposeViewsHandler.java
          Commit graph ADD /icefaces/trunk/icefaces/ahs/src/com/icesoft/faces/async/servlet/DisposeViewsHandler.java
          Commit graph ADD /icefaces/trunk/icefaces/ahs/src/com/icesoft/faces/async/servlet/ReceiveUpdatedViewsHandler.java
          Commit graph MODIFY /icefaces/trunk/icefaces/ahs/src/com/icesoft/faces/async/servlet/ProcessHandler.java
          Commit graph MODIFY /icefaces/trunk/icefaces/ahs/src/com/icesoft/faces/async/common/SessionManager.java
          Hide
          Jack Van Ooststroom added a comment -

          I changed AHS to receive the new HTTP POST request .../block/dispose-views containing the following parameter:

          ice.views=<ICEfaces ID>:<View Number>,<ICEfaces ID>:<View Number>,etc.

          The JavaScript Bridge needs to be updated in order to send this new format.

          AHS sends out a DisposeViews message type JMS message to the Core framework telling which Views can be disposed. Currently, the MainServlet has a MessageServiceClient instance that receives and parses the DisposeViews message.

          Show
          Jack Van Ooststroom added a comment - I changed AHS to receive the new HTTP POST request .../block/dispose-views containing the following parameter: ice.views=<ICEfaces ID>:<View Number>,<ICEfaces ID>:<View Number>,etc. The JavaScript Bridge needs to be updated in order to send this new format. AHS sends out a DisposeViews message type JMS message to the Core framework telling which Views can be disposed. Currently, the MainServlet has a MessageServiceClient instance that receives and parses the DisposeViews message.
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #17139 Fri Jul 11 14:46:43 MDT 2008 jack.van.ooststroom Additional Fix JIRA ICE-3229 : Bridge cannot dispose of multiple views within a single window (portlets).
          Files Changed
          Commit graph ADD /icefaces/branches/icefaces-1.7/icefaces/ahs/src/com/icesoft/faces/async/servlet/DisposeViewsHandler.java
          Commit graph MODIFY /icefaces/branches/icefaces-1.7/icefaces/ahs/src/com/icesoft/faces/async/common/SessionManager.java
          Commit graph ADD /icefaces/branches/icefaces-1.7/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/DisposeViewsHandler.java
          Commit graph MODIFY /icefaces/branches/icefaces-1.7/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/MainServlet.java
          Commit graph MODIFY /icefaces/branches/icefaces-1.7/icefaces/ahs/src/com/icesoft/faces/async/servlet/ProcessHandler.java
          Commit graph ADD /icefaces/branches/icefaces-1.7/icefaces/ahs/src/com/icesoft/faces/async/servlet/ReceiveUpdatedViewsHandler.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #17149 Fri Jul 11 15:35:57 MDT 2008 jack.van.ooststroom Additional Fix JIRA ICE-3229 : Bridge cannot dispose of multiple views within a single window (portlets).
          Files Changed
          Commit graph MODIFY /icefaces/trunk/icefaces/ahs/src/com/icesoft/faces/async/servlet/SessionBoundServlet.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #17150 Fri Jul 11 15:36:50 MDT 2008 jack.van.ooststroom Additional Fix JIRA ICE-3229 : Bridge cannot dispose of multiple views within a single window (portlets).
          Files Changed
          Commit graph MODIFY /icefaces/branches/icefaces-1.7/icefaces/ahs/src/com/icesoft/faces/async/servlet/SessionBoundServlet.java
          Hide
          Jack Van Ooststroom added a comment -

          Re-assigning to Mircea for further work.

          Show
          Jack Van Ooststroom added a comment - Re-assigning to Mircea for further work.
          Jack Van Ooststroom made changes -
          Assignee Jack Van Ooststroom [ jack.van.ooststroom ] Mircea Toma [ mircea.toma ]
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #17156 Mon Jul 14 14:47:29 MDT 2008 ted.goddard abort messageServiceClient processing on error (ICE-3229)
          Files Changed
          Commit graph MODIFY /icefaces/branches/icefaces-1.7/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/MainServlet.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #17157 Mon Jul 14 14:47:39 MDT 2008 ted.goddard abort messageServiceClient processing on error (ICE-3229)
          Files Changed
          Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/MainServlet.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #17158 Mon Jul 14 15:17:31 MDT 2008 ted.goddard classload NOOPResponse early to avoid errors on shutdown (ICE-3229)
          Files Changed
          Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/core/SendUpdatedViews.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #17159 Mon Jul 14 15:17:47 MDT 2008 ted.goddard classload NOOPResponse early to avoid errors on shutdown (ICE-3229)
          Files Changed
          Commit graph MODIFY /icefaces/branches/icefaces-1.7/icefaces/core/src/com/icesoft/faces/webapp/http/core/SendUpdatedViews.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #17163 Tue Jul 15 03:58:00 MDT 2008 mircea.toma ICE-3229 Create message handlers per session. Change 'dispose-views' request format. Refactor & simplify.
          Files Changed
          Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/MainSessionBoundServlet.java
          Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/ServletRequestResponse.java
          Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/MainServlet.java
          Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/common/RequestProxy.java
          Commit graph MODIFY /icefaces/trunk/icefaces/ahs/src/com/icesoft/faces/async/servlet/SendUpdatedViewsServer.java
          Commit graph MODIFY /icefaces/trunk/icefaces/ahs/src/com/icesoft/faces/async/servlet/DisposeViewsHandler.java
          Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/common/Request.java
          Hide
          Mircea Toma added a comment -

          Create message handler per session. Change 'dispose-views' request format to avoid changes to the bridge. Refactor & simplify.

          Show
          Mircea Toma added a comment - Create message handler per session. Change 'dispose-views' request format to avoid changes to the bridge. Refactor & simplify.
          Mircea Toma made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #17164 Tue Jul 15 13:48:56 MDT 2008 mircea.toma ICE-3229 Create message handler per session. Change 'dispose-views' request format. Refactor & simplify.
          Files Changed
          Commit graph MODIFY /icefaces/branches/icefaces-1.7/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/MainSessionBoundServlet.java
          Commit graph MODIFY /icefaces/branches/icefaces-1.7/icefaces/ahs/src/com/icesoft/faces/async/servlet/DisposeViewsHandler.java
          Commit graph MODIFY /icefaces/branches/icefaces-1.7/icefaces/ahs/src/com/icesoft/faces/async/servlet/SendUpdatedViewsServer.java
          Commit graph MODIFY /icefaces/branches/icefaces-1.7/icefaces/core/src/com/icesoft/faces/webapp/http/common/Request.java
          Commit graph MODIFY /icefaces/branches/icefaces-1.7/icefaces/core/src/com/icesoft/faces/webapp/http/common/RequestProxy.java
          Commit graph MODIFY /icefaces/branches/icefaces-1.7/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/MainServlet.java
          Commit graph MODIFY /icefaces/branches/icefaces-1.7/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/ServletRequestResponse.java
          Ken Fyten made changes -
          Link This issue blocks ICE-3266 [ ICE-3266 ]
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #17174 Wed Jul 16 08:53:16 MDT 2008 mircea.toma ICE-3229 Refactor to send the list of disposed views using one request before unloading the document.
          Files Changed
          Commit graph MODIFY /icefaces/branches/icefaces-1.7.1/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/MainSessionBoundServlet.java
          Commit graph MODIFY /icefaces/branches/icefaces-1.7.1/icefaces/core/src/com/icesoft/faces/webapp/http/core/DisposeViews.java
          Commit graph MODIFY /icefaces/branches/icefaces-1.7.1/icefaces/component/conf/META-INF/facelet/icefaces.taglib.xml
          Commit graph MODIFY /icefaces/branches/icefaces-1.7.1/icefaces/bridge/src/application.js
          Commit graph MODIFY /icefaces/branches/icefaces-1.7.1/icefaces/bridge/lib/parameters.js
          Commit graph MODIFY /icefaces/branches/icefaces-1.7.1/icefaces/bridge/src/connection.async.js
          Commit graph MODIFY /icefaces/branches/icefaces-1.7.1/icefaces/core/src/com/icesoft/faces/context/DOMResponseWriter.java
          Commit graph MODIFY /icefaces/branches/icefaces-1.7.1/icefaces/bridge/src/connection.js
          Commit graph MODIFY /icefaces/branches/icefaces-1.7.1/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/SessionDispatcher.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #17178 Wed Jul 16 09:36:16 MDT 2008 mircea.toma Additional Fix JIRA ICE-3229 : Bridge cannot dispose of multiple views within a single window (portlets). (originally commited by jack.van.ooststroom)
          Files Changed
          Commit graph MODIFY /icefaces/branches/icefaces-1.7.1/icefaces/ahs/src/com/icesoft/faces/async/servlet/ProcessHandler.java
          Commit graph MODIFY /icefaces/branches/icefaces-1.7.1/icefaces/ahs/src/com/icesoft/faces/async/common/SessionManager.java
          Commit graph MODIFY /icefaces/branches/icefaces-1.7.1/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/MainServlet.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #17179 Wed Jul 16 10:15:33 MDT 2008 mircea.toma Additional Fix JIRA ICE-3229 : Bridge cannot dispose of multiple views within a single window (portlets). (originally commited by jack.van.ooststroom)
          Files Changed
          Commit graph ADD /icefaces/branches/icefaces-1.7.1/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/DisposeViewsHandler.java
          Commit graph ADD /icefaces/branches/icefaces-1.7.1/icefaces/ahs/src/com/icesoft/faces/async/servlet/DisposeViewsHandler.java
          Commit graph ADD /icefaces/branches/icefaces-1.7.1/icefaces/ahs/src/com/icesoft/faces/async/servlet/ReceiveUpdatedViewsHandler.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #17180 Wed Jul 16 10:17:15 MDT 2008 mircea.toma ICE-3229 Create message handlers per session. Change 'dispose-views' request format. Refactor & simplify.
          Files Changed
          Commit graph MODIFY /icefaces/branches/icefaces-1.7.1/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/MainSessionBoundServlet.java
          Commit graph MODIFY /icefaces/branches/icefaces-1.7.1/icefaces/core/src/com/icesoft/faces/webapp/http/common/Request.java
          Commit graph MODIFY /icefaces/branches/icefaces-1.7.1/icefaces/ahs/src/com/icesoft/faces/async/servlet/SendUpdatedViewsServer.java
          Commit graph MODIFY /icefaces/branches/icefaces-1.7.1/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/MainServlet.java
          Commit graph MODIFY /icefaces/branches/icefaces-1.7.1/icefaces/ahs/src/com/icesoft/faces/async/servlet/SessionBoundServlet.java
          Commit graph MODIFY /icefaces/branches/icefaces-1.7.1/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/ServletRequestResponse.java
          Commit graph MODIFY /icefaces/branches/icefaces-1.7.1/icefaces/core/src/com/icesoft/faces/webapp/http/common/RequestProxy.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #17181 Wed Jul 16 12:24:34 MDT 2008 ted.goddard classload NOOPResponse early to avoid errors on shutdown (ICE-3229)
          Files Changed
          Commit graph MODIFY /icefaces/branches/icefaces-1.7.1/icefaces/core/src/com/icesoft/faces/webapp/http/core/SendUpdatedViews.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #17185 Wed Jul 16 15:56:24 MDT 2008 ted.goddard allow alternate failures to disable JMS features (ICE-3229)
          Files Changed
          Commit graph MODIFY /icefaces/branches/icefaces-1.7.1/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/MainServlet.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #17198 Mon Jul 21 14:27:21 MDT 2008 ted.goddard allow alternate failures to disable JMS features (ICE-3229)
          Files Changed
          Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/MainServlet.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #17199 Mon Jul 21 14:29:50 MDT 2008 ted.goddard allow alternate failures to disable JMS features (ICE-3229)
          Files Changed
          Commit graph MODIFY /icefaces/branches/icefaces-1.7/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/MainServlet.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #17204 Tue Jul 22 14:49:14 MDT 2008 ted.goddard subdue logging for JMS detection (ICE-3229)
          Files Changed
          Commit graph MODIFY /icefaces/branches/icefaces-1.7/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/MainServlet.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #17205 Tue Jul 22 14:50:05 MDT 2008 ted.goddard subdue logging for JMS detection (ICE-3229)
          Files Changed
          Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/MainServlet.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #17228 Thu Jul 24 15:49:03 MDT 2008 ted.goddard classload ContextDestroyedEvent early to avoid errors on shutdown (ICE-3229)
          Files Changed
          Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/util/event/servlet/ContextEventRepeater.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #17229 Thu Jul 24 15:50:04 MDT 2008 ted.goddard classload ContextDestroyedEvent early to avoid errors on shutdown (ICE-3229)
          Files Changed
          Commit graph MODIFY /icefaces/branches/icefaces-1.7/icefaces/core/src/com/icesoft/faces/util/event/servlet/ContextEventRepeater.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #17234 Fri Jul 25 14:53:46 MDT 2008 ted.goddard classload SessionDestroyedEvent early to avoid errors on shutdown (ICE-3229)
          Files Changed
          Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/util/event/servlet/ContextEventRepeater.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #17235 Fri Jul 25 14:55:20 MDT 2008 ted.goddard classload SessionDestroyedEvent early to avoid errors on shutdown (ICE-3229)
          Files Changed
          Commit graph MODIFY /icefaces/branches/icefaces-1.7/icefaces/core/src/com/icesoft/faces/util/event/servlet/ContextEventRepeater.java
          Ken Fyten made changes -
          Fix Version/s 1.7.2RC1 [ 10140 ]
          Fix Version/s 1.7.2 [ 10130 ]
          Ken Fyten made changes -
          Fix Version/s 1.7.2 [ 10130 ]
          Fix Version/s 1.7.2RC1 [ 10140 ]
          Ken Fyten made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Assignee Priority P1
          Assignee Mircea Toma [ mircea.toma ]

            People

            • Assignee:
              Unassigned
              Reporter:
              Deryk Sinotte
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: