commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Wesley Miaw (JIRA)" <>
Subject [jira] Commented: (CONFIGURATION-293) HierarchicalConfiguration.clearTree() does not remove named property
Date Thu, 23 Aug 2007 18:58:30 GMT


Wesley Miaw commented on CONFIGURATION-293:

I understand what you're saying, but tracing the code for clearTree() in this example case
does not seem to modify the internal structure at all. So I don't see how the node is actually
removed from anything.

Well, I'll let you guys figure out if you'd like to change this behavior, and if so, how you
would do it. Iterating over the configurations to call clearTree() doesn't work because there's
no guarantee a child configuration is an instance of HierarchicalConfiguration.

It just seems to me that CombinedConfiguration, as a subclass of HierarchicalConfiguration,
should not result in behavior different than that documented by HierarchicalConfiguration,
otherwise things don't do what you'd expect inheritance-wise.

> HierarchicalConfiguration.clearTree() does not remove named property
> --------------------------------------------------------------------
>                 Key: CONFIGURATION-293
>                 URL:
>             Project: Commons Configuration
>          Issue Type: Bug
>    Affects Versions: 1.4
>            Reporter: Wesley Miaw
>         Attachments: bug-config.xml, bug-override.xml,
> HierarchicalConfiguration.clearTree(String) calls HierarchicalConfiguration.removeNode(ConfigurationNode)
which removes nothing if the passed in ConfigurationNode has no parent. Having no parent is
true of nodes that have the root for their parent (it seems to me) as well as for nodes that
have no properties defined "above" them. Here is an example:
> config.addProperty("a.b.c", "c");
> config.addProperty("a.b.c.d", "d");
> config.addProperty("a.b.c.d.e", "e");
> The following sequence of calls will fail:
> config.clearTree("a.b.c");
> assert config.containsKey("a.b.c") == false;
> The following sequence of calls will succeed:
> config.clearTree("a.b.c.d");
> assert config.containsKey("a.b.c.d") == false;
> assert config.containsKey("a.b.c.d.e") == false;

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

View raw message