Serge Knystautas wrote:
Ahmed Mohombe wrote:
One of the things I like about James is it's use of
pure Java.
Me too.
Please, I beg you, put no Groovy/JPython or other things like this in it. For Got sake, let JAMES be a JAVA project.
Can you explain your objection, or at least clarify it since Groovy is Java.
IMHO Groovy is not Java. Just open a Groovy file in a modern IDE (e.g. IntelliJ) and tell me what support do you have for it?
Either we use groovy, use another container's XML construct to configure James, or invent our own XML structure. What do you suggest?
Isn't the Jakarta-commons Digester not good enough?
Besides, what's so complicated to make a simple and verbose XML configuration (so that everyone understands it)?
A simple XML structure can very easily get a simple Swing or Web GUI, so that everyone can edit/change the configuration without too many errors.
Ahmed! It starts to seem like a holy war :)
Let me clearify, as far as I understand your points are:
XML: knows everybody, which means it is good for config Groovy: knows very small amount of people - bad
I would say you are right.
However you may havent appreciated the CDI approach to configuration, basically it is ability to independently configure components and provide flow (if-then-else, for, etc.) control over the configuration.
In configuration everybody is used to you control data while in CDI IoC approach to configuration you control _components_ which are _Java objects_.
I would say the best thing to manipulate Java objects is Java language, right?
But configuration has to be available to admin. And, unlike developers, admins dont like to use compilers (especially javac :)) to configure their servers.
So the natural approach is scripted java that does not have to be compiled - my choice is groovy - the most java-like, standards compliant (they have JSR for it) language.
You are not required to use groovy to glue components - you can do it in Java or any other language. XML can also be used to manipulate java objects but it is not very much suited for it.
To summarize:
Java/Groovy: manipulates Java objects - good for CDI IoC config
XML: not very much suited to manipulate Java objects - not very comfortable but still you can develop and easily replace my groovy config with xml-based config that would manipulate Java objects and you are welcome to do it, but believe me if you look into groovy and how it fits into the big picture of CDI IoC and jamesng reference implementation you'll appreciate it.
PS. no i dont have any income on saling groovy :)
Just my 2 cents,
Ahmed.
--------------------------------------------------------------------- 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]
