[
https://issues.apache.org/jira/browse/CONFIGURATION-293?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12521846
]
Oliver Heger commented on CONFIGURATION-293:
--------------------------------------------
I tried to reproduce the problem, but without success. The following test case
(which I have added to TestHierarchicalConfiguration) based on your description
does not cause any problems (on the current SVN head):
public void testClearTreeHierarchy()
{
config.addProperty("a.b.c", "c");
config.addProperty("a.b.c.d", "d");
config.addProperty("a.b.c.d.e", "e");
config.clearTree("a.b.c");
assertFalse("Property not removed", config.containsKey("a.b.c"));
assertFalse("Sub property not removed", config.containsKey("a.b.c.d"));
}
The code of removeNode() seems okay to me. It removes the affected node from
its parent, which effectively causes the whole sub tree to be removed from the
configuration.
Can you please double-check?
> 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
>
> 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.