This post will explain , how to work with Jboss Drools.
Step 1: Open eclipse and install Drools plugin through Market place.
Help - Eclipse Marketplace- search for drools and install the same.
Step 2: Create a new Maven Project and add below code snippet in pom.xml
//created on: 7 Sep, 2017 package src.main.resources.rules import com.sample.*; //list any import classes here. rule "We have an Best Cricketer" salience 10 when then System.out.println("We have an Best Cricketer"); end rule "Cricket Lives" salience 10 when then System.out.println("Hurrah!!! Cricket Lives"); end rule "Hello World" when Cricketer( name == "sachin" ) then System.out.println( "Hello sachin" ); end rule "Cricket Score above 50" when $cricketerDetails : Cricketer( score >= 50 ) then System.out.println( "I'm best bat's man , my name is[ " + $cricketerDetails.getName() + "]and my score is["+$cricketerDetails.getScore()+"]"); end rule "Cricket Score below 50" when $cricketerDetails : Cricketer( score < 50 ) then System.out.println( "I'm not best bat's man , my name is[ " + $cricketerDetails.getName() + "]and my score is["+$cricketerDetails.getScore()+"]"); endStep 3: Write a Simple Pojo Java class.
package com.sample; public class Cricketer { private String name; private boolean honest; private int score; public Cricketer(){ } public Cricketer(String name, boolean honest,int score){ this.name = name; this.honest = honest; this.score = score; } public String getName() { return name; } public void setName(String name) { this.name = name; } public boolean isHonest() { return honest; } public void setHonest(boolean honest) { this.honest = honest; } public int getScore() { return score; } public void setScore(int score) { this.score = score; } }Step 4: Now Write a Test java class to execute the drool file.
package com.sample; import org.kie.api.KieServices; import org.kie.api.runtime.KieContainer; import org.kie.api.runtime.KieSession; public class BestCricketer { public static void main(String[] args) { KieServices ks = KieServices.Factory.get(); KieContainer kContainer = ks.getKieClasspathContainer(); KieSession ksession = kContainer.newKieSession("ksession-rules"); Cricketer sachin = new Cricketer("sachin", true,70); Cricketer dravid = new Cricketer("dravid", true,55); Cricketer rohan = new Cricketer("rohan", true,100); Cricketer ajay = new Cricketer("ajay", true,40); ksession.insert( sachin ); ksession.insert( dravid ); ksession.insert( rohan ); ksession.insert( ajay ); ksession.fireAllRules(); } }Step 5: Output could be like below
We have an Best Cricketer Hurrah!!! Cricket Lives Hello sachin I'm best bat's man , my name is[ rohan]and my score is[100] I'm best bat's man , my name is[ dravid]and my score is[55] I'm best bat's man , my name is[ sachin]and my score is[70] I'm not best bat's man , my name is[ ajay]and my score is[40]More information about droolsMore Information on drools Thanks for viewing this post
Good job Siva. It would be more helpful if you can provide little more description such as what exactly the drools is and where it is applicable etc.
ReplyDeleteAnyways, thanks for your post and keep posting. :)
Thanks.. I will update same in future posts.
ReplyDelete