<div>The location of the NPE suggests that some field (mmlCommandUid) is null<br>when you insert the object, but some rule wants to access its intValue.<br><br>All fields accessed in all rules must be initialized properly; Drools does not<br>
guard field accesses with &quot;!= null&quot; for you.<br><br>-W<br><br> </div><div class="gmail_quote">On 26 April 2011 20:27, dabar <span dir="ltr">&lt;<a href="mailto:david.barrett.0%2Bdrools@gmail.com">david.barrett.0+drools@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">I&#39;ve been battling with drools and just wanting a second viewpoint.  I&#39;m<br>
using drools 5.2.0 flow and rules.<br>
<br>
I have a rule that inserts a new fact as part of the RHS of the rule and<br>
then I&#39;m getting a null pointer exception - stack below. I assume when the<br>
fact is inserted all the rules are evaluated to build up the agenda.<br>
<br>
I&#39;ve debugged through drools code and found that in ClassFieldReader object1<br>
is null and object2 is my new fact.<br>
<br>
I&#39;m interested in what a JoinNode represents as I think this is what is<br>
being evaluated. I would guess its a join node in the flow but these don&#39;t<br>
contain any rules so perhaps not.<br>
<br>
Similar threads here suggest this is a fault in one of the rules but I have<br>
about 100 rules so working out the culprit isn&#39;t straightforward.<br>
What I really want to know is if there a way I can find out which rule is<br>
being assessed for the agenda so I check that rule.<br>
<br>
<br>
Caused by: java.lang.NullPointerException<br>
        at<br>
org.drools.base.com.somecompany.prov.rulesbased.facts.ProvResponse1649170666$getMmlCommandUid.getIntValue(Unknown<br>
Source)<br>
        at<br>
org.drools.base.ClassFieldReader.getIntValue(ClassFieldReader.java:165)<br>
        at<br>
org.drools.base.evaluators.EqualityEvaluatorsDefinition$IntegerEqualEvaluator.evaluate(EqualityEvaluatorsDefinition.java:1522)<br>
        at<br>
org.drools.core.util.AbstractHashTable$SingleIndex.equal(AbstractHashTable.java:619)<br>
        at<br>
org.drools.core.util.LeftTupleList.matches(LeftTupleList.java:190)<br>
        at<br>
org.drools.core.util.LeftTupleIndexHashTable.getOrCreate(LeftTupleIndexHashTable.java:347)<br>
        at<br>
org.drools.core.util.LeftTupleIndexHashTable.add(LeftTupleIndexHashTable.java:233)<br>
        at org.drools.reteoo.JoinNode.assertLeftTuple(JoinNode.java:65)<br>
        at<br>
org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:189)<br>
        at<br>
org.drools.reteoo.SingleLeftTupleSinkAdapter.createAndPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:138)<br>
        at<br>
org.drools.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:148)<br>
        at<br>
org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:450)<br>
        at<br>
org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:378)<br>
        at<br>
org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:190)<br>
        at<br>
org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:145)<br>
        at<br>
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1183)<br>
        at<br>
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1085)<br>
        at<br>
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:889)<br>
        at<br>
org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:238)<br>
        at<br>
com.somecompany.rules.global.RulesUtils.insertFact(RulesUtils.java:159)<br>
        at<br>
com.somecompany.rules.common.Rule_Common_HandleUnexpectedResponse___Mark_an_unexpected_response_as_handled_0.defaultConsequence(Rule_Common_HandleUnexpectedResponse___Mark_an_unexpected_response_as_handled_0.java:28)<br>

<font color="#888888"><br>
<br>
--<br>
View this message in context: <a href="http://drools.46999.n3.nabble.com/NullPointer-after-inserting-fact-in-RHS-tp2866772p2866772.html" target="_blank">http://drools.46999.n3.nabble.com/NullPointer-after-inserting-fact-in-RHS-tp2866772p2866772.html</a><br>

Sent from the Drools: User forum mailing list archive at Nabble.com.<br>
_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
</font></blockquote></div><br>