Hi mario , thanks for reply.
pool-1-thread-1" Exception executing consequence for rule "tre" in defaultpkg: java.lang.RuntimeException: cannot invoke method: setPerson
at org.drools.core.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:39)
at org.drools.core.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1026)
at org.drools.core.phreak.RuleExecutor.fire(RuleExecutor.java:128)
at org.drools.core.phreak.RuleExecutor.evaluateNetworkAndFire(RuleExecutor.java:68)
at org.drools.core.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:936)
at org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1183)
at org.drools.core.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:935)
at org.drools.core.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:909)
at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:233)
at controller.RuleRunner.runRules(RuleRunner.java:83)
at com.orkash.EnrichmentService.EnrichmentController.Indexer.applyDrlOnMapWithPojo(Indexer.java:641)
at com.orkash.EnrichmentService.EnrichmentController.Indexer.run(Indexer.java:340)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: cannot invoke method: setPerson
at org.mvel2.optimizers.impl.refl.nodes.MethodAccessor.getValue(MethodAccessor.java:63)
at org.mvel2.optimizers.impl.refl.nodes.VariableAccessor.getValue(VariableAccessor.java:37)
at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:108)
at org.mvel2.MVELRuntime.execute(MVELRuntime.java:86)
at org.mvel2.compiler.CompiledExpression.getDirectValue(CompiledExpression.java:123)
at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:119)
at org.mvel2.MVEL.executeExpression(MVEL.java:930)
at org.drools.core.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:100)
at org.drools.core.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1016)
... 13 more
Caused by: java.lang.NullPointerException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.mvel2.optimizers.impl.refl.nodes.MethodAccessor.getValue(MethodAccessor.java:48)
... 21 more
I feel reason is just a variable but for getting a class instance i need to as done for
Svo as Svo($svoMetadata : svoMetadata) from $svolist
and
EsRootDoc($svolist:svo) gives EsRootDoc instance in $mastermap.
So, i feel i further need to do some thing this as :
$svoMetadata: SvoMetadata($t: $svo.getSvoMetadata())
, i even tried this as below :
$svoMetadata :SvoMetadata($svoData: (Svo($svoMetadata2 : svoMetadata) from $svolist))
but still syntactical issue exists.