What we do support is:

list:Variable() from SOME_MVEL_CODE

    And MVEL supports an extended java syntax, so basically I think you can do anything, as long as the code returns something not null.

    []s
    Edson


2007/8/31, pentarious <cristiano.giuffrida@gmail.com>:

Hi,
I believe the following syntax is not supported in Drools:
list:Variable() from SOME_JAVA_CODE
You should use something like: "from $list" or "from collect" or "from
accumulate", and embed any Java code in an eval statement. Edson, am I
missing something?

Regards,

CG



hypnosat7 wrote:
>
> Hi,
>
>    I have a variable declaration as bellow :
>
>>list:Variable() from ruleApp.getVariable ("variableName")
>
> and this is the result :
> Exception in thread "AWT-EventQueue-0" org.mvel.CompileException: cannot
> invoke method
>       at
> org.mvel.optimizers.impl.refl.MethodAccessor.getValue (MethodAccessor.java:54)
>       at
> org.mvel.optimizers.impl.refl.VariableAccessor.getValue(VariableAccessor.java:39)
>       at
> org.mvel.ast.VariableDeepPropertyNode.getReducedValueAccelerated (VariableDeepPropertyNode.java:26)
>       at
> org.mvel.ast.PropertyASTNode.getReducedValueAccelerated(PropertyASTNode.java:19)
>       at org.mvel.MVELRuntime.execute(MVELRuntime.java:88)
>       at org.mvel.CompiledExpression.getValue(CompiledExpression.java:99)
>       at org.mvel.MVEL.executeExpression(MVEL.java:236)
>       at
> org.drools.base.dataproviders.MVELDataProvider.getResults(MVELDataProvider.java :45)
>       at org.drools.reteoo.FromNode.assertTuple(FromNode.java:61)
>       at
> org.drools.reteoo.CompositeTupleSinkAdapter.createAndPropagateAssertTuple(CompositeTupleSinkAdapter.java:73)
>       at
> org.drools.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:131)
>       at
> org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:20)
>       at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:160)
>       at org.drools.reteoo.Rete.assertObject(Rete.java:176)
>       at org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java :196)
>       at
> org.drools.reteoo.ReteooWorkingMemory$WorkingMemoryReteAssertAction.execute(ReteooWorkingMemory.java:164)
>       at
> org.drools.common.AbstractWorkingMemory.executeQueuedActions (AbstractWorkingMemory.java:1260)
>       at
> org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:864)
>       at
> org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java :826)
>       at
> org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:627)
>       at
> mcmipih.rules.rules.integration.drools.ExecutionContext.executeRuleFlow(ExecutionContext.java :54)
>       at
> mcmipih.rules.demo.service.DemoRuleService.validerRumList(DemoRuleService.java:50)
>       at
> mcmipih.rules.demo.service.DemoRuleService$$FastClassByCGLIB$$beeddc5a.invoke(<generated>)
>       at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
>       at
> org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:693)
>       at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:139)
>       at
> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java :107)
>       at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
>       at
> org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept (Cglib2AopProxy.java:628)
>       at
> mcmipih.rules.demo.service.DemoRuleService$$EnhancerByCGLIB$$961244c9.validerRumList(<generated>)
>       at
> mcmipih.rules.demo.controller.ValidationAppController$ActionValiderSelectionLst.actionPerformed (ValidationAppController.java:185)
>       at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
>       at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
>       at javax.swing.DefaultButtonModel.fireActionPerformed (Unknown Source)
>       at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
>       at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown
> Source)
>       at java.awt.Component.processMouseEvent (Unknown Source)
>       at javax.swing.JComponent.processMouseEvent(Unknown Source)
>       at java.awt.Component.processEvent(Unknown Source)
>       at java.awt.Container.processEvent(Unknown Source)
>       at java.awt.Component.dispatchEventImpl(Unknown Source)
>       at java.awt.Container.dispatchEventImpl(Unknown Source)
>       at java.awt.Component.dispatchEvent(Unknown Source)
>       at java.awt.LightweightDispatcher.retargetMouseEvent (Unknown Source)
>       at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
>       at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
>       at java.awt.Container.dispatchEventImpl (Unknown Source)
>       at java.awt.Window.dispatchEventImpl(Unknown Source)
>       at java.awt.Component.dispatchEvent(Unknown Source)
>       at java.awt.EventQueue.dispatchEvent(Unknown Source)
>       at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
>       at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
>       at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>       at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>       at java.awt.EventDispatchThread.run(Unknown Source)
> Caused by: java.lang.NullPointerException
>       at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
>       at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>       at java.lang.reflect.Method.invoke (Unknown Source)
>       at
> org.mvel.optimizers.impl.refl.MethodAccessor.getValue(MethodAccessor.java:46)
>       ... 54 more
>

--
View this message in context: http://www.nabble.com/mvel-bug----tf4360199.html#a12429712
Sent from the drools - user mailing list archive at Nabble.com.

_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users



--
  Edson Tirelli
  Software Engineer - JBoss Rules Core Developer
  Office: +55 11 3529-6000
  Mobile: +55 11 9287-5646
  JBoss, a division of Red Hat @ www.jboss.com