I tried following simple rule with dao call and still no luck. getting
"org.mvel.PropertyAccessException: unable to resolve property:
dao.getList()". could not figure out what is wrong. some help please.
rule "Test DAo call"
when
count : List(size > 0) from dao.getList()
then
System.out.println("DAO call is successful!");
end
dao.getList() definition:
public List<Integer> getList(){
return Collections.EMPTY_LIST;
}
Exception stackTRace:
org.mvel.PropertyAccessException: unable to resolve property: dao.getList()
at
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:295)
at
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:110)
at
org.mvel.ast.VariableDeepPropertyNode.getReducedValueAccelerated(VariableDeepPropertyNode.java:26)
at
org.mvel.ast.PropertyASTNode.initializePropertyNode(PropertyASTNode.java:70)
at
org.mvel.ast.PropertyASTNode.getReducedValueAccelerated(PropertyASTNode.java:24)
at org.mvel.MVELRuntime.execute(MVELRuntime.java:90)
at org.mvel.CompiledExpression.getValue(CompiledExpression.java:111)
at org.mvel.MVEL.executeExpression(MVEL.java:252)
at
org.drools.base.dataproviders.MVELDataProvider.getResults(MVELDataProvider.java:55)
at org.drools.reteoo.FromNode.assertTuple(FromNode.java:68)
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:162)
at org.drools.reteoo.Rete.assertObject(Rete.java:175)
at org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:192)
at
org.drools.reteoo.ReteooWorkingMemory$WorkingMemoryReteAssertAction.execute(ReteooWorkingMemory.java:181)
at
org.drools.common.AbstractWorkingMemory.executeQueuedActions(AbstractWorkingMemory.java:1312)
at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:915)
at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:883)
at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:684)
at
org.drools.reteoo.ReteooStatelessSession.execute(ReteooStatelessSession.java:160)
at DAOCallTest.main()
Caused by: java.lang.NullPointerException
at
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:530)
at
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:261)
... 22 more
Michal Bali-2 wrote:
this blog post may be of use
http://blog.athico.com/2007/06/chained-from-accumulate-collect.html
On Wed, Nov 26, 2008 at 9:08 PM, techy <techluver007(a)gmail.com> wrote:
>
> though I referred other thread about this topic, I'm not successful to
> make
> a
> dao call.
> I beg your pardon to ask again.
>
> 1. I want to pass the fact object to the dao function which returns
> boolean.
> I tried following rule and getting "
> Unexpected token '$fact'" as eclipse compilation error. Please guide
with
> right syntax.
> global RuleDAO dao;
>
> rule "test DAO call"
> $fact : Fact(some condition)
> fact : Fact(dao.isValid($fact))
> then
> #do something
> end
>
> 2. Will be there any performance issue for above kind of rule?
>
> Thanks
>
> --
> View this message in context:
>
http://www.nabble.com/DAO-call-in-LHS-tp20709043p20709043.html
> Sent from the drools - user mailing list archive at
Nabble.com.
>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-users
>
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
View this message in context:
http://www.nabble.com/DAO-call-in-LHS-tp20709043p20741585.html
Sent from the drools - user mailing list archive at
Nabble.com.