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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]