<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7651.59">
<TITLE>NPE loading rule with multi restriction connective field constraints </TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P><FONT SIZE=2 FACE="Arial">Hi,</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">I get a NPE (in v4.0) when loading a rulebase with the following rule:-</FONT>
</P>

<P><B><FONT COLOR="#960000" SIZE=2 FACE="Courier New">rule</FONT></B><FONT COLOR="#000000" SIZE=2 FACE="Courier New"></FONT> <FONT COLOR="#008000" SIZE=2 FACE="Courier New">&quot;smurf&quot;</FONT>

<BR><B><FONT COLOR="#960000" SIZE=2 FACE="Courier New">when</FONT></B>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR="#000000" SIZE=2 FACE="Courier New">$p1 : Property( $pminp : number )</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR="#000000" SIZE=2 FACE="Courier New">$p2 : Property( $pmaxp : number )</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR="#000000" SIZE=2 FACE="Courier New">$p3 : Property( $mlp : number &lt; $pmin | &gt; $pmaxp )</FONT>

<BR><B><FONT COLOR="#960000" SIZE=2 FACE="Courier New">then</FONT></B>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR="#000000" SIZE=2 FACE="Courier New">System.out.println(</FONT><FONT COLOR="#008000" SIZE=2 FACE="Courier New">&quot;The smurf has landed!&quot;</FONT><FONT COLOR="#000000" SIZE=2 FACE="Courier New">);</FONT>

<BR><B><FONT COLOR="#960000" SIZE=2 FACE="Courier New">end</FONT></B>
</P>

<P><FONT SIZE=2 FACE="Arial">If the rule uses literals in the multi-restriction connective field constraint it loads OK.</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">The stack trace isn't very helpful:-</FONT>
</P>

<P><U><FONT COLOR="#000080" SIZE=2 FACE="Courier New">java.lang.NullPointerException</FONT></U>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR="#000000" SIZE=2 FACE="Courier New">at com.ford.finance.nges.rules.RuleEngineWrapper$WorkSpace.loadRulebaseFromDrl(</FONT><U><FONT COLOR="#000080" SIZE=2 FACE="Courier New">RuleEngineWrapper.java:506</FONT></U><FONT COLOR="#000000" SIZE=2 FACE="Courier New">)</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR="#000000" SIZE=2 FACE="Courier New">at com.ford.finance.nges.rules.RuleEngineWrapper$WorkSpace.loadRuleBase(</FONT><U><FONT COLOR="#000080" SIZE=2 FACE="Courier New">RuleEngineWrapper.java:472</FONT></U><FONT COLOR="#000000" SIZE=2 FACE="Courier New">)</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR="#000000" SIZE=2 FACE="Courier New">at com.ford.finance.nges.rules.RuleEngineWrapper$WorkSpace.&lt;init&gt;(</FONT><U><FONT COLOR="#000080" SIZE=2 FACE="Courier New">RuleEngineWrapper.java:64</FONT></U><FONT COLOR="#000000" SIZE=2 FACE="Courier New">)</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR="#000000" SIZE=2 FACE="Courier New">at com.ford.finance.nges.rules.RuleEngineWrapper.getWorkSpace(</FONT><U><FONT COLOR="#000080" SIZE=2 FACE="Courier New">RuleEngineWrapper.java:582</FONT></U><FONT COLOR="#000000" SIZE=2 FACE="Courier New">)</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">Would you like a new JIRA?</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">With kind regards,</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">Mike</FONT>
</P>

</BODY>
</HTML>