diff options
Diffstat (limited to 'source/com/c2kernel/scripting/ScriptConsole.java')
| -rw-r--r-- | source/com/c2kernel/scripting/ScriptConsole.java | 48 |
1 files changed, 20 insertions, 28 deletions
diff --git a/source/com/c2kernel/scripting/ScriptConsole.java b/source/com/c2kernel/scripting/ScriptConsole.java index 99ad90f..2876f4c 100644 --- a/source/com/c2kernel/scripting/ScriptConsole.java +++ b/source/com/c2kernel/scripting/ScriptConsole.java @@ -11,20 +11,16 @@ import java.net.UnknownHostException; import java.util.ArrayList;
import java.util.StringTokenizer;
-import org.omg.CORBA.ORB;
+import javax.script.Bindings;
+import javax.script.ScriptEngine;
+import javax.script.ScriptEngineManager;
+
import org.tanukisoftware.wrapper.WrapperManager;
-import com.c2kernel.entity.proxy.AgentProxy;
-import com.c2kernel.entity.proxy.EntityProxyManager;
-import com.c2kernel.lookup.LDAPLookup;
-import com.c2kernel.persistency.TransactionManager;
import com.c2kernel.process.Gateway;
import com.c2kernel.utils.Logger;
import com.c2kernel.utils.Resource;
import com.c2kernel.utils.server.SocketHandler;
-import com.ibm.bsf.BSFEngine;
-import com.ibm.bsf.BSFException;
-import com.ibm.bsf.BSFManager;
/**************************************************************************
*
@@ -41,8 +37,8 @@ public class ScriptConsole implements SocketHandler { BufferedReader input;
PrintStream output;
Socket socket = null;
- BSFManager manager;
- BSFEngine context;
+ ScriptEngine engine;
+ Bindings beans;
static ArrayList<String> securityHosts = new ArrayList<String>();
public static final short NONE = 0;
public static final short ALLOW = 1;
@@ -143,25 +139,21 @@ public class ScriptConsole implements SocketHandler { // get system objects
try {
Logger.addLogStream(output, 0);
+
+ engine = new ScriptEngineManager().getEngineByName("JavaScript");
+ beans = engine.createBindings();
+ beans.put("storage", Gateway.getStorage());
+ beans.put("db", Gateway.getStorage().getDb());
+ beans.put("proxy", Gateway.getProxyManager());
+ beans.put("lookup", Gateway.getLDAPLookup());
+ beans.put("orb", Gateway.getORB());
try {
- manager = new BSFManager();
- manager.declareBean("storage", Gateway.getStorage(), TransactionManager.class);
- manager.declareBean("db", Gateway.getStorage().getDb(), TransactionManager.class);
- manager.declareBean("proxy", Gateway.getProxyManager(), EntityProxyManager.class);
- manager.declareBean("lookup", Gateway.getLDAPLookup(), LDAPLookup.class);
- manager.declareBean("orb", Gateway.getORB(), ORB.class);
- try {
- manager.declareBean("system", Gateway.getProxyManager().getProxy(
- Gateway.getLDAPLookup().getRoleManager().getAgentPath("system")), AgentProxy.class);
- } catch (Exception ex) {
- output.println("System agent unavailable");
- }
- context = manager.loadScriptingEngine("javascript");
- } catch (BSFException ex) {
- output.println("Error initialising environment objects");
- output.flush();
- shutdown();
+ beans.put("system", Gateway.getProxyManager().getProxy(
+ Gateway.getLDAPLookup().getRoleManager().getAgentPath("system")));
+ } catch (Exception ex) {
+ output.println("System agent unavailable");
}
+
StringBuffer commandBuffer = new StringBuffer();
while (socket != null) {
@@ -217,7 +209,7 @@ public class ScriptConsole implements SocketHandler { WrapperManager.stop(0);
}
else {
- Object response = context.eval("Command", 0, 0, command);
+ Object response = engine.eval(command, beans);
if (response instanceof org.mozilla.javascript.Undefined)
output.println("Ok");
else
|
