orlikowski 2003/02/13 00:25:30
Modified: src/bsf-2.3/bsf/src/org/apache/bsf/engines/javascript
JavaScriptEngine.java
Log:
Apply patch from Fabr�cio Matheus Gon�alves.
Fabr�cio's patch changes declareBean() in the Rhino engine to not wrap
those classes that are natively handled by the Scriptable interface.
Revision Changes Path
1.3 +10 -4
jakarta-bsf/src/bsf-2.3/bsf/src/org/apache/bsf/engines/javascript/JavaScriptEngine.java
Index: JavaScriptEngine.java
===================================================================
RCS file:
/home/cvs/jakarta-bsf/src/bsf-2.3/bsf/src/org/apache/bsf/engines/javascript/JavaScriptEngine.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- JavaScriptEngine.java 7 Nov 2002 01:49:12 -0000 1.2
+++ JavaScriptEngine.java 13 Feb 2003 08:25:30 -0000 1.3
@@ -193,11 +193,17 @@
}
public void declareBean(BSFDeclaredBean bean) throws BSFException {
- // Must wrap non-scriptable objects before presenting to Rhino
- Scriptable wrapped = Context.toObject(bean.bean, global);
- global.put(bean.name, global, wrapped);
+ if ((bean.bean instanceof Number) ||
+ (bean.bean instanceof String) ||
+ (bean.bean instanceof Boolean)) {
+ global.put(bean.name, global, bean.bean);
+ } else {
+ // Must wrap non-scriptable objects before presenting to Rhino
+ Scriptable wrapped = Context.toObject(bean.bean, global);
+ global.put(bean.name, global, wrapped);
+ }
}
-
+
/**
* This is used by an application to evaluate a string containing
* some expression.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]