package jadex.bdi.dfagent; import jadex.base.fipa.DFRegister; import jadex.base.fipa.Done; import jadex.base.fipa.IDFComponentDescription; import jadex.bdi.runtime.IGoal; import jadex.bdi.runtime.Plan; /** * The df register plan has the task to receive a message * and create a corresponding goal. */ public class DFRegisterPlan extends Plan { /** * The body method is called on the * instatiated plan instance from the scheduler. */ public void body() { DFRegister re = (DFRegister)getParameter("action").getValue(); IGoal reg = createGoal("df_register"); reg.getParameter("description").setValue(re.getComponentDescription()); dispatchSubgoalAndWait(reg); re.setResult((IDFComponentDescription)reg.getParameter("result").getValue()); getParameter("result").setValue(new Done(re)); } }