package com.c2kernel.process; import java.util.Scanner; import com.c2kernel.entity.proxy.AgentProxy; import com.c2kernel.process.auth.Authenticator; import com.c2kernel.scripting.Script; 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(); console.setScript(command); try { Object response = console.execute(); if (response == null) System.out.println("Ok"); else System.out.println(response); } catch (Throwable ex) { ex.printStackTrace(); } System.out.print("> "); } close(); } public static void main(String[] args) throws Exception { Gateway.init(readC2KArgs(args)); String authClassName = Gateway.getProperty("cli.auth"); Class authClass = Gateway.getResource().getClassForName(authClassName); Authenticator auth = (Authenticator)authClass.newInstance(); AgentProxy user = auth.authenticate(Gateway.getProperty("Name")); ClientShell shell = new ClientShell(user); shell.run(); } }