Issue Details (XML | Word | Printable)

Key: ICE-3229
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Unassigned
Reporter: Deryk Sinotte
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
ICEfaces

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

Created: 24/Jun/08 04:02 PM   Updated: 27/Oct/08 03:46 PM
Component/s: Bridge, Framework
Affects Version/s: 1.7.1
Fix Version/s: 1.7.2

Environment: portal portlet
Issue Links:
Dependency
 

Support Case References: https://www.icesoft.ca:4443/supportilla/show_bug.cgi?id=4892


 Description  « Hide
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.

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Deryk Sinotte added a comment - 24/Jun/08 04:02 PM
Assigning to Mircea

Mircea Toma added a comment - 26/Jun/08 10:21 AM
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.

Mircea Toma added a comment - 26/Jun/08 10:25 AM
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.

Jack van Ooststroom added a comment - 11/Jul/08 02:35 PM
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.

Jack van Ooststroom added a comment - 11/Jul/08 05:01 PM
Re-assigning to Mircea for further work.

Mircea Toma added a comment - 15/Jul/08 05:02 AM
Create message handler per session. Change 'dispose-views' request format to avoid changes to the bridge. Refactor & simplify.