You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bsf-dev@jakarta.apache.org by na...@opensource.lk on 2004/06/18 11:20:27 UTC
[PATCH] fixed .. unable to declare a bean after any evaluation
of a javascript
please accept this patch for above problem
--- OrigJavaScriptEngine.java 2004-06-15 08:25:06.000000000 +0600
+++ JavaScriptEngine.java 2004-06-18 14:56:57.000000000 +0600
@@ -142,16 +142,23 @@
}
public void declareBean(BSFDeclaredBean bean) throws BSFException {
- 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);
- }
+ Context cx;
+ try{
+ 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);
+ }
+ }finally
+ {
+ Context.exit();
+ }
+
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: bsf-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: bsf-dev-help@jakarta.apache.org