import java.net.*; import java.util.*; import java.io.*; import java.security.*; import moses.member.*; import moses.security.*; import moses.controlState.*; import moses.util.*; public class agent implements Agent{ public static void main (String[] args) throws Exception { agent newagent=new agent(); Member m = new Member( "http://research.rutgers.edu/~amitrofa/secondLaw.java1", Const.URL_LAW, "arthur.rutgers.edu", 9000, "Bob"); //System.out.println(m.adopt("password","Bob@arthur.rutgers.edu")); System.out.println(m.adopt("password","Bob@arthur.rutgers.edu")); certCreation myCertif=new certCreation(); m.sendCertificate(myCertif.getCert(args[4])); LGICert cert=myCertif.getCert(args[4]); m.send_lg("register_"+cert.getAttributes(), "s@arthur.rutgers.edu"); m.send_lg("testmessage", m.longName); String ans0 = m.receive_lg(); System.out.println("received: "+ans0); newagent.run(m,cert); } public void run (Member m,LGICert cert) throws Exception { new Receiver(this,m).start(); //read messages from the console; //these messages are sent to the controller as soon as they are typed in System.out.println("Type exit to quit"); for(;;) { try{ BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); String command = in.readLine(); if (command.equals("exit")) { m.close(); System.out.println("The Agent is shutting down..."); System.exit(0); } if (command.startsWith("send")) { Term ct = Term.parse(command); if(ct == null) { System.out.println("send(msg,dest) -- not understood. Try again!"); continue; } Term tt = Term.parse("send(%M,%D)"); UnifyResult ur = ct.unify(tt); if(ur == null) { System.out.println("send(msg,dest) -- not understood. Try again!"); continue; } String msg = ur.getSVar("M"); String dest = ur.getSVar("D"); m.send_lg(msg,dest); } } catch(Exception e) { ; } } /*Answer an; for (;;){ an = m.generic_receive_lg(); if((an.s_payload).startsWith("hello")){ m.send_lg("hello there!",an.source); } }*/ } public void processRequest(Member member, String message, String destination) { ; } public void processReply(Member member, String reply) { System.out.println("Received: " + reply); /*if(reply.statsWith("alive")){ m.send_lg("tick_"+cert.getAttributes(), "s@arthur.rutgers.edu"); }*/ } public void processReply(Member member, byte[] breply) { System.out.println("Received: " + breply); } public void processReply(Member member, Object oreply) { System.out.println("Received: " + oreply); } }