<br>Hi All, <br><br>I am using the 4.0.M2 version of jboss rules. <br><br>public class Device() { <br><br>private Boolean isCiscoVersion;<br>private Boolean sysNamePresent;<br>private Boolean isPixVersion;<br><br>}<br><br>
When I write the rule as follows :- <br clear="all"><br>rule &quot;Cisco PIX Device&quot; <br><br>&nbsp;&nbsp;&nbsp; when <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; d : Device ( isCiscoVersion == null, <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;sysNamePresent == true, <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;isPixVersion == true )
<br>&nbsp;&nbsp;&nbsp; then <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; System.out.println(&quot;This is a cisco pix device.&quot;);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>end<br><br>The rule works. However, when I write the same rule as <br><br>rule &quot;Cisco PIX Device&quot; <br><br>&nbsp;&nbsp;&nbsp; when 
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; d : Device ( isCiscoVersion == false, <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;sysNamePresent == true, <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;isPixVersion == true )<br>&nbsp;&nbsp;&nbsp; then <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; System.out.println(&quot;This is a cisco pix device.&quot;);
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>end<br><br>It even fails to compile and add the rule into the package. Not sure what is going on ?. <br><br>Following is the error I keep getting :- <br><br>java.lang.NullPointerException<br>&nbsp;&nbsp;&nbsp; at org.drools.reteoo.CompositeObjectSinkAdapter$HashKey.setValue
(CompositeObjectSinkAdapter.java:501)<br>&nbsp;&nbsp;&nbsp; at org.drools.reteoo.CompositeObjectSinkAdapter$HashKey.&lt;init&gt;(CompositeObjectSinkAdapter.java:441)<br>&nbsp;&nbsp;&nbsp; at org.drools.reteoo.CompositeObjectSinkAdapter.hashSinks(CompositeObjectSinkAdapter.java
:158)<br>&nbsp;&nbsp;&nbsp; at org.drools.reteoo.CompositeObjectSinkAdapter.addObjectSink(CompositeObjectSinkAdapter.java:72)<br>&nbsp;&nbsp;&nbsp; at org.drools.reteoo.ObjectSource.addObjectSink(ObjectSource.java:104)<br>&nbsp;&nbsp;&nbsp; at org.drools.reteoo.ObjectTypeNode.addObjectSink
(ObjectTypeNode.java:313)<br>&nbsp;&nbsp;&nbsp; at org.drools.reteoo.AlphaNode.attach(AlphaNode.java:116)<br>&nbsp;&nbsp;&nbsp; at org.drools.reteoo.builder.BuildUtils.attachNode(BuildUtils.java:129)<br>&nbsp;&nbsp;&nbsp; at org.drools.reteoo.builder.PatternBuilder.attachAlphaNodes
(PatternBuilder.java:119)<br>&nbsp;&nbsp;&nbsp; at org.drools.reteoo.builder.PatternBuilder.attachPattern(PatternBuilder.java:71)<br>&nbsp;&nbsp;&nbsp; at org.drools.reteoo.builder.PatternBuilder.build(PatternBuilder.java:55)<br>&nbsp;&nbsp;&nbsp; at org.drools.reteoo.builder.GroupElementBuilder$AndBuilder.build
(GroupElementBuilder.java:111)<br>&nbsp;&nbsp;&nbsp; at org.drools.reteoo.builder.GroupElementBuilder.build(GroupElementBuilder.java:69)<br>&nbsp;&nbsp;&nbsp; at org.drools.reteoo.builder.ReteooRuleBuilder.addSubRule(ReteooRuleBuilder.java:143)<br>&nbsp;&nbsp;&nbsp; at 
org.drools.reteoo.builder.ReteooRuleBuilder.addRule(ReteooRuleBuilder.java:108)<br>&nbsp;&nbsp;&nbsp; at org.drools.reteoo.ReteooBuilder.addRule(ReteooBuilder.java:112)<br>&nbsp;&nbsp;&nbsp; at org.drools.reteoo.ReteooRuleBase.addRule(ReteooRuleBase.java
:266)<br>&nbsp;&nbsp;&nbsp; at org.drools.common.AbstractRuleBase.addPackage(AbstractRuleBase.java:293)<br>&nbsp;&nbsp;&nbsp; at com.sample.CfiTest.readRule(CfiTest.java:71)<br>&nbsp;&nbsp;&nbsp; at com.sample.CfiTest.main(CfiTest.java:23)<br><br><br>Any ideas why this is happening ?. 
<br><br>-Krishnan. <br><br>-- <br>Sivaramakrishna Iyer Krishnan (Anand) <br><br>Never assume the obvious is true. <br>- William Safire