Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.ys.drools.rules
- import com.ys.drools.facts.*;
- import com.ys.drools.util.DroolsGlobalUtil;
- global DroolsGlobalUtil util;
- rule checkMinorAccount when
- a : AccountHolder( age < 16 )
- then
- System.out.println("Incrementing count since account type is minor");
- System.out.println("***********************************************");
- System.out.println(util);
- util.setCount(util.getCount()+1);
- System.out.println(util.getCount());
- end
- rule checMajorAccount when
- a : AccountHolder( age >16 )
- then
- util.setCount(0);
- System.out.println("Incrementing count since account type is Major");
- System.out.println(util.getCount());
- end
- rule checkCounterAndProduceAlert when u:util(count>3)
- then
- System.out.println("Alert****");
- end
- package com.ys.drools.data.loader;
- import java.util.ArrayList;
- import java.util.List;
- import org.kie.api.KieServices;
- import org.kie.api.runtime.KieContainer;
- import org.kie.api.runtime.KieSession;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import com.ys.drools.facts.AccountHolder;
- import com.ys.drools.util.BankAccountUtilService;
- import com.ys.drools.util.DroolsGlobalUtil;
- public class Test {
- private BankAccountUtilService service;
- private KieContainer kieContainer;
- private KieSession kieSession;
- private static Logger log = LoggerFactory
- .getLogger(Test.class);
- private List<AccountHolder> accountHolders=new ArrayList<AccountHolder>();
- public Test(){
- kieContainer= KieServices.Factory.get().getKieClasspathContainer();
- kieSession = kieContainer.newKieSession("BankAccountSession");
- }
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Test test=new Test();
- List<AccountHolder> aList=test.fillAccountHolderList();
- DroolsGlobalUtil util=new DroolsGlobalUtil();
- test.kieSession.setGlobal( "util", util );
- for(int i=0;i<aList.size();i++){
- test.kieSession.insert(aList.get(i));
- test.kieSession.fireAllRules();
- }
- }
- public List<AccountHolder> fillAccountHolderList(){
- List<AccountHolder> accountHolders=new ArrayList<AccountHolder>();
- AccountHolder a1=new AccountHolder("Karun", 12);
- AccountHolder a2=new AccountHolder("kumar", 12);
- AccountHolder a3=new AccountHolder("rakesh", 10);
- accountHolders.add(a1);
- accountHolders.add(a2);
- accountHolders.add(a3);
- return accountHolders;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement