<div>Thanks Vikrant.</div>
<div>&nbsp;</div>
<div>I have one more qurey on &#39;OR&#39; logical operator for the following scenario:</div>
<div>&nbsp;</div>
<div>I want the the boolen result from parent object which satisfies two different condition sets with child objects. I made the rule which is generated duplicated</div>
<div>&nbsp;</div>
<div>results if both conditions are satisfied. </div>
<div>&nbsp;</div>
<div>rule &quot;test&quot;</div>
<div>when</div>
<div>order: Order</div>
<p>(<br>&nbsp;<br>&nbsp;&nbsp; exists ( condition-1 with child objects)<br>&nbsp;&nbsp; <br>&nbsp;&nbsp; or <br>&nbsp;&nbsp; <br>&nbsp;&nbsp; exists (condition-2 with child objects)</p>
<p>)</p>
<p>then </p>
<p>&nbsp;&nbsp;&nbsp; SOP(&quot;order id &quot;+order.getId());</p>
<p>result : </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; order id 1000</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; order id 1000</p>
<p>&nbsp;</p>
<p>return the results in twice if both the conditions (cond-1 &amp; cond-2) are satisfied. It just combine <br>both results and behaves like &#39;union all&#39; instead of &#39;union&#39; function.</p>
<div><br>Can you help on this?</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>regards,riyaz<br>&nbsp;</div>
<div><span class="gmail_quote">On 9/8/08, <b class="gmail_sendername">Vikrant Yagnick</b> &lt;<a href="mailto:VikrantY@mastek.com">VikrantY@mastek.com</a>&gt; wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div lang="EN-US" vlink="purple" link="blue">
<div>
<p><span style="FONT-SIZE: 11pt; COLOR: #1f497d">My feeling after reading this post is that you need to execute a rule, if some child object exists.</span></p>
<p><span style="FONT-SIZE: 11pt; COLOR: #1f497d">I suggest using the Exists Feature in Drools for doing something like that.</span></p>
<p><span style="FONT-SIZE: 11pt; COLOR: #1f497d">&nbsp;</span></p>
<p><span style="FONT-SIZE: 11pt; COLOR: #1f497d">It would be the same thing if you are writing SQL. If you join a Master Table with child tables you will get as many records as there are child records for each master record.</span></p>

<p><span style="FONT-SIZE: 11pt; COLOR: #1f497d">&nbsp;</span></p>
<p><span style="FONT-SIZE: 11pt; COLOR: #1f497d">However, if you only want one master record if there are child record, you would need to use the exists statement.</span></p>
<p><span style="FONT-SIZE: 11pt; COLOR: #1f497d">&nbsp;</span></p>
<p><span style="FONT-SIZE: 11pt; COLOR: #1f497d">Example:</span></p>
<p><span style="FONT-SIZE: 11pt; COLOR: #1f497d">&nbsp;</span></p>
<p><span class="q">rule &quot;Multiple results set&quot;<br>when <br>&nbsp; <br>&nbsp;&nbsp;&nbsp; order: Order<br></span>&nbsp;&nbsp;&nbsp; exists ( Invoice from order.invoices)</p><span class="q">
<p>&nbsp; then <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; System.out.println(&quot;Rule Example (Multiple results set)&quot;+order.getId());<br>end;</p>
<p><span style="FONT-SIZE: 11pt; COLOR: #1f497d">&nbsp;</span></p>
<p><span style="FONT-SIZE: 11pt; COLOR: #1f497d">&nbsp;</span></p></span>
<p><span style="FONT-SIZE: 11pt; COLOR: #1f497d">Cheers,</span></p>
<p><span style="FONT-SIZE: 11pt; COLOR: #1f497d">Vikrant </span></p>
<p><span style="FONT-SIZE: 11pt; COLOR: #1f497d">&nbsp;</span></p>
<div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: medium none; PADDING-TOP: 3pt; BORDER-BOTTOM: medium none">
<p><b><span style="FONT-SIZE: 10pt">From:</span></b><span style="FONT-SIZE: 10pt"> <a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:rules-users-bounces@lists.jboss.org" target="_blank">rules-users-bounces@lists.jboss.org</a> [mailto:<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:rules-users-bounces@lists.jboss.org" target="_blank">rules-users-bounces@lists.jboss.org</a>] <b>On Behalf Of </b>Mohamed Riyaz<br>
<b>Sent:</b> Monday, September 08, 2008 12:05 PM<br><b>To:</b> <a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a><br><b>Subject:</b> [rules-users] Drools ruturn multiple results based on child objects data length</span></p>
</div>
<div><span class="e" id="q_11c40cf16db6497f_5">
<p>&nbsp;</p>
<div>
<p>&nbsp;</p></div>
<div>
<p>Hi,</p></div>
<div>
<p>&nbsp;</p></div>
<div>
<p>In one-to-many relationship object type, Drools generate multiple results based on child objects data length. ie. No of child records<br>belongs to parent object. I wanted the RHS part should be executed only if conditions imposed<br>
on child object satisfies.</p></div>
<p>I have two facts with 1-* relationship defined in object mapping.</p>
<p>class Invoice{}</p>
<p>class Order{</p>
<p>private Set&lt;Invoice&gt; invoices;</p>
<p>}</p>
<p><strong>I wanted RHS should be executed with only one result&nbsp; irrespective of child records length.</strong></p>
<p>rule &quot;Multiple results set&quot;<br>when <br>&nbsp; <br>&nbsp;&nbsp;&nbsp; order: Order() <br>&nbsp;&nbsp;&nbsp; invoice : Invoice() from order.invoices<br>&nbsp;&nbsp; </p>
<p>&nbsp; then <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; System.out.println(&quot;Rule Example (Multiple results set)&quot;+order.getId());<br>end;</p>
<p>Result: <br>&nbsp;Rule Example (Multiple results set)1000<br>&nbsp;Rule Example (Multiple results set)1000</p>
<p><br>Please help me in resolving this issue.</p>
<p>Regards,<br>Riyaz</p>
<p style="MARGIN-BOTTOM: 12pt">&nbsp;</p>
<table style="BACKGROUND: white" cellpadding="0" border="0">
<tbody>
<tr>
<td style="PADDING-RIGHT: 0.75pt; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; PADDING-TOP: 0.75pt"></td></tr></tbody></table>
<p>&nbsp;</p></span></div></div><br><br>
<table style="COLOR: black" bgcolor="white">
<tbody>
<tr>
<td><br>MASTEK&nbsp;LTD.<br>Mastek&nbsp;in&nbsp;NASSCOM&#39;s&nbsp;&#39;India&nbsp;Top&nbsp;20&#39;&nbsp;Software&nbsp;Service&nbsp;Exporters&nbsp;List.<br>In&nbsp;the&nbsp;US,&nbsp;we&#39;re&nbsp;called&nbsp;MAJESCOMASTEK<br><br>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
Opinions&nbsp;expressed&nbsp;in&nbsp;this&nbsp;e-mail&nbsp;are&nbsp;those&nbsp;of&nbsp;the&nbsp;individual&nbsp;and&nbsp;not&nbsp;that&nbsp;of&nbsp;Mastek&nbsp;Limited,&nbsp;unless&nbsp;specifically&nbsp;indicated&nbsp;to&nbsp;that&nbsp;effect.&nbsp;Mastek&nbsp;Limited&nbsp;does&nbsp;not&nbsp;accept&nbsp;any&nbsp;responsibility&nbsp;or&nbsp;liability&nbsp;for&nbsp;it.&nbsp;This&nbsp;e-mail&nbsp;and&nbsp;attachments&nbsp;(if&nbsp;any)&nbsp;transmitted&nbsp;with&nbsp;it&nbsp;are&nbsp;confidential&nbsp;and/or&nbsp;privileged&nbsp;and&nbsp;solely&nbsp;for&nbsp;the&nbsp;use&nbsp;of&nbsp;the&nbsp;intended&nbsp;person&nbsp;or&nbsp;entity&nbsp;to&nbsp;which&nbsp;it&nbsp;is&nbsp;addressed.&nbsp;Any&nbsp;review,&nbsp;re-transmission,&nbsp;dissemination&nbsp;or&nbsp;other&nbsp;use&nbsp;of&nbsp;or&nbsp;taking&nbsp;of&nbsp;any&nbsp;action&nbsp;in&nbsp;reliance&nbsp;upon&nbsp;this&nbsp;information&nbsp;by&nbsp;persons&nbsp;or&nbsp;entities&nbsp;other&nbsp;than&nbsp;the&nbsp;intended&nbsp;recipient&nbsp;is&nbsp;prohibited.&nbsp;This&nbsp;e-mail&nbsp;and&nbsp;its&nbsp;attachments&nbsp;have&nbsp;been&nbsp;scanned&nbsp;for&nbsp;the&nbsp;presence&nbsp;of&nbsp;computer&nbsp;viruses.&nbsp;It&nbsp;is&nbsp;the&nbsp;responsibility&nbsp;of&nbsp;the&nbsp;recipient&nbsp;to&nbsp;run&nbsp;the&nbsp;virus&nbsp;check&nbsp;on&nbsp;e-mails&nbsp;and&nbsp;attachments&nbsp;before&nbsp;opening&nbsp;them.&nbsp;If&nbsp;you&nbsp;have&nbsp;received&nbsp;this&nbsp;e-mail&nbsp;in&nbsp;error,&nbsp;kindly&nbsp;delete&nbsp;this&nbsp;e-mail&nbsp;from&nbsp;desktop&nbsp;and&nbsp;server.<br>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br></td></tr></tbody></table></div><br>_______________________________________________<br>rules-users mailing list<br>
<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
<br></blockquote></div><br>