<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 "Cisco PIX Device" <br><br> when <br> d : Device ( isCiscoVersion == null, <br> sysNamePresent == true, <br> isPixVersion == true )
<br> then <br> System.out.println("This is a cisco pix device.");<br> <br>end<br><br>The rule works. However, when I write the same rule as <br><br>rule "Cisco PIX Device" <br><br> when
<br> d : Device ( isCiscoVersion == false, <br> sysNamePresent == true, <br> isPixVersion == true )<br> then <br> System.out.println("This is a cisco pix device.");
<br> <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> at org.drools.reteoo.CompositeObjectSinkAdapter$HashKey.setValue
(CompositeObjectSinkAdapter.java:501)<br> at org.drools.reteoo.CompositeObjectSinkAdapter$HashKey.<init>(CompositeObjectSinkAdapter.java:441)<br> at org.drools.reteoo.CompositeObjectSinkAdapter.hashSinks(CompositeObjectSinkAdapter.java
:158)<br> at org.drools.reteoo.CompositeObjectSinkAdapter.addObjectSink(CompositeObjectSinkAdapter.java:72)<br> at org.drools.reteoo.ObjectSource.addObjectSink(ObjectSource.java:104)<br> at org.drools.reteoo.ObjectTypeNode.addObjectSink
(ObjectTypeNode.java:313)<br> at org.drools.reteoo.AlphaNode.attach(AlphaNode.java:116)<br> at org.drools.reteoo.builder.BuildUtils.attachNode(BuildUtils.java:129)<br> at org.drools.reteoo.builder.PatternBuilder.attachAlphaNodes
(PatternBuilder.java:119)<br> at org.drools.reteoo.builder.PatternBuilder.attachPattern(PatternBuilder.java:71)<br> at org.drools.reteoo.builder.PatternBuilder.build(PatternBuilder.java:55)<br> at org.drools.reteoo.builder.GroupElementBuilder$AndBuilder.build
(GroupElementBuilder.java:111)<br> at org.drools.reteoo.builder.GroupElementBuilder.build(GroupElementBuilder.java:69)<br> at org.drools.reteoo.builder.ReteooRuleBuilder.addSubRule(ReteooRuleBuilder.java:143)<br> at
org.drools.reteoo.builder.ReteooRuleBuilder.addRule(ReteooRuleBuilder.java:108)<br> at org.drools.reteoo.ReteooBuilder.addRule(ReteooBuilder.java:112)<br> at org.drools.reteoo.ReteooRuleBase.addRule(ReteooRuleBase.java
:266)<br> at org.drools.common.AbstractRuleBase.addPackage(AbstractRuleBase.java:293)<br> at com.sample.CfiTest.readRule(CfiTest.java:71)<br> 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