Hi all, At work, I am building a Configuration framework (I'll call it Sysconf at it is the name of the package by now ...) , and I see that Jakarta also has one...
The goal of this mail is to try and propose certain things for that package . There are differences between the framework that I'm building and this one. Sysconf will (have to) : - be able to read AND write configuration files (among them, properties files) - deal with legacy configuration files, and moreover the trickiest ones (smb.conf, ipsec.conf, httpd.conf, etc...) - validate the fields before writing them (regexp, among other things) - take care of the layout of the file (which is important when you deal about files like smb.conf) - take an XML descriptor and read/write the files from that - ease the writing of the XML descriptor using ${foo.bar} expressions (which is important when your file contains 10 or more regexp patterns !!) - optionnally manage the comments of the fields / entries - manage cases where a field must be validated against another field (ie, if a field of a config file contains "a" & "b", a field of another config file might only accept "a" or "b" ...) I'd like to know if anyone is interested in a package like the Sysconf one . Anyway, I managed to have the dev work I produce to be Apache licensed, so I'm trying to avoid duplication of work. As it uses exclusively Jakarta packages, I guess it is quite natural that it's Apache licensed ... Here is what I've done so far : - built the Object Model of the XML descriptor which looks like : Configuration -> Expressions (currently called Properties, like in Ant, but Expressions is more Jexl-like, IMO ...) -> Files | -> Sections | | | | |-----> Entries -> Fields -> Regexps, Strings, And, Or, ... (this may evolve ...) - Created a SysconfReader that takes the XML descriptor, passes it to Betwixt (thanks, Martin, it works, now !! ;-) ), and returns a Configuration object - started a FieldValidator (using Oro and others (probably Drools for the And & Or stuff...)) - started the expressions stuff (using Jexl) - started a ConfigFileReader / Writer - implemented tests for the OM / Validator (soon starting the Jexl / Reader / Writer tests, tomorrow probably) - started the Javadocs (yerk ! I hate that boring stuff but otherwise I get lost myself ...) Anyway, till now it more of a proof of concept for my boss, so ... - started to think about how to easily deal with properties files, but the Configuration package doesn't use an OM ... Here it is, as you may guess it is pretty young but promises to avoid me a lot of work later, because I'll have to write Turbine apps that manage configurations of Samba, Ipsec, (maybe Apache, cron) remotely ... If anyone is interested, you can see the (maven-generated) website of the package here : http://www.hasgard.net/commons/sysconf/ (there are no links from the rest of the website yet, as it doesn't do many things yet ...) Let me know if you feel that it can be useful ... (My company is specialised in system administration, so I know that it will be useful to me, but I'd like to know about others ...) Thanks, Stéphane PS: yep, Martin, you can add this to Betwixt's "powered.xml" ! ;-) _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>