You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Michael Freedman (JIRA)" <de...@myfaces.apache.org> on 2010/08/05 23:58:20 UTC

[jira] Created: (PORTLETBRIDGE-165) Birdge explicit scope removal doesn't cause its attributes to be notified but should

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.


[jira] Resolved: (PORTLETBRIDGE-165) Birdge explicit scope removal doesn't cause its attributes to be notified but should

Posted by "Michael Freedman (JIRA)" <de...@myfaces.apache.org>.
     [ https://issues.apache.org/jira/browse/PORTLETBRIDGE-165?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Freedman resolved PORTLETBRIDGE-165.
--------------------------------------------

    Fix Version/s: 1.0.1
                   2.0.0
       Resolution: Fixed

Fixed in the logical way as the bug indicates.

> 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: 1.0.0, 2.0.0-beta
>            Reporter: Michael Freedman
>            Assignee: Michael Freedman
>             Fix For: 1.0.1, 2.0.0
>
>
> 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.