Fix regression in scripts
[lgpl/argeo-commons.git] / org.argeo.cms.ui / src / org / argeo / cms / script / ScriptUi.java
index a15c6c98bd986a82a85b0b56eab218c9e79ddef4..fd9aa9d31d7297602e5d2498ad7b9f92e6626db5 100644 (file)
@@ -6,7 +6,6 @@ import javax.jcr.Node;
 import javax.jcr.RepositoryException;
 import javax.script.Invocable;
 import javax.script.ScriptEngine;
-import javax.script.ScriptEngineManager;
 import javax.script.ScriptException;
 
 import org.apache.commons.logging.Log;
@@ -15,9 +14,8 @@ import org.argeo.cms.ui.CmsUiProvider;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.osgi.framework.BundleContext;
-import org.osgi.framework.wiring.BundleWiring;
 
-public class ScriptUi implements CmsUiProvider {
+class ScriptUi implements CmsUiProvider {
        private final static Log log = LogFactory.getLog(ScriptUi.class);
 
        private boolean development = true;
@@ -30,19 +28,22 @@ public class ScriptUi implements CmsUiProvider {
        // private Bindings bindings;
        // private String script;
 
-       public ScriptUi(BundleContext bundleContext, String path) {
-               ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
-               ClassLoader bundleCl = bundleContext.getBundle().adapt(BundleWiring.class).getClassLoader();
-               ClassLoader currentCcl = Thread.currentThread().getContextClassLoader();
-               try {
-                       Thread.currentThread().setContextClassLoader(bundleCl);
-                       scriptEngine = scriptEngineManager.getEngineByName("JavaScript");
-                       scriptEngine.put(CmsScriptRwtApplication.BC, bundleContext);
-               } catch (Exception e) {
-                       e.printStackTrace();
-               } finally {
-                       Thread.currentThread().setContextClassLoader(currentCcl);
-               }
+       public ScriptUi(BundleContext bundleContext,ScriptEngine scriptEngine, String path) {
+               this.scriptEngine = scriptEngine;
+////           ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
+//             ClassLoader bundleCl = bundleContext.getBundle().adapt(BundleWiring.class).getClassLoader();
+//             ClassLoader originalCcl = Thread.currentThread().getContextClassLoader();
+//             try {
+////                   Thread.currentThread().setContextClassLoader(bundleCl);
+////                   scriptEngine = scriptEngineManager.getEngineByName("JavaScript");
+////                   scriptEngine.put(CmsScriptRwtApplication.BC, bundleContext);
+//                     scriptEngine = CmsScriptRwtApplication.loadScriptEngine(originalCcl, bundleCl);
+//
+//             } catch (Exception e) {
+//                     e.printStackTrace();
+//             } finally {
+//                     Thread.currentThread().setContextClassLoader(originalCcl);
+//             }
                this.appUrl = bundleContext.getBundle().getEntry(path);
                load();
        }