<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:o =
"urn:schemas-microsoft-com:office:office" xmlns:w =
"urn:schemas-microsoft-com:office:word"><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.3132" name=GENERATOR>
<STYLE>@font-face {
        font-family: Wingdings;
}
@font-face {
        font-family: Verdana;
}
@page Section1 {size: 8.5in 11.0in; margin: 1.0in 1.25in 1.0in 1.25in; }
P.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
LI.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
DIV.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline
}
A:visited {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlinkFollowed {
        COLOR: blue; TEXT-DECORATION: underline
}
P {
        FONT-SIZE: 12pt; MARGIN-LEFT: 0in; MARGIN-RIGHT: 0in; FONT-FAMILY: "Times New Roman"; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto
}
SPAN.EmailStyle21 {
        FONT-WEIGHT: normal; COLOR: blue; FONT-STYLE: normal; FONT-FAMILY: Verdana; TEXT-DECORATION: none; mso-style-type: personal-reply
}
DIV.Section1 {
        page: Section1
}
</STYLE>
</HEAD>
<BODY lang=EN-US vLink=blue link=blue>
<DIV dir=ltr align=left><SPAN class=852174311-03102007><FONT face=Arial
color=#0000ff size=2>There are a number of ways...</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=852174311-03102007><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=852174311-03102007><FONT face=Arial
color=#0000ff size=2><STRONG><EM>Java dialect [requires LineItem, Parameter
and NameValue to be asserted into working
memory]</EM></STRONG></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=852174311-03102007><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=852174311-03102007><FONT face="Courier New"
color=#0000ff size=2>rule "a - requires object model change for parent
property"</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=852174311-03102007><FONT
face="Courier New"> <FONT color=#0000ff
size=2>when</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=852174311-03102007><FONT
face="Courier New"> <FONT
color=#0000ff size=2>$l : LineItem( )</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=852174311-03102007><FONT
face="Courier New"> <FONT
color=#0000ff size=2>$p : Parameter ( parent == $l )</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=852174311-03102007><FONT
face="Courier New"> <FONT
color=#0000ff size=2>$n : NameValue( parent == $p )</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=852174311-03102007><FONT
face="Courier New"> <FONT color=#0000ff
size=2>then</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=852174311-03102007><FONT
face="Courier New"> <FONT
color=#0000ff size=2>...</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=852174311-03102007><FONT face="Courier New"
color=#0000ff size=2>end</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=852174311-03102007><FONT face="Courier New"
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=852174311-03102007>
<DIV dir=ltr align=left><SPAN class=852174311-03102007><FONT face="Courier New"
color=#0000ff size=2>rule "b"</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=852174311-03102007><FONT
face="Courier New"> <FONT color=#0000ff
size=2>when</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=852174311-03102007>
<DIV dir=ltr align=left><SPAN class=852174311-03102007>
<DIV dir=ltr align=left><SPAN class=852174311-03102007><FONT
face="Courier New"> <FONT
color=#0000ff size=2>$n : NameValue( )</FONT></FONT></SPAN></DIV><FONT
face="Courier New"> <FONT
color=#0000ff size=2>$p : Parameter ( nameValues contains
$n )</FONT></FONT></SPAN></DIV><FONT
face="Courier New"> <FONT
color=#0000ff size=2>$l : LineItem( parameters contains
$p )</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=852174311-03102007><FONT
face="Courier New"> <FONT color=#0000ff
size=2>then</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=852174311-03102007><FONT
face="Courier New"> <FONT
color=#0000ff size=2>...</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=852174311-03102007><FONT face="Courier New"
color=#0000ff size=2>end</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=852174311-03102007><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=852174311-03102007><FONT face=Arial
color=#0000ff size=2><STRONG><EM>MVEL dialect</EM></STRONG></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=852174311-03102007><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=852174311-03102007><FONT face="Courier New"
color=#0000ff size=2>rule "c"</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=852174311-03102007><FONT
face="Courier New"> <FONT color=#0000ff size=2>dialect
mvel</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=852174311-03102007><FONT
face="Courier New"> <FONT color=#0000ff
size=2>when</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=852174311-03102007><FONT
face="Courier New"> <FONT
color=#0000ff size=2>$n :
my-mvel-syntax-lets-me-down-but-I-know-you-can-traverse-object-graphs-using-it</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=852174311-03102007><FONT
face="Courier New"> <FONT color=#0000ff
size=2>then</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=852174311-03102007><FONT
face="Courier New"> <FONT
color=#0000ff size=2>...</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=852174311-03102007><FONT face="Courier New"
color=#0000ff size=2>end</FONT></SPAN></DIV></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=852174311-03102007><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV><FONT face=Arial color=#0000ff
size=2></FONT><FONT face=Arial color=#0000ff size=2></FONT><FONT face=Arial
color=#0000ff size=2></FONT><BR>
<BLOCKQUOTE style="MARGIN-RIGHT: 0px">
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> rules-users-bounces@lists.jboss.org
[mailto:rules-users-bounces@lists.jboss.org] <B>On Behalf Of </B>Bhattacharya,
Sougata<BR><B>Sent:</B> 03 October 2007 12:37<BR><B>To:</B> Rules Users
List<BR><B>Subject:</B> [rules-users] Arrays help<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV class=Section1>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana">Hi
All,<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana"> I have a
object graph like this<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana">LineItem has array
of Parameter and each Parameter has array of NameValue and Namevalue
object has name and value.<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana">Now I have LineItem
object in working memory, how to test the value of each value of NameValue
object.<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana"><o:p> </o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana">LineItem</SPAN></FONT><FONT
face=Wingdings color=blue size=2><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Wingdings">à</SPAN></FONT><FONT
face=Verdana color=blue size=2><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana">getParameters()
returns Parameter[]<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana">Parameter->getNameValueArray()
return NameValue[]<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana">Each NameValue has
name and value attribute<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana">Any
help?<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana"><o:p> </o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana">Ta<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana">Sougata<o:p></o:p></SPAN></FONT></P></DIV>
<TABLE>
<TBODY>
<TR>
<TD bgColor=#ffffff><FONT color=#000000>This message contains
information that may be privileged or confidential and is the property
of the Capgemini Group. It is intended only for the person to whom it is
addressed. If you are not the intended recipient, you are not authorized
to read, print, retain, copy, disseminate, distribute, or use this
message or any part thereof. If you receive this message in error,
please notify the sender immediately and delete all copies of this
message.<BR><BR></FONT></TD></TR></TBODY></TABLE></BLOCKQUOTE></BODY></HTML>