Hi Edson, I'll do my best. The rule uses a DSL, so I will post the specific rule and then the corresponding DSL file. I do believe it's happening inside the eval.
Rule: rule "awe" dialect "mvel" ruleflow-group 'Validation' when A AReallyWonderfulAndCrappyTest entry has results where BasicMountFridayTest mountType IsEqualTo "T" then set BasicBlindFridayTest_JP rightwidht to 44 end DSL: [condition][]A {TemplateName} entry has results where=$daObj : {TemplateName}() [condition][]{field} IsEqualTo {value}=eval ( {field} == {value} ) [condition][]{field} LessThan {value}=eval ( {field} < {value} ) [condition][]{field} GreaterThan {value}=eval ( {field} > {value} ) [condition][]{field} LessThanOrrEqualTo {value}=eval ( {field} <= {value} ) [condition][]{field} GreaterThanOrrEqualTo {value}=eval ( {field} >= {value} ) [condition][]{field} NotEqualTo {value}=eval ( {field} != {value} ) [condition][]A {TemplateName} entry is valid=$daObj : {TemplateName}() [consequence][]set {Field} {Member} to {Value}=$daObj.get{Field}().set{Member}({Value}); [consequence][]Log {value}=LOG.info({value}); [consequence][]set {GlobalVar} {Member} to {Value}={GlobalVar}.set{Member}({Value}) [consequence][]set {Field} {Member1} to global {GlobalVar} {GlobalMember}=$daObj.get{Field}().set{Member}({GlobalVar}.get{GlobalMember}()) [*][]set global {GlobalVar} {Member1} to global {GlobalVar} {Member2}={GlobalVar}.set{Member1}({GlobalVar}.get{Member2}()) [consequence][]show {field} {Member1}=$daObj.get{field}().set{Member1}Visible(true); [consequence][]hide {field} {Member1}=$daObj.get{field}().set{Member1}Visible(false); [consequence][]show table {field}=$daObj.set{field}Visible(true); [consequence][]hide table {field}=$daObj.set{field}Visible(false); ________________________________ From: [EMAIL PROTECTED] [EMAIL PROTECTED] On Behalf Of Edson Tirelli [EMAIL PROTECTED] Sent: Saturday, March 08, 2008 7:14 AM To: Rules Users List Subject: Re: [rules-users] Interesting null pointer exception when inserting a fact. Jason, Can you please isolate and show us the rule that is creating the problem? It is happening either in a eval() statement or in a nested property access. []s Edson 2008/3/7, Jason Partyka <[EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>>: Hi, This is in relation to drools 4.0.4 I have an interesting problem. I am getting a null pointer exception when I am inserting a fact into a StatefulSession object. What is odd about this NPE is that, as far as I can tell (and I have inserted a breakpoint right before I insert the fact) that all the properties in the object are initialized, and there are no rules accessing any thing that could be null. So here's my exception trace (just first few lines to get context): Exception in thread "AWT-EventQueue-0" org.drools.RuntimeDroolsException: java.lang.NullPointerException at org.drools.rule.EvalCondition.isAllowed(EvalCondition.java:76) at org.drools.reteoo.EvalConditionNode.assertTuple(EvalConditionNode.java:145) at org.drools.reteoo.SingleTupleSinkAdapter.createAndPropagateAssertTuple(SingleTupleSinkAdapter.java:55) at org.drools.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:116) at org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:22) at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:153) at org.drools.reteoo.Rete.assertObject(Rete.java:177) at org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:192) at org.drools.reteoo.ReteooWorkingMemory.doInsert(ReteooWorkingMemory.java:71) at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:886) at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:858) at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:659) at com.hightower.drools.executablerules.Rules.setTemplate(Rules.java:112) .... Caused by: java.lang.NullPointerException at org.drools.base.mvel.MVELEvalExpression.evaluate(MVELEvalExpression.java:39) at org.drools.rule.EvalCondition.isAllowed(EvalCondition.java:72) ... 39 more (that setTemplate method is not a drools template) Any ideas? Thanks, Jason _______________________________________________ rules-users mailing list rules-users@lists.jboss.org<mailto:rules-users@lists.jboss.org> https://lists.jboss.org/mailman/listinfo/rules-users -- Edson Tirelli JBoss Drools Core Development Office: +55 11 3529-6000 Mobile: +55 11 9287-5646 JBoss, a division of Red Hat @ www.jboss.com<http://www.jboss.com>
_______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users