package ls.script;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
import ls.util.Util;
import edu.uci.ics.jung.graph.Graph;
public class ExecuteScriptJob implements Runnable
{
private String scriptText = null;
private Graph targetGraph = null;
public ExecuteScriptJob(String t,Graph g)
{
super();
this.scriptText = t;
this.targetGraph = g;
}
public void run()
{
//Run the script
ScriptEngine eng = getScriptEngine();
eng.put("Graph", this.targetGraph);
try
{
eng.eval(this.scriptText);
}
catch (ScriptException e)
{
Util.exn(e);
}
}
private ScriptEngine getScriptEngine()
{
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine jsEngine = mgr.getEngineByName("JavaScript");
return jsEngine;
}
}