Vadim Gritsenko wrote:
Sylvain Wallez wrote:
Michael Gerzabek wrote:
Of course you can do. When you declare a sitemap flow function call like above your flow method must be declared like
function myJavaFlowMethod( foo ) { }
and a "print( foo );" within this method should show "bar" in your Console.
I strongly suggest you *do not use it this way*, as it is highly misleading: <map:parameter> are name/value associations whereas JS function parameters are only positional, which means the "foo" you write in the function declaration has absolutely no relation with the "foo" in <map:parameter>.
...
I've been wanting to remove forbid this for a long time, but didn't knew how to identify JS functions with parameters, in order to issue a proper error message if this buggy construct is used. Looking a bit closer to Rhino, I now found it: NativeFunction has a getArity() method which is the number of parameters. We could then raise an error if getArity() != 0.
What do people think?
IMHO, write ERROR in the log in 2.1.6, throw exception in 2.1.7, remove any traces of this in 2.2. Too draconian? :)
Oh no, sounds very good!
Should we start a vote on this?
Sylvain
-- Sylvain Wallez Anyware Technologies http://www.apache.org/~sylvain http://www.anyware-tech.com { XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects }
