Birdge explicit scope removal doesn't cause its attributes to be notified but
should
-------------------------------------------------------------------------------------
Key: PORTLETBRIDGE-165
URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-165
Project: MyFaces Portlet Bridge
Issue Type: Bug
Affects Versions: 2.0.0-beta, 1.0.0
Reporter: Michael Freedman
Assignee: Michael Freedman
When the bridge explicitly removes a scope atrtibutes in that scope should be
notified they are being destroyed. The LRUMap used by the bridge to manage the
scopes correctly does this notify if/when its remove method is called.
Unfortunately, the bridge removes the scope/map by calling iterator.remove ()
once it locate an entry in the iterator that matches the scope to be removed.
Unfortunately, though iterator.remove() does remove the entry from the base
Map, it does so after casting the base Map object into a superclass. I.e.
remove() is called but because its on an object that is cast to a superclass,
our method isn't called/triggered. Instead we must explictly use map.remove().
This means the bridge code must copy the scopes to be removed when in the
iteration and then iterate over this list afterwards to directly remove them.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.