commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oliver Heger (JIRA)" <>
Subject [jira] Commented: (CONFIGURATION-293) HierarchicalConfiguration.clearTree() does not remove named property
Date Wed, 22 Aug 2007 16:30:30 GMT


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");
        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:
>             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.

View raw message