commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oliver Heger (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (CONFIGURATION-277) AbstractConfiguration should handle UnsupportedOperationExceptions in Iterator.remove() gracefully
Date Tue, 12 Jun 2007 20:08:26 GMT

     [ https://issues.apache.org/jira/browse/CONFIGURATION-277?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Oliver Heger resolved CONFIGURATION-277.
----------------------------------------

       Resolution: Fixed
    Fix Version/s: 1.5

A fix was applied that catches the potential UnsupportedOperationException. If such an exception
is caught, clearProperty() will be called for the remaining properties.

> AbstractConfiguration should handle UnsupportedOperationExceptions in Iterator.remove()
gracefully
> --------------------------------------------------------------------------------------------------
>
>                 Key: CONFIGURATION-277
>                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-277
>             Project: Commons Configuration
>          Issue Type: Bug
>    Affects Versions: 1.4
>            Reporter: Michael Rudolf
>            Assignee: Oliver Heger
>             Fix For: 1.5
>
>
> Hi,
> In AbstractConfiguration method clear() on line 533 (see code below) a possible UnsupportedOperationException
is not caught resulting in the malfunctioning of the whole method. However, the documentation
of the getKeys() method itself warns about relying on the remove() method of interface Iterator.
The clear() method should not propagate that exception, it should catch it and try the clearProperty(String)
approach if the remove() method is not supported.
>             Iterator it = getKeys();
>             while (it.hasNext())
>             {
>                 String key = (String) it.next();
>                 it.remove();                                          <------- EVIL!
>                 if (containsKey(key))
>                 {
>                     // workaround for Iterators that do not remove the property on calling
remove()
>                     clearProperty(key);
>                 }
> Best regards,
> Michael

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


---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message