You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Leonardo Uribe (JIRA)" <de...@myfaces.apache.org> on 2010/09/24 01:16:32 UTC

[jira] Commented: (MYFACES-2840) Use a copied Iterator instead of the real Enumeration in AbstractAttributeMap.AbstractAttributeIterator

    [ https://issues.apache.org/jira/browse/MYFACES-2840?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12914277#action_12914277 ] 

Leonardo Uribe commented on MYFACES-2840:
-----------------------------------------

Finally I added a class called AbstractThreadSafeAttributeMap and this one is implemented only for ApplicationMap and SessionMap.

> Use a copied Iterator instead of the real Enumeration in AbstractAttributeMap.AbstractAttributeIterator
> -------------------------------------------------------------------------------------------------------
>
>                 Key: MYFACES-2840
>                 URL: https://issues.apache.org/jira/browse/MYFACES-2840
>             Project: MyFaces Core
>          Issue Type: Task
>    Affects Versions: 1.1.8, 1.2.9, 2.0.1
>            Reporter: Jakob Korherr
>            Assignee: Jakob Korherr
>             Fix For: 1.1.9-SNAPSHOT, 1.2.10-SNAPSHOT, 2.0.2
>
>
> We can use a copied version of the Enumeration from getAttributeNames() here, because directly using it might cause a ConcurrentModificationException  when performing remove(). Note that we can do this since the Enumeration from getAttributeNames() will contain exactly the attribute names from the time getAttributeNames() was called and it will not be updated if attributes are removed or added.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.