File Logger.java¶
File List > behaviour > evals > Logger.java
Go to the documentation of this file
package skydata.behaviour.evals;
import jade.core.behaviours.CyclicBehaviour;
import jade.lang.acl.ACLMessage;
import jade.lang.acl.MessageTemplate;
import skydata.internal.agents.SKAgent;
import skydata.internal.agents.SKD;
import skydata.internal.behaviours.SKAgentBehaviour;
import skydata.internal.message.SKAID;
public class Logger extends SKAgentBehaviour {
public Logger(SKAgent agent) {
super(agent);
}
@Override
public void action() {
agent.addInternalUpdate("AFTER_MIGRATION", new SKAgentBehaviour(agent) {
@Override
public void action() {
agent.print("[AFTER_MIGRATION]" + agent.getSKAID().getAddress());
}
});
agent.addInternalUpdate("AFTER_REPLICATION", new SKAgentBehaviour(agent) {
@Override
public void action() {
agent.print("[AFTER_REPLICATION]" + agent.getSKAID().getAddress());
}
});
agent.addInternalUpdate("DELETION", new SKAgentBehaviour(agent) {
@Override
public void action() {
agent.print("[DELETION]");
}
});
SKAgentBehaviour b = new SKAgentBehaviour(agent) {
@Override
public void action() {
agent.print("[FAMILY-LOG]" + ((SKD) agent).getFamilyString());
}
@Override
public void actionWithParameters(Object o) {
agent.print("[FAMILY-LOG]" + ((SKD) agent).getFamilyString());
}
};
agent.addInternalUpdate("FAMILY_UPDATE", b);
agent.addInternalUpdate("FAMILY_ADDED", b);
agent.addInternalUpdate("FAMILY_REMOVED", b);
MessageTemplate mtError = MessageTemplate.not(MessageTemplate.MatchPerformative(ACLMessage.INFORM));
agent.addBehaviour(new CyclicBehaviour(agent) {
public void action() {
ACLMessage message = agent.receive(mtError);
if (message == null) {
block();
return;
}
}
});
}
}