Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 17th, 2012  |  syntax: None  |  size: 2.29 KB  |  hits: 18  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. import java.util.*;
  2. import java.io.*;
  3.  
  4. import jade.lang.acl.*;
  5. import jade.content.*;
  6. import jade.content.onto.basic.*;
  7. import jade.content.lang.*;
  8. import jade.content.lang.sl.*;
  9. import jade.core.*;
  10. import jade.core.behaviours.*;
  11. import jade.domain.*;
  12. import jade.domain.mobility.*;
  13. import jade.domain.JADEAgentManagement.*;
  14.  
  15. public class zad2 extends Agent {
  16.        
  17.         private jade.wrapper.AgentContainer home;
  18.         private jade.wrapper.AgentContainer[] container = null;
  19.         private int agentCnt = 0;
  20.         private int command;
  21.         jade.core.Runtime runtime = jade.core.Runtime.instance();
  22.  
  23.         protected void setup() {
  24.                 System.out.println(getLocalName()+" jedziemy!");
  25.                 // Register language and ontology
  26.                 getContentManager().registerLanguage(new SLCodec());
  27.                 getContentManager().registerOntology(MobilityOntology.getInstance());
  28.  
  29.                 try {
  30.                         // Create the container objects
  31.                         home = runtime.createAgentContainer(new ProfileImpl());
  32.                         container = new jade.wrapper.AgentContainer[3];
  33.                         for (int i = 0; i < 5; i++)
  34.                         {
  35.                         container[0] = runtime.createAgentContainer(new ProfileImpl());
  36.                         }
  37.                 doWait(1000);
  38.  
  39.                 // Get available locations with AMS
  40.                 sendRequest(new Action(getAMS(), new QueryPlatformLocationsAction()));
  41.  
  42.                 //Receive response from AMS
  43.                 MessageTemplate mt = MessageTemplate.and(
  44.                 MessageTemplate.MatchSender(getAMS()),
  45.                 MessageTemplate.MatchPerformative(ACLMessage.INFORM));
  46.                 ACLMessage resp = blockingReceive(mt);
  47.                 ContentElement ce = getContentManager().extractContent(resp);
  48.                 Result result = (Result) ce;
  49.                 jade.util.leap.Iterator it = result.getItems().iterator();
  50.                 if(it.hasNext()) System.out.println("Lista kontenerow:");
  51.                 while (it.hasNext()) {
  52.                         Object element = it.next();
  53.                         System.out.print(element+ "\n");
  54.                 }
  55.                 }
  56.                 catch (Exception e) { e.printStackTrace(); }
  57.                 }
  58.        
  59.         void sendRequest(Action action) {
  60.  
  61.                       ACLMessage request = new ACLMessage(ACLMessage.REQUEST);
  62.                       request.setLanguage(new SLCodec().getName());
  63.                       request.setOntology(MobilityOntology.getInstance().getName());
  64.                       try {
  65.                              getContentManager().fillContent(request, action);
  66.                              request.addReceiver(action.getActor());
  67.                              send(request);
  68.                           }
  69.                           catch (Exception ex) { ex.printStackTrace(); }
  70.                    }
  71.  
  72.         protected void takeDown() {
  73.                 doDelete();
  74.         }
  75. }