commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emmanuel Bourg <ebo...@apache.org>
Subject Re: [configuration] Release 1.2
Date Fri, 30 Sep 2005 13:30:23 GMT
Oliver Heger wrote:
> A while ago we discussed the possibility of a new release of 
> commons-configuration. Now back from my vacations I could spend some 
> time on this task.

Thank you for taking care of this task.

> - Bugzilla:
> There are three tickets in the "need info" state, which can be closed 
> because of lack of feedback. For 35858 we can decide whether the 
> subset() implementation of HierarchicalConfiguration can be dropped. 

It can't be removed right now due to an assertion that fails without 
this specific implementation. I suggest to keep the method as is for the 
next release and try to remove it for the 1.3 release.

> For 
> other tickets I feel no urgent need to address any before the release.

There is one last issue I'd like to address before the 1.2 release, 
that's the instance specific delimiter (Bug 35828), but I haven't got 
much feedback on this topic.


> - Documentation
> Some improvements of our user guide won't be wrong.

I agree, I updated the dependency page recently, the overview could be 
improved with some examples detailing the new property list configurations.


> - Code quality
> Address errors and warnings displayed by Checkstyle, Javadoc, and other 
> reports. Maybe try to further increase test coverage.
> Apropos: What's the state of the new plist package? Test coverage is 
> quite low (maybe because a failing unit test was disabled), and the 
> Eclipse compiler outputs several warnings (e.g. about unused variables). 
> Is it yet mature?

I ran Clover yesterday and the coverage was indeed low on the plist 
package (37%). I fixed the disabled tests and added some more. I also 
removed unused code from the classes generated by JavaCC, but this 
effort will be lost if we have to regenerate the classes to fix a parser 
issue. At this point the coverage is around 62%.

There are two issues left that are related to hierarchical 
configurations in general, fixing these issues could also improve the 
test coverage:

1) adding a List, or adding more than once a value with the same key 
generates several nodes instead of a node with a List value.

For example, with:

config.addProperty("array", "1");
config.addProperty("array", "2");

The property list will look like this:

{
     array = 1;
     array = 2;
}

instead of:

{
     array = (1, 2);
}

same thing with the xml variant:

<plist>
   <dict>
     <key>array</key>
     <string>1</string>

     <key>array</key>
     <string>2</string>
   </dict>
</plist>

instead of:

<plist>
   <dict>
     <key>array</key>
     <array>
       <string>1</string>
       <string>2</string>
     </array>
   </dict>
</plist>


2) a map or a configuration added to a hierarchical configuration should 
probably be transformed into a tree of nodes.

For example:

Map map = new HashMap();
map.put("foo", "1");
map.put("bar", "2");

config.addProperty("key", map);

This would produce a "key" node with two "foo" and "bar" children, 
instead of a "key" node with a Map value. Both forms are represented by 
the same plist file, but they are not equivalent.

Emmanuel Bourg








---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message