[rules-users] MVEL Expression causing NPE in MVEL optimizer
Wolfgang Laun
wolfgang.laun at gmail.com
Sat Feb 11 03:52:32 EST 2012
Has the global (?) addressManager been initialized *before* inserting the
fact?
Does findFirstAddressByTypeByPerson(..) return something != null in this
(every) case?
-W
On 10 February 2012 20:08, womuji <cmregister at gmail.com> wrote:
> Hi,
>
> I kept getting NPE for the following MVEL express in Drools rule:
> ---------------------------------------
> rule "my Rule"
> ruleflow-group "myGroup"
> no-loop true
> when
> not Field(id=="meetingNotes")
> $student : Student()
> $homeAddress : Address() from
> addressManager.findFirstAddressByTypeByPerson( new ReferenceCode("xyz"),
> $student )
> then
> eventFields.put("meetingNotes",new
>
> Field("meetingNotes",AbstractFieldConverter.formatFullAddress($homeAddress)));
> end
> ---------------------------------------
> the stack trace is:
> ---------------------------------------
> [Error: null pointer: addressManager.findFirstAddressByTypeByPerson( new
> ReferenceCode("xyz"), $student )]
> [Near : {... addressManager.findFirstAddres ....}]
> ^
> [Line: 1, Column: 1]
> at
>
> org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:434)
> at
>
> org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:141)
> at org.mvel2.ast.ASTNode.optimize(ASTNode.java:157)
> at
> org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:113)
> at org.mvel2.MVELRuntime.execute(MVELRuntime.java:87)
> at
> org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:122)
> at
> org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:115)
> at org.mvel2.MVEL.executeExpression(MVEL.java:942)
> at
>
> org.drools.base.dataproviders.MVELDataProvider.getResults(MVELDataProvider.java:111)
> at org.drools.reteoo.FromNode.assertLeftTuple(FromNode.java:140)
> at
>
> org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:197)
> at
>
> org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:72)
> at org.drools.reteoo.JoinNode.assertObject(JoinNode.java:161)
> at
>
> org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:458)
> at
>
> org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:386)
> at
> org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:215)
> at
> org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:244)
> at
> org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:330)
> at
> org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:291)
> at
>
> org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:886)
> at
>
> org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:845)
> at
>
> org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:255)
> at
>
> org.drools.command.runtime.rule.InsertObjectCommand.execute(InsertObjectCommand.java:84)
> at
>
> org.drools.command.runtime.rule.InsertObjectCommand.execute(InsertObjectCommand.java:38)
> at
>
> org.drools.command.runtime.BatchExecutionCommandImpl.execute(BatchExecutionCommandImpl.java:155)
> at
>
> org.drools.command.runtime.BatchExecutionCommandImpl.execute(BatchExecutionCommandImpl.java:76)
> at
>
> org.drools.impl.StatelessKnowledgeSessionImpl.execute(StatelessKnowledgeSessionImpl.java:264)
> ---------------------------------------
>
> I'm using Drools5.3.0.Final, which in turn depends on MVEL2.1.0
>
> Anything wrong with my MVEL expression?
>
> Thanks in advance.
>
>
> --
> View this message in context:
> http://drools.46999.n3.nabble.com/MVEL-Expression-causing-NPE-in-MVEL-optimizer-tp3733427p3733427.html
> Sent from the Drools: User forum mailing list archive at Nabble.com.
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20120211/b73d0ede/attachment.html
More information about the rules-users
mailing list