[rules-users] How do I assign a local variable from a function call?

Mark Proctor mproctor at codehaus.org
Fri Aug 15 17:48:17 EDT 2008


What version of drools you using? I think I remember some issue with 
calling functions directly from a "from" - not sure if it was fixed for 
4.0.7 or if is in the upcomfing 4.0.8.

Mark
Samuel Doyle wrote:
> Yes here is the full thing.
>
> function List doEventCodesExist( Submission submission, EntityManager 
> entityManager )
> {
>    return SubmissionReviewRulesActionHelper.checkIfEventCodesExist( 
> submission, entityManager );
> }
>
> rule "SECOND Event Codes must not exist - EPC"
> // 4(2)
>     when
>         $event: Event( );
>         $submission: Submission( );
>         $entityManager : EntityManager( );
>         $changedEventCodes : List( ) from doEventCodesExist( 
> $submission, $entityManager );
>         eval( $changedEventCodes.size() > 0 );
>     then
>         $event.addReviewIssue( new ReviewIssue( $event, $submission, 
> SubmissionReviewConstants.SUBMISSION,
>            ReviewCriticality.CRITICAL, SectionFiltersEnum.SUBMISSION,
>            $changedEventCodes + " 
> submissionReview.submission.eventCodesAlreadyExist" ) );
> end
>
> ----- Original Message ----
> From: Mark Proctor <mproctor at codehaus.org>
> To: Rules Users List <rules-users at lists.jboss.org>
> Sent: Friday, August 15, 2008 1:29:16 PM
> Subject: Re: [rules-users] How do I assign a local variable from a 
> function call?
>
> Did you try adding types to your functions like the documentation says?
>
> samd wrote:
>> Nobody knows?
>>
>>
>> samd wrote:
>>   
>>> All I want to do is something simple like the following:
>>>
>>> $changedList: java.util.List( ) from getChangedList( $x, $y );
>>>
>>> Then in the same .drl file a function something like:
>>>
>>> function List getChangedList( $x, $y )
>>> {
>>>     return JavaClass.staticDoSomethingToGetListMethod( $x, $y);
>>> }
>>>
>>> I have tried doing this and I get:
>>>
>>> Unable to build expression for 'from' node 'getChangedList( $x, $y)'
>>>
>>> It looks like there is supposed to be something in between the from and
>>> the function? I have been looking for examples for something like this and
>>> have not found any.
>>>
>>> Thanks
>>>
>>>     
>>   
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>   

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20080815/5395c87d/attachment.html 


More information about the rules-users mailing list