import tom.java.agent.Agent;
import tom.java.agent.AgentFactory;
import java.rmi.*;
import java.rmi.server.*;
import java.net.*;


public class AgentClient
{
        public static void main(String[] argv)
        {
                try
                {
                System.out.println("running client");
                AgentFactory af = (AgentFactory) Naming.lookup("rmi://localhost:1099/AgentFactory");
                System.out.println("remote reference obtained");
                Agent a = af.getAgent();
                System.out.println("agent obtained");
                int data = a.getData();
                System.out.println("data before computation: " + data);
                a.compute();
                System.out.println("agent computed");
                data = a.getData();
                System.out.println("data after computation: " + data);
                af.setAgent(a);
                System.out.println("agent returned");
                }
                catch (Exception e)
                {
                        System.out.println("Exception caught: " + e);
                        e.printStackTrace();
                }
        }
}
