[ https://issues.apache.org/jira/browse/CONFIGURATION-277?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12500464 ]
Oliver Heger commented on CONFIGURATION-277: -------------------------------------------- Okay, we can change this. Is there a concrete Configuration class you have trouble with or is the purpose of this issue just to avoid pitfalls when creating new Configuration implementations derived from AbstractConfiguration? > 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 > > 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]