<!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">
Hareendra Pelige wrote:
<blockquote
cite="mid:251EE64CA47A7841ADBD015DF51C3A7A07B3942E@cs-mailsvr03.Virtusa.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html; ">
<meta name="Generator" content="Microsoft Word 11 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* 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;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:Tahoma;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 117.85pt 1.0in 117.85pt;}
div.Section1
        {page:Section1;}
-->
</style>
<div class="Section1">
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">Hi
All,<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">I
am new to this Drools rule engine. After looking at its features, I am
really
interested on this. I tried few samples given in jboss site and got to
know
high-level understanding of the rule engine and how it can be used in
our
business applications.<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">But,
I am really confused with the rule syntaxes used in sample files,
samples
published in the internet.<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"><o:p> </o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">Few
such syntaxes are listed bellow. Could you please let me know which is
better
for enterprise applications?<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"><o:p> </o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">1.
<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">rule
"Hello World"<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
dialect "mvel"<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"> when<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"> m
: Message( status == Message.HELLO, message : message<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">)<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"> then<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
System.out.println( message ); <o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
modify ( m ) { message = "Goodbyte cruel world",<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
status = Message.GOODBYE };<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
System.out.println( message ); <o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">end<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"><o:p> </o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">rule
"Good Bye"<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
dialect "java"<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"> when<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"> Message(
status == Message.GOODBYE, message : message )<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"> then<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"> System.out.println(
message ); <o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">End<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"><o:p> </o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">Questions:<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">Here,
what is "dialect" and what are 'mvel' and 'java'?<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">What
are the differences between 'mvel' and 'java'<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"><o:p> </o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">2.<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"><rule-set
name="disposition rules"<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
xmlns=<a class="moz-txt-link-rfc2396E" href="http://drools.org/rules">"http://drools.org/rules"</a> <o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
xmlns:java=<a class="moz-txt-link-rfc2396E" href="http://drools.org/semantics/java">"http://drools.org/semantics/java"</a><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
xmlns:xs=<a class="moz-txt-link-rfc2396E" href="http://www.w3.org/2001/XMLSchema-instance">"http://www.w3.org/2001/XMLSchema-instance"</a><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
xs:schemaLocation="<a class="moz-txt-link-freetext" href="http://drools.org/rules">http://drools.org/rules</a> rules.xsd<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
<a class="moz-txt-link-freetext" href="http://drools.org/semantics/java">http://drools.org/semantics/java</a>
java.xsd"><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"> <!--
season sale means 10% off item price --><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
<rule name="season sales"><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
<parameter identifier="item"><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
<class>de.linsin.example.drools.domain.Item</class><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
</parameter><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
<parameter identifier="bill"><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
<class>de.linsin.example.drools.domain.Bill</class><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
</parameter><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
<parameter identifier="quantity"><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
<class>java.lang.Integer</class><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
</parameter><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
<java:condition><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
item.isOnSeasonSale() == true<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
</java:condition><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
<java:consequence><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
double price = (item.getPrice()*(100-10))/100;<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
bill.addItem(item, quantity.intValue()*price);<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
</java:consequence><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
</rule><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
<!-- customer discount means 5% off total --><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
<rule name="discount"><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
<parameter identifier="bill"><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
<class>de.linsin.example.drools.domain.Bill</class><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
</parameter><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
<parameter identifier="customer"><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
<class>de.linsin.example.drools.domain.Customer</class><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
</parameter><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
<java:condition><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
customer.isDiscount() == true<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
</java:condition><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
<java:consequence><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
double total = bill.getTotal();<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
bill.setTotal((total*(100-5))/100);<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
</java:consequence><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">
</rule><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"></rule-set></span></font></p>
</div>
</blockquote>
that is drools2.0 - there is no relation between this and 4.0.<br>
<blockquote
cite="mid:251EE64CA47A7841ADBD015DF51C3A7A07B3942E@cs-mailsvr03.Virtusa.com"
type="cite">
<div class="Section1">
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"><o:p> </o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">3.
<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">package
com.test<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"><o:p> </o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">import
com.test.common.*;<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">import
java.util.ArrayList;<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"><o:p> </o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">//
Extract TestData<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">rule
"Extract Test Data"<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"> dialect
"java"<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"> when<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"> $productRequest
: ProductRequest(bookingRequest!=null) <o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"> then<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"> insert(
$productRequest.getDivision() );<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"><o:p> </o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"> System.out.println(
"Extracted Test Data."); end<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"><o:p> </o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"><o:p> </o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"><o:p> </o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">Could
you please point me a location(s) to learn drl rule language with its
syntaxes?<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"><o:p> </o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">Appreciate
any of your help.<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"><o:p> </o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">Thanks
and regards<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">Hareendra
Pelige<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"> <o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"><o:p> </o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">-----Original
Message-----<br>
From: <a class="moz-txt-link-abbreviated" href="mailto:rules-users-bounces@lists.jboss.org">rules-users-bounces@lists.jboss.org</a>
[<a class="moz-txt-link-freetext" href="mailto:rules-users-bounces@lists.jboss.org">mailto:rules-users-bounces@lists.jboss.org</a>] On Behalf Of Benjamin J
McMillan<br>
Sent: Thursday, May 29, 2008 3:15 AM<br>
To: Rules Users List<br>
Subject: [rules-users] the BRMS and queries</span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"><o:p> </o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">All,<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"><o:p> </o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">Either
the BRMS, when uploading a DRL file, doesn't read in queries, or<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">it
doesn't build them into the deployment package.<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"><o:p> </o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">Is
this by design, or a bug? For now my application (my unit tests,<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">actually)
queries the working memory for decision objects, instead of<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">having
rules respond to the decisions and put them into a data structure<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">the
java app can see. I could do the latter, but I'm just wondering if<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">maybe
I'm doing something wrong regarding queries and the BRMS.<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"><o:p> </o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">Thanks!<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"><o:p> </o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">Ben<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"><o:p> </o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"><o:p> </o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"><o:p> </o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">_______________________________________________<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;">rules-users
mailing list<o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"><a class="moz-txt-link-abbreviated" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><o:p></o:p></span></font></p>
<p class="MsoPlainText"><font face="Tahoma" size="2"><span
style="font-size: 10pt;"><a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a><o:p></o:p></span></font></p>
</div>
<table>
<tbody>
<tr>
<td bgcolor="#ffffff"><font color="#000000">------------------------
--------------------------------------------------------------------<br>
This message, including any attachments, contains confidential
information intended for a specific individual and purpose, and is
intended for the addressee only. Any unauthorized disclosure, use,
dissemination, copying, or distribution of this message or any of its
attachments or the information contained in this e-mail, or the taking
of any action based on it, is strictly prohibited. If you are not the
intended recipient, please notify the sender immediately by return
e-mail and delete this message.<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>