<br>&nbsp;&nbsp; What we do support is:<br><br>list:Variable() from SOME_MVEL_CODE<br><br>&nbsp;&nbsp;&nbsp; And MVEL supports an extended java syntax, so basically I think you can do anything, as long as the code returns something not null.<br><br>
&nbsp;&nbsp;&nbsp; []s<br>&nbsp;&nbsp;&nbsp; Edson<br><br><br><div><span class="gmail_quote">2007/8/31, pentarious &lt;<a href="mailto:cristiano.giuffrida@gmail.com">cristiano.giuffrida@gmail.com</a>&gt;:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>Hi,<br>I believe the following syntax is not supported in Drools:<br>list:Variable() from SOME_JAVA_CODE<br>You should use something like: &quot;from $list&quot; or &quot;from collect&quot; or &quot;from<br>accumulate&quot;, and embed any Java code in an eval statement. Edson, am I
<br>missing something?<br><br>Regards,<br><br>CG<br><br><br><br>hypnosat7 wrote:<br>&gt;<br>&gt; Hi,<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;I have a variable declaration as bellow :<br>&gt;<br>&gt;&gt;list:Variable() from ruleApp.getVariable
(&quot;variableName&quot;)<br>&gt;<br>&gt; and this is the result :<br>&gt; Exception in thread &quot;AWT-EventQueue-0&quot; org.mvel.CompileException: cannot<br>&gt; invoke method<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>&gt; org.mvel.optimizers.impl.refl.MethodAccessor.getValue
(MethodAccessor.java:54)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>&gt; org.mvel.optimizers.impl.refl.VariableAccessor.getValue(VariableAccessor.java:39)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>&gt; org.mvel.ast.VariableDeepPropertyNode.getReducedValueAccelerated
(VariableDeepPropertyNode.java:26)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>&gt; org.mvel.ast.PropertyASTNode.getReducedValueAccelerated(PropertyASTNode.java:19)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.mvel.MVELRuntime.execute(MVELRuntime.java:88)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at 
org.mvel.CompiledExpression.getValue(CompiledExpression.java:99)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.mvel.MVEL.executeExpression(MVEL.java:236)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>&gt; org.drools.base.dataproviders.MVELDataProvider.getResults(MVELDataProvider.java
:45)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.reteoo.FromNode.assertTuple(FromNode.java:61)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>&gt; org.drools.reteoo.CompositeTupleSinkAdapter.createAndPropagateAssertTuple(CompositeTupleSinkAdapter.java:73)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
<br>&gt; org.drools.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:131)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>&gt; org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:20)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at 
org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:160)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.reteoo.Rete.assertObject(Rete.java:176)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java
:196)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>&gt; org.drools.reteoo.ReteooWorkingMemory$WorkingMemoryReteAssertAction.execute(ReteooWorkingMemory.java:164)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>&gt; org.drools.common.AbstractWorkingMemory.executeQueuedActions
(AbstractWorkingMemory.java:1260)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>&gt; org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:864)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>&gt; org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java
:826)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>&gt; org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:627)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>&gt; mcmipih.rules.rules.integration.drools.ExecutionContext.executeRuleFlow(ExecutionContext.java
:54)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>&gt; mcmipih.rules.demo.service.DemoRuleService.validerRumList(DemoRuleService.java:50)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>&gt; mcmipih.rules.demo.service.DemoRuleService$$FastClassByCGLIB$$beeddc5a.invoke(&lt;generated&gt;)
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>&gt; org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:693)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
<br>&gt; org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:139)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>&gt; org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java
:107)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>&gt; org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>&gt; org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept
(Cglib2AopProxy.java:628)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>&gt; mcmipih.rules.demo.service.DemoRuleService$$EnhancerByCGLIB$$961244c9.validerRumList(&lt;generated&gt;)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>&gt; mcmipih.rules.demo.controller.ValidationAppController$ActionValiderSelectionLst.actionPerformed
(ValidationAppController.java:185)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at javax.swing.DefaultButtonModel.fireActionPerformed
(Unknown Source)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at javax.swing.DefaultButtonModel.setPressed(Unknown Source)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown<br>&gt; Source)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.Component.processMouseEvent
(Unknown Source)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at javax.swing.JComponent.processMouseEvent(Unknown Source)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.Component.processEvent(Unknown Source)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.Container.processEvent(Unknown Source)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.Component.dispatchEventImpl(Unknown Source)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.Container.dispatchEventImpl(Unknown Source)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.Component.dispatchEvent(Unknown Source)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.LightweightDispatcher.retargetMouseEvent
(Unknown Source)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.Container.dispatchEventImpl
(Unknown Source)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.Window.dispatchEventImpl(Unknown Source)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.Component.dispatchEvent(Unknown Source)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.EventQueue.dispatchEvent(Unknown Source)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at 
java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.EventDispatchThread.pumpEvents(Unknown Source)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.EventDispatchThread.run(Unknown Source)<br>&gt; Caused by: java.lang.NullPointerException<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at sun.reflect.NativeMethodAccessorImpl.invoke0
(Native Method)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.lang.reflect.Method.invoke
(Unknown Source)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>&gt; org.mvel.optimizers.impl.refl.MethodAccessor.getValue(MethodAccessor.java:46)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ... 54 more<br>&gt;<br><br>--<br>View this message in context: <a href="http://www.nabble.com/mvel-bug----tf4360199.html#a12429712">
http://www.nabble.com/mvel-bug----tf4360199.html#a12429712</a><br>Sent from the drools - user mailing list archive at <a href="http://Nabble.com">Nabble.com</a>.<br><br>_______________________________________________<br>rules-users mailing list
<br><a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br><a href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a><br></blockquote></div>
<br><br clear="all"><br>-- <br>&nbsp;&nbsp;Edson Tirelli<br>&nbsp;&nbsp;Software Engineer - JBoss Rules Core Developer<br>&nbsp;&nbsp;Office: +55 11 3529-6000<br>&nbsp;&nbsp;Mobile: +55 11 9287-5646<br>&nbsp;&nbsp;JBoss, a division of Red Hat @ <a href="http://www.jboss.com">
www.jboss.com</a>