Zadanie 1

This commit is contained in:
2022-12-03 15:29:58 +01:00
parent 7a054b057a
commit 666d8a03c3

View File

@@ -24,10 +24,15 @@ public class ServiceAgent extends Agent
ServiceDescription sd2 = new ServiceDescription(); ServiceDescription sd2 = new ServiceDescription();
sd2.setType("answers"); sd2.setType("answers");
sd2.setName("dictionary"); sd2.setName("dictionary");
//service no 3
ServiceDescription sd3 = new ServiceDescription();
sd3.setType("answers");
sd3.setName("gcide");
//add them all //add them all
dfad.addServices(sd1); dfad.addServices(sd1);
dfad.addServices(sd2); dfad.addServices(sd2);
dfad.addServices(sd3);
try try
{ {
@@ -40,6 +45,7 @@ public class ServiceAgent extends Agent
addBehaviour(new WordnetCyclicBehaviour(this)); addBehaviour(new WordnetCyclicBehaviour(this));
addBehaviour(new DictionaryCyclicBehaviour(this)); addBehaviour(new DictionaryCyclicBehaviour(this));
addBehaviour(new GCIDECyclicBehaviour(this));
//doDelete(); //doDelete();
} }
protected void takeDown() protected void takeDown()
@@ -93,6 +99,46 @@ public class ServiceAgent extends Agent
} }
} }
class GCIDECyclicBehaviour extends CyclicBehaviour
{
ServiceAgent agent;
public GCIDECyclicBehaviour(ServiceAgent agent)
{
this.agent = agent;
}
public void action()
{
MessageTemplate template = MessageTemplate.MatchOntology("gcide");
ACLMessage message = agent.receive(template);
if (message == null)
{
block();
}
else
{
//process the incoming message
String content = message.getContent();
ACLMessage reply = message.createReply();
reply.setPerformative(ACLMessage.INFORM);
String response = "";
try
{
response = agent.makeRequest("gcide",content);
}
catch (NumberFormatException ex)
{
response = ex.getMessage();
}
reply.setContent(response);
agent.send(reply);
}
}
}
class WordnetCyclicBehaviour extends CyclicBehaviour class WordnetCyclicBehaviour extends CyclicBehaviour
{ {
ServiceAgent agent; ServiceAgent agent;