Advertisement
Guest User

Untitled

a guest
Dec 2nd, 2016
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.55 KB | None | 0 0
  1. package com.ys.drools.rules
  2.  
  3. import com.ys.drools.facts.*;
  4. import com.ys.drools.util.DroolsGlobalUtil;
  5.  
  6. global DroolsGlobalUtil util;
  7.  
  8.  
  9. rule checkMinorAccount when
  10. a : AccountHolder( age < 16 )
  11. then
  12. System.out.println("Incrementing count since account type is minor");
  13. System.out.println("***********************************************");
  14. System.out.println(util);
  15. util.setCount(util.getCount()+1);
  16. System.out.println(util.getCount());
  17.  
  18. end
  19.  
  20.  
  21. rule checMajorAccount when
  22. a : AccountHolder( age >16 )
  23. then
  24. util.setCount(0);
  25. System.out.println("Incrementing count since account type is Major");
  26. System.out.println(util.getCount());
  27. end
  28.  
  29. rule checkCounterAndProduceAlert when u:util(count>3)
  30. then
  31. System.out.println("Alert****");
  32. end
  33.  
  34. package com.ys.drools.data.loader;
  35.  
  36. import java.util.ArrayList;
  37. import java.util.List;
  38.  
  39. import org.kie.api.KieServices;
  40. import org.kie.api.runtime.KieContainer;
  41. import org.kie.api.runtime.KieSession;
  42. import org.slf4j.Logger;
  43. import org.slf4j.LoggerFactory;
  44. import com.ys.drools.facts.AccountHolder;
  45. import com.ys.drools.util.BankAccountUtilService;
  46. import com.ys.drools.util.DroolsGlobalUtil;
  47.  
  48. public class Test {
  49. private BankAccountUtilService service;
  50. private KieContainer kieContainer;
  51. private KieSession kieSession;
  52. private static Logger log = LoggerFactory
  53. .getLogger(Test.class);
  54.  
  55. private List<AccountHolder> accountHolders=new ArrayList<AccountHolder>();
  56.  
  57. public Test(){
  58. kieContainer= KieServices.Factory.get().getKieClasspathContainer();
  59. kieSession = kieContainer.newKieSession("BankAccountSession");
  60. }
  61.  
  62. public static void main(String[] args) {
  63. // TODO Auto-generated method stub
  64.  
  65. Test test=new Test();
  66. List<AccountHolder> aList=test.fillAccountHolderList();
  67. DroolsGlobalUtil util=new DroolsGlobalUtil();
  68. test.kieSession.setGlobal( "util", util );
  69. for(int i=0;i<aList.size();i++){
  70. test.kieSession.insert(aList.get(i));
  71. test.kieSession.fireAllRules();
  72. }
  73.  
  74. }
  75.  
  76.  
  77. public List<AccountHolder> fillAccountHolderList(){
  78. List<AccountHolder> accountHolders=new ArrayList<AccountHolder>();
  79. AccountHolder a1=new AccountHolder("Karun", 12);
  80. AccountHolder a2=new AccountHolder("kumar", 12);
  81. AccountHolder a3=new AccountHolder("rakesh", 10);
  82. accountHolders.add(a1);
  83. accountHolders.add(a2);
  84. accountHolders.add(a3);
  85. return accountHolders;
  86. }
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement