package com.c2kernel.process; import java.util.Scanner; import com.c2kernel.entity.proxy.AgentProxy; import com.c2kernel.process.auth.ProxyLogin; import com.c2kernel.scripting.Script; import com.c2kernel.scripting.ScriptParsingException; public class ClientShell extends StandardClient { AgentProxy user; Script console; public ClientShell(AgentProxy user) throws Exception { this.user = user; console = new Script("javascript", user, System.out); } public void run() { Scanner scan = new Scanner(System.in); System.out.print("> "); while (scan.hasNextLine()) { String command = scan.nextLine(); try { console.setScript(command); Object response = console.execute(); if (response == null) System.out.println("Ok"); else System.out.println(response); } catch (ScriptParsingException e) { System.err.println("Syntax error: "+e.getMessage()); } catch (Throwable ex) { ex.printStackTrace(); } System.out.print("> "); } shutdown(0); } public static void main(String[] args) throws Exception { Gateway.init(readC2KArgs(args)); String authClassName = Gateway.getProperties().getProperty("cli.auth"); Class authClass = Gateway.getResource().getClassForName(authClassName); ProxyLogin auth = (ProxyLogin)authClass.newInstance(); AgentProxy user = auth.authenticate(Gateway.getProperties().getProperty("Name")); ClientShell shell = new ClientShell(user); shell.run(); } }