- import java.util.*;
- import java.io.*;
- import jade.lang.acl.*;
- import jade.content.*;
- import jade.content.onto.basic.*;
- import jade.content.lang.*;
- import jade.content.lang.sl.*;
- import jade.core.*;
- import jade.core.behaviours.*;
- import jade.domain.*;
- import jade.domain.mobility.*;
- import jade.domain.JADEAgentManagement.*;
- public class zad2 extends Agent {
- private jade.wrapper.AgentContainer home;
- private jade.wrapper.AgentContainer[] container = null;
- private int agentCnt = 0;
- private int command;
- jade.core.Runtime runtime = jade.core.Runtime.instance();
- protected void setup() {
- System.out.println(getLocalName()+" jedziemy!");
- // Register language and ontology
- getContentManager().registerLanguage(new SLCodec());
- getContentManager().registerOntology(MobilityOntology.getInstance());
- try {
- // Create the container objects
- home = runtime.createAgentContainer(new ProfileImpl());
- container = new jade.wrapper.AgentContainer[3];
- for (int i = 0; i < 5; i++)
- {
- container[0] = runtime.createAgentContainer(new ProfileImpl());
- }
- doWait(1000);
- // Get available locations with AMS
- sendRequest(new Action(getAMS(), new QueryPlatformLocationsAction()));
- //Receive response from AMS
- MessageTemplate mt = MessageTemplate.and(
- MessageTemplate.MatchSender(getAMS()),
- MessageTemplate.MatchPerformative(ACLMessage.INFORM));
- ACLMessage resp = blockingReceive(mt);
- ContentElement ce = getContentManager().extractContent(resp);
- Result result = (Result) ce;
- jade.util.leap.Iterator it = result.getItems().iterator();
- if(it.hasNext()) System.out.println("Lista kontenerow:");
- while (it.hasNext()) {
- Object element = it.next();
- System.out.print(element+ "\n");
- }
- }
- catch (Exception e) { e.printStackTrace(); }
- }
- void sendRequest(Action action) {
- ACLMessage request = new ACLMessage(ACLMessage.REQUEST);
- request.setLanguage(new SLCodec().getName());
- request.setOntology(MobilityOntology.getInstance().getName());
- try {
- getContentManager().fillContent(request, action);
- request.addReceiver(action.getActor());
- send(request);
- }
- catch (Exception ex) { ex.printStackTrace(); }
- }
- protected void takeDown() {
- doDelete();
- }
- }