As MVEL functions can't be called directly from java, this doesn't work yet.
I did get MVEL functions to work from the drools-clips module, so there
is some plumbing for this. We'd probably have to generate stab wrappers
to get MVEL functions working in DRL itsef, so both java and mvel
semantics can call it.
Mark
Michael Neale wrote:
OK created this:
https://jira.jboss.org/jira/browse/JBRULES-2298
On Tue, Oct 13, 2009 at 9:38 AM, Michael Neale <michael.neale(a)gmail.com> wrote:
> Hi Steve - yes that seems to work - hence why I have not noticed it
> before. I wonder with 4.0.x if it was actually using MVEL for the
> function body, or flipping back to the java dialect (which is what
> happens when you put it in a different DRL now).
>
> On Tue, Oct 13, 2009 at 1:24 AM, Steve Ronderos <steve.ronderos(a)ni.com> wrote:
>
>> Hi Michael,
>>
>> We are experiencing the same issue. We have had to put our functions in a
>> different .drl to get around this for now. If it helps any, this was
>> working ok in version 4.0.7, and broke when we went to 5.0.1.
>>
>> Thanks,
>>
>> Steve Ronderos
>>
>> rules-dev-bounces(a)lists.jboss.org wrote on 10/11/2009 11:52:04 PM:
>>
>>
>>> [image removed]
>>>
>>> [rules-dev] MVEL in functions?
>>>
>>> Michael Neale
>>>
>>> to:
>>>
>>> Rules Dev List
>>>
>>> 10/11/2009 11:53 PM
>>>
>>> Sent by:
>>>
>>> rules-dev-bounces(a)lists.jboss.org
>>>
>>> Please respond to Rules Dev List
>>>
>>> Hey is mvel in functions broken? I have a distant memory of something
>>> along these lines. I was just trying something like:
>>>
>>> package jboss.cloud
>>>
>>> dialect "mvel"
>>>
>>>
>>> #trying to get functions working...
>>> rule "something"
>>> when
>>> s: SimpleFact(id == 42, name == "michael")
>>> then
>>> System.out.println("hello");
>>> end
>>>
>>> function String doSomething() {
>>> return "hey";
>>> }
>>>
>>> And I get:
>>>
>>> java.lang.NullPointerException
>>> at org.drools.rule.builder.dialect.mvel.MVELDialect.compile
>>> (MVELDialect.java:510)
>>> at org.drools.rule.builder.dialect.mvel.MVELDialect.addFunction
>>> (MVELDialect.java:338)
>>> at
>>> org.drools.compiler.PackageBuilder.addFunction(PackageBuilder.java:1104)
>>> at
>>> org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:626)
>>> at org.drools.compiler.PackageBuilder.addPackageFromDrl
>>> (PackageBuilder.java:290)
>>> at org.drools.compiler.PackageBuilder.addKnowledgeResource
>>> (PackageBuilder.java:488)
>>> at org.drools.builder.impl.KnowledgeBuilderImpl.add
>>> (KnowledgeBuilderImpl.java:25)
>>>
>>> (haven't tried trunk) - anyone else seen this?
>>> removing the dialect "mvel" at the package level at it is fine.
>>>
>>>
>>>
>>>
>>>
>>> --
>>> Michael D Neale
>>> home:
www.michaelneale.net
>>> blog:
michaelneale.blogspot.com
>>> _______________________________________________
>>> rules-dev mailing list
>>> rules-dev(a)lists.jboss.org
>>>
https://lists.jboss.org/mailman/listinfo/rules-dev
>>>
>> _______________________________________________
>> rules-dev mailing list
>> rules-dev(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/rules-dev
>>
>>
>>
>
> --
> Michael D Neale
> home:
www.michaelneale.net
> blog:
michaelneale.blogspot.com
>
>