<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
You are using Drools 2.x XML with JBoss Rules 3.0 - the two are very
different, please see the wiki for more details.<br>
<br>
Mark<br>
<a class="moz-txt-link-abbreviated" href="mailto:shilpa.raghavendra@wipro.com">shilpa.raghavendra@wipro.com</a> wrote:
<blockquote
cite="mid:16D08C962563664288C2B2EC23C47FCB01F3141F@BLR-SJP-MBX01.wipro.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html; ">
<meta name="Generator" content="Microsoft Word 10 (filtered)">
<style>
<!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {font-family:Arial;
        color:windowtext;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
</style>
<div class="Section1">
<p class="MsoNormal" style=""><font color="black" face="Courier New"
size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font></p>
<p class="MsoNormal" style=""><font color="black" face="Courier New"
size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">Main</span></font><font
color="black" face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
Class as
follows</span></font></p>
<p class="MsoNormal" style=""><font color="black" face="Courier New"
size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">package
com.sample;</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">import
java.io.InputStreamReader;</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">import
java.io.Reader;</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">import
org.drools.RuleBase;</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">import
org.drools.RuleBaseFactory;</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">import
org.drools.WorkingMemory;</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">import
org.drools.compiler.PackageBuilder;</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">import
org.drools.rule.Package;</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">/**</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;"> *
This is a sample file to launch a rule package from a rule
source file.</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;"> */</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">public
class DroolsTest1 {</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
public static final void main(String[] args) {</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
try {</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
//load
up the rulebase</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
RuleBase ruleBase = readRule();</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
WorkingMemory workingMemory = ruleBase.newWorkingMemory();</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
//go !</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
Message message = new Message();</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
message.setOp1(2);</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
message.setOp2(2);</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
workingMemory.assertObject( message );</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
workingMemory.fireAllRules(); </span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
} catch (Throwable t) {</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
t.printStackTrace();</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
}</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
}</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
/**</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
* Please note that this is the "low
level" rule assembly API.</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
*/</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
private static RuleBase readRule()
throws Exception {</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
//read
in the source</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
Reader
source = new InputStreamReader( DroolsTest1.class.getResourceAsStream(
"/Sample1.drl" ) );</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
//optionally
read in the DSL (if you are using it).</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
//Reader
dsl = new InputStreamReader( DroolsTest.class.getResourceAsStream(
"/mylang.dsl"
) );</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
//Use
package builder to build up a rule package.</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
//An
alternative lower level class called "DrlParser" can also be used...</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
PackageBuilder
builder = new PackageBuilder();</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
//this
wil parse and compile in one step</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
//NOTE:
There are 2 methods here, the one argument one is for normal DRL.</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
//builder.addPackageFromDrl(
source );</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
builder.addPackageFromXml(
source );</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
//Use
the following instead of above if you are using a DSL:</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
//builder.addPackageFromDrl(
source, dsl );</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
//get
the compiled package (which is serializable)</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
Package
pkg = builder.getPackage();</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
//add
the package to a rulebase (deploy the rule package).</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
RuleBase
ruleBase = RuleBaseFactory.newRuleBase();</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
ruleBase.addPackage(
pkg );</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
return
ruleBase;</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
}</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
public static class Message {</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
int
op1 ;</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
int
op2;</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
/**</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
*
@return the op1</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
*/</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
public
int getOp1() {</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
return
op1;</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
}</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
/**</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
*
@param op1 the op1 to set</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
*/</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
public
void setOp1(int op1) {</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
this.op1
= op1;</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
}</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
/**</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
*
@return the op2</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
*/</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
public
int getOp2() {</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
return
op2;</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
}</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
/**</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
*
@param op2 the op2 to set</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
*/</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
public
void setOp2(int op2) {</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
this.op2
= op2;</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
}</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
}</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">}</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">It’s
in src/ java /com/</span></font> <font color="black" face="Courier New"
size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">com.sample
package</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">The
sample1.drl file in src/</span></font> <font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">rules/Sample.drl
is as follows</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;"><?xml
version="1.0"?></span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;"><rule-set
name="BusinessRulesSample"</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
xmlns=<a class="moz-txt-link-rfc2396E" href="http://drools.org/rules">"http://drools.org/rules"</a></span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
xmlns:java=<a class="moz-txt-link-rfc2396E" href="http://drools.org/semantics/java">"http://drools.org/semantics/java"</a></span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
xmlns:xs=<a class="moz-txt-link-rfc2396E" href="http://www.w3.org/2001/XMLSchema-instance">"http://www.w3.org/2001/XMLSchema-instance"</a></span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
xs:schemaLocation="<a class="moz-txt-link-freetext" href="http://drools.org/rules">http://drools.org/rules</a>
rules.xsd</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
<a class="moz-txt-link-freetext" href="http://drools.org/semantics/java">http://drools.org/semantics/java</a> java.xsd"></span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
<!-- Code for Drools Article (c)www.firstpartners.net
2005 --></span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
<!-- Import the Java Objects that we refer to in our
rules --> </span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
<java:import>java.lang.Object</java:import></span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
<java:import>java.lang.String</java:import></span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
<java:import>com.sample.DroolsTest1.*</java:import></span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
<java:functions></span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
public void printValues(int i, int j)</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
{</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
System.out.println("hi"+i+j);</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
}</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
</java:functions></span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
<!-- Check for XYZ Corp--> </span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
<rule name="XYZCorp" ></span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
<!-- Parameters we can pass into
the business rule --></span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
<parameter
identifier="message"></span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
<class>com.sample.DroolsTest1.Message</class></span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
</parameter></span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
<!-- Conditions or 'Left Hand
Side' (LHS) that must be met for business rule to fire --></span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
<java:condition>message.getOp1()==2</java:condition>
</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
!-- What happens when the business
rule is activated --></span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
<java:consequence></span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
printValues(message.getOp1(),message.getOp2());</span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
</java:consequence></span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">
</rule></span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;"></rule-set></span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="black"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font></p>
<p class="MsoNormal" style="margin-left: 0.5in;"><font color="navy"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: navy;">When
I run the program I will get the following error. If I change
addPackageFromXml
to addPackageFromDrl the error is same . So please help me in this</span></font></p>
<p class="MsoNormal" style=""><font color="black" face="Courier New"
size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font></p>
<p class="MsoNormal" style=""><font color="black" face="Courier New"
size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font></p>
<p class="MsoNormal" style=""><font color="black" face="Courier New"
size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: black;">(null:
7, 74): cvc-elt.1: Cannot find the declaration of element
'rule-set'.</span></font></p>
<p class="MsoNormal" style=""><u><font color="navy" face="Courier New"
size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: navy;">org.drools.compiler.DroolsParserException</span></font></u></p>
<p class="MsoNormal" style=""><font color="red" face="Courier New"
size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: red;">
at org.drools.compiler.PackageBuilder.addPackageFromXml(Unknown
Source)</span></font></p>
<p class="MsoNormal" style=""><font color="red" face="Courier New"
size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: red;">
at com.sample.DroolsTest1.readRule(</span></font><u><font color="navy"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: navy;">DroolsTest1.java:55</span></font></u><font
color="red" face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: red;">)</span></font></p>
<p class="MsoNormal" style=""><font color="red" face="Courier New"
size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: red;">
at com.sample.DroolsTest1.main(</span></font><u><font color="navy"
face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: navy;">DroolsTest1.java:21</span></font></u><font
color="red" face="Courier New" size="2"><span
style="font-size: 10pt; font-family: "Courier New"; color: red;">)</span></font></p>
<p class="MsoNormal"><font face="Arial" size="2"><span
style="font-size: 10pt; font-family: Arial;"> </span></font></p>
<p class="MsoNormal"><font face="Arial" size="2"><span
style="font-size: 10pt; font-family: Arial;"> </span></font></p>
<p class="MsoNormal"><font face="Arial" size="2"><span
style="font-size: 10pt; font-family: Arial;">Thanks & Regards</span></font></p>
<p class="MsoNormal"><font face="Arial" size="2"><span
style="font-size: 10pt; font-family: Arial;">Shilpa</span></font></p>
</div>
<table>
<tbody>
<tr>
<td bgcolor="#ffffff"><font color="#000000"><br>
The information contained in this electronic message and any
attachments to this message are intended for the exclusive use of the
addressee(s) and may contain proprietary, confidential or privileged
information. If you are not the intended recipient, you should not
disseminate, distribute or copy this e-mail. Please notify the sender
immediately and destroy all copies of this message and any attachments.
<br>
<br>
WARNING: Computer viruses can be transmitted via email. The recipient
should check this email and any attachments for the presence of
viruses. The company accepts no liability for any damage caused by any
virus transmitted by this email.<br>
<br>
<a class="moz-txt-link-abbreviated" href="http://www.wipro.com">www.wipro.com</a><br>
</font></td>
</tr>
</tbody>
</table>
<pre wrap="">
<hr size="4" width="90%">
_______________________________________________
rules-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a>
</pre>
</blockquote>
<br>
</body>
</html>