package park2;
import trasmapi.sumo.SumoCom;
import java.util.logging.Level;
import java.util.logging.Logger;
import jade.core.Agent;
import jade.core.behaviours.CyclicBehaviour;
import jade.domain.DFService;
import jade.domain.FIPAException;
import jade.domain.FIPAAgentManagement.DFAgentDescription;
import jade.domain.FIPAAgentManagement.ServiceDescription;
import jade.lang.acl.ACLMessage;
import jade.lang.acl.MessageTemplate;
import jade.lang.acl.UnreadableException;
//import jade.util.leap.Iterator;
import jade.wrapper.ContainerController;
import jade.wrapper.StaleProxyException;
public class ODManager extends Agent{
private static final long serialVersionUID = 2724654562866411374L;
private final ContainerController mainContainer;
private final int numDrivers =100;
private final int DIM=132;
private Destination[] listD;
private SLOT file;
public ODManager(ContainerController mainContainer) {
this.mainContainer = mainContainer;
}
public void addDrivers() throws StaleProxyException{
SumoCom.createAllRoutes();
listD=new Destination[DIM];
DriverAgent.numDrivers=numDrivers;
file= new SLOT("list21.txt",DIM);
System.arraycopy(file.getList(),0,listD,0,DIM);
for(int ix=0; ix<numDrivers; ix++){
System.out.println(" the agent "+ix+" will be start ");
mainContainer.acceptNewAgent("DRIVER#"+ix, new DriverAgent(ix,listD)).start();
}
}
@Override
protected void setup() {
DFAgentDescription ad = new DFAgentDescription();
ad.setName(getAID()); //agentID
System.out.println("AID: "+ad.getName());
ServiceDescription sd = new ServiceDescription();
sd.setName(getName()); //nome do agente
System.out.println("Nome: "+sd.getName());
sd.setType("Manager");
System.out.println("Tipo: "+sd.getType()+"\n\n\n");
ad.addServices(sd);
try {
DFService.register(this, ad);
} catch(FIPAException e) {
}
super.setup();
}
@Override
protected void takeDown() {
try {
DFService.deregister(this);
} catch(FIPAException e) {
}
super.takeDown();
}
}