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 <[email protected]> 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 > [email protected] > https://lists.jboss.org/mailman/listinfo/rules-users >
_______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
