<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:Arial;}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:#606420;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        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>

</head>

<body lang=EN-US link=blue vlink="#606420">

<div class=Section1>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt'>Hi,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt'>We
are using Jboss-rules 3.0.5 and I have written a simple rule:<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><b><font size=1 color="#960000"
face="Courier New"><span style='font-size:9.0pt;font-family:"Courier New";
color:#960000;font-weight:bold'>rule</span></font></b><font size=1 color=black
face="Courier New"><span style='font-size:9.0pt;font-family:"Courier New";
color:black'> </span></font><font size=1 color=green face="Courier New"><span
style='font-size:9.0pt;font-family:"Courier New";color:green'>&quot;Valid
Format&quot;</span></font><font size=1 face="Courier New"><span
style='font-size:9.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:9.0pt;font-family:"Courier New";
color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font><font size=1 face="Courier New"><span
style='font-size:9.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:9.0pt;font-family:"Courier New";
color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font><b><font size=1 color="#960000"
face="Courier New"><span style='font-size:9.0pt;font-family:"Courier New";
color:#960000;font-weight:bold'>when</span></font></b><font size=1
face="Courier New"><span style='font-size:9.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:9.0pt;font-family:"Courier New";
color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $status : RuleResult()</span></font><font size=1
face="Courier New"><span style='font-size:9.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:9.0pt;font-family:"Courier New";
color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $id : Identifier()</span></font><font size=1
face="Courier New"><span style='font-size:9.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:9.0pt;font-family:"Courier New";
color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font><font size=1 face="Courier New"><span
style='font-size:9.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:9.0pt;font-family:"Courier New";
color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font><b><font size=1 color="#960000"
face="Courier New"><span style='font-size:9.0pt;font-family:"Courier New";
color:#960000;font-weight:bold'>eval</span></font></b><font size=1 color=black
face="Courier New"><span style='font-size:9.0pt;font-family:"Courier New";
color:black'> ($id.getValue() != </span></font><b><font size=1 color="#960000"
face="Courier New"><span style='font-size:9.0pt;font-family:"Courier New";
color:#960000;font-weight:bold'>null</span></font></b><font size=1 color=black
face="Courier New"><span style='font-size:9.0pt;font-family:"Courier New";
color:black'>)</span></font><font size=1 face="Courier New"><span
style='font-size:9.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:9.0pt;font-family:"Courier New";
color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font><b><font size=1 color="#960000"
face="Courier New"><span style='font-size:9.0pt;font-family:"Courier New";
color:#960000;font-weight:bold'>eval</span></font></b><font size=1 color=black
face="Courier New"><span style='font-size:9.0pt;font-family:"Courier New";
color:black'> (!$id.getValue().matches(</span></font><font size=1 color=green
face="Courier New"><span style='font-size:9.0pt;font-family:"Courier New";
color:green'>&quot;^([0-9]{9})$&quot;</span></font><font size=1 color=black
face="Courier New"><span style='font-size:9.0pt;font-family:"Courier New";
color:black'>))</span></font><font size=1 face="Courier New"><span
style='font-size:9.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:9.0pt;font-family:"Courier New";
color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font><b><font size=1 color="#960000"
face="Courier New"><span style='font-size:9.0pt;font-family:"Courier New";
color:#960000;font-weight:bold'>then</span></font></b><font size=1
face="Courier New"><span style='font-size:9.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:9.0pt;font-family:"Courier New";
color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $status.addErrorMessage(</span></font><font size=1
color=green face="Courier New"><span style='font-size:9.0pt;font-family:"Courier New";
color:green'>&quot;Identifier does not match required format&quot;</span></font><font
size=1 color=black face="Courier New"><span style='font-size:9.0pt;font-family:
"Courier New";color:black'>);</span></font><font size=1 face="Courier New"><span
style='font-size:9.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:9.0pt;font-family:"Courier New";
color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font><font size=1 face="Courier New"><span
style='font-size:9.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><b><font size=1 color="#960000" face="Courier New"><span
style='font-size:9.0pt;font-family:"Courier New";color:#960000;font-weight:
bold'>end</span></font></b><o:p></o:p></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt'>In my
unit test, I create an instance of the Identifier object and do not set the
Value, therefore it is null by default.&nbsp; I have an earlier rule that checks for
this null value and places an error message in the result object
appropriately.&nbsp; I would expect this error to fail and not see this error
message in the result, but instead see the missing value error message. &nbsp;The
problem is that I see both.&nbsp; <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt'>It
appears as though the eval null check is failing. &nbsp;Am I misunderstanding how
this rule should work?&nbsp; <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt'>Any insight
and/or answers are really appreciated.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt'>Thanks,<br>
John<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

</body>

</html>