You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Mark Diggory <md...@gmail.com> on 2006/09/12 19:57:46 UTC

[Configuration] Developer Activity in Configuration?

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("foo.bar");

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...



Re: [Configuration] Developer Activity in Configuration?

Posted by Mark Diggory <md...@gmail.com>.
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 (www.dspace.org) 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.

-Mark

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("foo.bar");
>> 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: commons-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-dev-help@jakarta.apache.org
>


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


Re: [Configuration] Developer Activity in Configuration?

Posted by Oliver Heger <ol...@oliver-heger.de>.
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("foo.bar");
> 
> 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: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org