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.

Reply via email to