I have a rule while calls doMenu to display options and modify data
accordingly.But why this rule is getting called only once even thought
"WHEN" condition is matching.Isn't it should be called every-time condition
matches?
rule "Check trans"
dialect "java"
when
exists(Account())
$account :Account()
then
doMenu($account,drools.getWorkingMemory());
end
rule "Credit"
#some code here
end rule
rule "Debit"
#some code here
end rule
function void doMenu(Account account,WorkingMemory wm) {
String option = "1";
//while(!option.equalsIgnoreCase("3")){
option = JOptionPane.showInputDialog("1.Debit \n" +
"2.Credit \n" +
"3. Exit");
if(option.equalsIgnoreCase("1")){
String amount = JOptionPane.showInputDialog("Enter Amount to be
Debited");
double amt = Double.parseDouble(amount);
Transaction t = new Transaction ( account, amt, Transaction.DEBIT);
wm.insert(t);
}else if(option.equalsIgnoreCase("2")){
String amount = JOptionPane.showInputDialog("Enter Amount to be
Credited");
double amt = Double.parseDouble(amount);
Transaction t = new Transaction ( account, amt, Transaction.CREDIT);
wm.insert(t);
}
//}
}
Sorry if this question is very naive,tried searching in forums and couldn't
find anything helpful.
--
View this message in context:
http://drools-java-rules-engine.46999.n3.nabble.com/Activating-the-rule-t...
Sent from the Drools - Dev mailing list archive at
Nabble.com.