commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Diggory <>
Subject Re: [Configuration] Developer Activity in Configuration?
Date Wed, 13 Sep 2006 14:59:20 GMT
Yes I am, I've been off on other projects for awhile, but finding new  
areas to be involved with Apache lately. In terms of involvement I  
just want to take a diplomatic road into the project.

The project I now work on ( needs to overhaul its  
configuration loading to be more modular and plug-able. I'm working  
on integrating Configuration into the code-base for this task but  
there are some "impedance mismatches", for instance we have  
heterogeneous and multilevel delimeters in our configuration:

foo = a, b, c

bar = 1=a,b 2=d,e 3=f,g

while we may rework these formats, it'd be intersting to see if a  
theres a way to create a "schema" for a properties files that defines  
different "handlers" for parsing the property. For instance:

PropertyHandler foo = new DeliminatedPropertyHandler(',');

PropertyHandler bar = new HierarchicalDeliminatedPropertyHandler([ "  
", "=", ","] );

But then we are really getting into the domain of Antlr BNF style  
parsers. Ideally I'd just like to see Configuration support the  
association of a property name with a specific parser handler  
interface so I can write my own custom handlers.


On Sep 12, 2006, at 4:00 PM, Oliver Heger wrote:

> Hello Mark,
> Commons Configuration is still active though it looks like that  
> currently I am the only committer (have not heard anything from the  
> others for some time now). ATM I am trying to get a new release  
> (1.3) out.
> Your extensions sound very interesting. Especially the point about  
> JNDI is something where we surely need improvement (our  
> JNDIConfiguration is somewhat limited). If you are willing to  
> contribute something back, I am happy to review and apply patches.  
> Or aren't you a Commons committer yourself? Then you could directly  
> join the team.
> Oliver
> Mark Diggory wrote:
>> Hi all,
>> Is there currently any activity/planning/effort going on in  
>> Commons Configuration. I'm interested in an adaptation of the  
>> framework which could be contributed back into the project if  
>> found acceptable. Specifically in the following areas:
>> 1.) wildcards, regexp is File Selections for properties and xml  
>> properties files
>> <properties fileName="conf.d/*.properties"/>
>> 2.) A factory loading strategy that unifies the loading of  
>> properties irrespective of the file format (similar to the  
>> "include" property) but more like JSP/XSL include/import  
>> semantics. This means that override and additional directives  
>> would be parameterized into the includes such that the factory  
>> only needs to know where the root config file is located and the  
>> factory config.xml becomes obsolete. Instead, its syntax becomes a  
>> separate data model from the xml format and reusable throughout  
>> configuration properties files irrespective of file format.
>> Finally.
>> 3.) Configuration is really doing something that would be best  
>> captured in a JNDI Context such that there was no need to know  
>> about Apache Configuration to actually access the properties, thus  
>> something like a Commons Configuration JNDI Service provider would  
>> allow
>> javax.naming.Context ctx = new InitialContext("java:comp/env/ 
>> config/MyConfig"...);
>> String fooBar = (String) ctx.lookup("");
>> With configuration in the web.xml as follows:
>> <resource-ref>
>>   <description>Resource reference to a Jakarta Commons  
>> Configuration.</description>
>>   <res-ref-name>config/MyConfig</res-ref-name>
>>   <res-type>org.apache.commons.configuration.ConfigurationContext</ 
>> res-type>
>> </resource-ref>
>> This would allow one to load a Configuration source as a JNDI  
>> resource in a webapplication web.xml or in tomcats server.xml and  
>> keep the source of that configuration very separate from its usage  
>> in the web-app.
>> Cheers.
>> -Mark
>> Mark R. Diggory
>> ~~~~~~~~~~~~~
>> DSpace Systems Manager
>> MIT Libraries, Systems and Technology Services
>> Massachusetts Institute of Technology
>> -- and an Apache Jakarta Commons Commiter...
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message