[
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]