Skip to content

Instantly share code, notes, and snippets.

@kriskowal
Created April 5, 2009 08:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kriskowal/90410 to your computer and use it in GitHub Desktop.
Save kriskowal/90410 to your computer and use it in GitHub Desktop.
(function() {
var NARWHAL_HOME = Packages.java.lang.System.getenv("NARWHAL_HOME");
var JSPATH = Packages.java.lang.System.getenv("JSPATH");
var NARWHALPATH = Packages.java.lang.System.getenv("NARWHALPATH");
$LOAD_PATH = NARWHAL_HOME + "/lib/platforms/rhino:" + NARWHAL_HOME + "/lib";
if (JSPATH) $LOAD_PATH += ":" + JSPATH;
if (NARWHALPATH) $LOAD_PATH += ":" + NARWHALPATH;
var urls = Packages.java.lang.reflect.Array.newInstance(java.net.URL, 1);
var url = "file://" + NARWHAL_HOME + "/../jack/jars/simple-4.1.10.jar";
urls[0] = new Packages.java.net.URL(url);
print(urls[0]);
var loader = new Packages.java.net.URLClassLoader(urls);
//var threadLoader = Packages.java.lang.Thread.getContextClassLoader();
Packages.java.lang.Thread.currentThread().setContextClassLoader(loader);
//var contextFactory = Packages.org.mozilla.javascript.ContextFactory.getGlobal();
//contextFactory.initApplicationClassLoader(loader);
var context = Packages.org.mozilla.javascript.Context.getCurrentContext();
context.setApplicationClassLoader(loader);
var context = new Packages.org.mozilla.javascript.Context();
loader = context.createClassLoader(loader);
print(loader.loadClass('org.simpleframework.http.core.Container'));
context.setApplicationClassLoader(loader);
var global = context.initStandardObjects();
var fileName = NARWHAL_HOME + "/narwhal.js";
var reader = new Packages.java.io.FileReader(fileName);
var script = context.compileReader(reader, fileName, 1, null);
script.exec(context, global);
/*
var fileName = NARWHAL_HOME + "/narwhal.js";
load(fileName);
*/
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment