jadex.bdi.tutorial.EnglishGermanAddWordPlanC1 Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jadex-applications-bdi Show documentation
Show all versions of jadex-applications-bdi Show documentation
The Jadex BDI applications package contain
several example applications, benchmarks and
testcases using BDI agents.
package jadex.bdi.tutorial;
import jadex.base.fipa.SFipa;
import jadex.bdi.runtime.IMessageEvent;
import jadex.bdi.runtime.Plan;
import java.util.Map;
import java.util.StringTokenizer;
/**
* Add a english - german word pair to the wordtable..
*/
public class EnglishGermanAddWordPlanC1 extends Plan
{
//-------- constructors --------
/**
* Create a new plan.
*/
public EnglishGermanAddWordPlanC1()
{
getLogger().info("Created:"+this);
}
//-------- methods --------
/**
* The plan body.
*/
public void body()
{
Map wordtable = (Map)getBeliefbase().getBelief("egwords").getFact();
StringTokenizer stok = new StringTokenizer((String)((IMessageEvent)getReason())
.getParameter(SFipa.CONTENT).getValue(), " ");
if(stok.countTokens()==4)
{
stok.nextToken();
stok.nextToken();
String eword = stok.nextToken();
String gword = stok.nextToken();
if(!wordtable.containsKey(eword))
{
wordtable.put(eword, gword);
getBeliefbase().getBelief("egwords").setFact(wordtable);
getLogger().info("Added new wordpair to database: "+eword+" - "+gword);
}
else
{
getLogger().info("Sorry database already contains word: "+eword);
}
}
else
{
getLogger().warning("Sorry format not correct.");
}
}
}