Zadanie 4
This commit is contained in:
@@ -8,6 +8,9 @@ import jade.domain.FIPAAgentManagement.*;
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.awt.event.*;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
public class MyAgent extends Agent
|
||||
{
|
||||
@@ -48,6 +51,8 @@ class MyCyclicBehaviour extends CyclicBehaviour
|
||||
{
|
||||
MyAgent myAgent;
|
||||
|
||||
Map<String, String> messagesDB = new HashMap<>();
|
||||
|
||||
|
||||
public MyCyclicBehaviour(MyAgent myAgent)
|
||||
{
|
||||
@@ -67,6 +72,7 @@ class MyCyclicBehaviour extends CyclicBehaviour
|
||||
String ontology = message.getOntology();
|
||||
String content = message.getContent();
|
||||
int performative = message.getPerformative();
|
||||
|
||||
if (performative == ACLMessage.REQUEST)
|
||||
{
|
||||
//I cannot answer but I will search for someone who can
|
||||
@@ -93,10 +99,17 @@ class MyCyclicBehaviour extends CyclicBehaviour
|
||||
{
|
||||
String foundAgent = result[0].getName().getLocalName();
|
||||
myAgent.displayResponse("Agent " + foundAgent + " is universal service provider. Sending message to " + foundAgent);
|
||||
|
||||
// Put into hashmap
|
||||
String messageID = UUID.randomUUID().toString();
|
||||
messagesDB.put(messageID, message.getContent());
|
||||
|
||||
ACLMessage forward = new ACLMessage(ACLMessage.REQUEST);
|
||||
forward.addReceiver(new AID(foundAgent, AID.ISLOCALNAME));
|
||||
forward.setContent(content);
|
||||
forward.setOntology(ontology);
|
||||
forward.setReplyWith(messageID);
|
||||
|
||||
myAgent.send(forward);
|
||||
}
|
||||
}
|
||||
@@ -118,8 +131,14 @@ class MyCyclicBehaviour extends CyclicBehaviour
|
||||
}
|
||||
}
|
||||
else
|
||||
{ //when it is an answer
|
||||
myAgent.displayHtmlResponse(content);
|
||||
{
|
||||
//when it is an answer
|
||||
if(message.getInReplyTo() != null && message.getInReplyTo() != "")
|
||||
{
|
||||
String orginalWord = messagesDB.get(message.getInReplyTo());
|
||||
|
||||
myAgent.displayHtmlResponse("Message ID: " + message.getInReplyTo() + "<br>Orginal word: " + orginalWord + "<br>Reply content: " + content);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user