Zadanie 4
This commit is contained in:
@@ -8,6 +8,9 @@ import jade.domain.FIPAAgentManagement.*;
|
|||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.event.*;
|
import java.awt.event.*;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
public class MyAgent extends Agent
|
public class MyAgent extends Agent
|
||||||
{
|
{
|
||||||
@@ -48,6 +51,8 @@ class MyCyclicBehaviour extends CyclicBehaviour
|
|||||||
{
|
{
|
||||||
MyAgent myAgent;
|
MyAgent myAgent;
|
||||||
|
|
||||||
|
Map<String, String> messagesDB = new HashMap<>();
|
||||||
|
|
||||||
|
|
||||||
public MyCyclicBehaviour(MyAgent myAgent)
|
public MyCyclicBehaviour(MyAgent myAgent)
|
||||||
{
|
{
|
||||||
@@ -67,6 +72,7 @@ class MyCyclicBehaviour extends CyclicBehaviour
|
|||||||
String ontology = message.getOntology();
|
String ontology = message.getOntology();
|
||||||
String content = message.getContent();
|
String content = message.getContent();
|
||||||
int performative = message.getPerformative();
|
int performative = message.getPerformative();
|
||||||
|
|
||||||
if (performative == ACLMessage.REQUEST)
|
if (performative == ACLMessage.REQUEST)
|
||||||
{
|
{
|
||||||
//I cannot answer but I will search for someone who can
|
//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();
|
String foundAgent = result[0].getName().getLocalName();
|
||||||
myAgent.displayResponse("Agent " + foundAgent + " is universal service provider. Sending message to " + foundAgent);
|
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);
|
ACLMessage forward = new ACLMessage(ACLMessage.REQUEST);
|
||||||
forward.addReceiver(new AID(foundAgent, AID.ISLOCALNAME));
|
forward.addReceiver(new AID(foundAgent, AID.ISLOCALNAME));
|
||||||
forward.setContent(content);
|
forward.setContent(content);
|
||||||
forward.setOntology(ontology);
|
forward.setOntology(ontology);
|
||||||
|
forward.setReplyWith(messageID);
|
||||||
|
|
||||||
myAgent.send(forward);
|
myAgent.send(forward);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -118,8 +131,14 @@ class MyCyclicBehaviour extends CyclicBehaviour
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
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