On Nov 12, 2006, at 1:31 AM, I wrote:
[...snip] Here's a patch you can try. [...snip]
Do'h. my bad! I didn't realize when I sent you that diff that I was in
the middle of changing the code from its first working form. Sorry
for going off half cocked; here's a version that actually works... :-/
===================================================================
---
src/java/org/apache/cocoon/components/flow/javascript/fom/
FOM_JavaScriptInterpreter.java (revision 472699)
+++
src/java/org/apache/cocoon/components/flow/javascript/fom/
FOM_JavaScriptInterpreter.java (working copy)
@@ -69,6 +69,7 @@
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PushbackInputStream;
+import java.io.StringReader;
import java.io.Reader;
import java.util.ArrayList;
import java.util.HashMap;
@@ -744,9 +745,17 @@
}
cocoon.setParameters(parameters);
- Object fun =
ScriptableObject.getProperty(thrScope, funName);
- if (fun == Scriptable.NOT_FOUND) {
- throw new ResourceNotFoundException("Function
\"javascript:" + funName + "()\" not found");
+ // Resolve function name
+ //
+ Object fun;
+ try {
+ fun = context.compileReader (
+ thrScope, new StringReader
(funName), null, 1, null
+ ).exec (context, thrScope);
+ } catch (EcmaError ee) {
+ throw new ResourceNotFoundException (
+ "Function \"javascript:" + funName + "()\"
not found"
+ );
}
Cheers,
—ml—