[rules-users] Trouble getting functions to work in Guvnor
jarno niemelä
jargon at iki.fi
Mon Jun 20 09:29:14 EDT 2011
Thanks.
2011/6/20 Wolfgang Laun <wolfgang.laun at gmail.com>:
> Isn't this a simple coding error:
> releaseDate<= ( (ageInDays(current.releaseDate)<100) )
> as is compares a Date with a boolean?
>
> I think that the constraint should just be
> eval( ageInDays(current.releaseDate) < 100 )
>
> -W
>
>
> On 20 June 2011 07:38, jarno niemelä <jargon at iki.fi> wrote:
>>
>> Hello.
>>
>> I am trying to set up guvnor environment for business users, and I am
>> having a bit of trouble in getting functions to work.
>>
>> What I am trying to do is to make a function that would calculate age
>> of product in days as comparison between release date and current
>> date.
>>
>> I have following POJO:
>>
>> public class Product {
>>
>> private String name;
>>
>> private Date releaseDate;
>>
>> public Date getReleaseDate() {
>> return releaseDate;
>> }
>>
>> public void setReleaseDate(Date releaseDate) {
>> this.releaseDate = releaseDate;
>> }
>> }
>>
>> My function:
>>
>> import java.util.Date;
>> import java.util.Calendar;
>>
>> function int ageInDays(Date beginDate) {
>>
>> Date today = Calendar.getInstance().getTime();
>> long age=today.getTime()-beginDate.getTime();
>> return (int)((age/1000)/60/60/24);
>> }
>>
>> My rule:
>> 1. | rule "test2"
>> 2. | dialect "mvel"
>> 3. | when
>> 4. | current : Product( supported != "supported" ,
>> releaseDate
>> <= ( (ageInDays(current.releaseDate)<100) ) )
>> 5. | then
>> 6. | current.setSupported( "supported" );
>> 7. | update( current );
>> 8. | end
>>
>> I am getting error when running test:
>>
>> Exception executing ReturnValue constraint
>> org.drools.rule.ReturnValueRestriction at 4219ae2e :
>> java.lang.IllegalArgumentException: Unable to convert class
>> java.lang.Boolean to a Date.
>>
>> What I am doing wrong here?
>>
>> Alternative solution would be to create getAge() function in my POJO,
>> but are POJOs supposed to have executable code or are they supposed to
>> be used only for storing fact values?
>>
>> Jarno
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
More information about the rules-users
mailing list