[
https://issues.apache.org/jira/browse/CONFIGURATION-293?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12522226
]
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: https://issues.apache.org/jira/browse/CONFIGURATION-293
> Project: Commons Configuration
> Issue Type: Bug
> Affects Versions: 1.4
> Reporter: Wesley Miaw
> Attachments: bug-config.xml, bug-override.xml, bug-test.properties
>
>
> 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.