Zadanie 4

This commit is contained in:
2022-12-03 16:43:21 +01:00
parent 7121035cf3
commit 4d19f92af8

View File

@@ -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);
}
}
}
}