package jadex.bdi.testcases.misc; import jadex.base.fipa.SFipa; import jadex.bdi.runtime.IGoal; import jadex.bdi.runtime.IMessageEvent; import jadex.bdi.runtime.Plan; import jadex.commons.collection.SCollection; import java.util.List; import java.util.Map; /** * Check naming of initial and end elements using config element ref worker agent. */ public class ConfigElementRefPlan extends Plan { /** * Plan body. */ public void body() { // Store report message from worker agent. getWaitqueue().addMessageEvent("inform_reports"); // Create worker agent (kills itself automatically). IGoal create = createGoal("cmscap.cms_create_component"); create.getParameter("type").setValue("/jadex/bdi/testcases/misc/ConfigElementRefWorker.agent.xml"); Map args = SCollection.createHashMap(); args.put("testagent", getComponentIdentifier()); create.getParameter("arguments").setValue(args); dispatchSubgoalAndWait(create); // Wait for reports from worker agent. IMessageEvent msg = waitForMessageEvent("inform_reports"); getWaitqueue().removeMessageEvent("inform_reports"); List reports = (List)msg.getParameter(SFipa.CONTENT).getValue(); for(int i=0; i<reports.size(); i++) { getBeliefbase().getBeliefSet("testcap.reports").addFact(reports.get(i)); } } }