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