Isn&#39;t this a simple coding error:<br>       releaseDate&lt;= ( (ageInDays(current.releaseDate)&lt;100) )<br>as is compares a Date with a boolean?<br><br>I think that the constraint should just be<br>   eval( ageInDays(current.releaseDate) &lt; 100 )<br>
<br>-W<br><br><br><div class="gmail_quote">On 20 June 2011 07:38, jarno niemelä <span dir="ltr">&lt;<a href="mailto:jargon@iki.fi">jargon@iki.fi</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello.<br>
<br>
I am trying to set up guvnor environment for business users, and I am<br>
having a bit of trouble in getting functions to work.<br>
<br>
What I am trying to do is to make a function that would calculate age<br>
of product in days as comparison between release date and current<br>
date.<br>
<br>
I have following POJO:<br>
<br>
public class Product {<br>
<br>
        private String name;<br>
<br>
        private Date releaseDate;<br>
<br>
        public Date getReleaseDate() {<br>
                return releaseDate;<br>
        }<br>
<br>
        public void setReleaseDate(Date releaseDate) {<br>
                this.releaseDate = releaseDate;<br>
        }<br>
}<br>
<br>
My function:<br>
<br>
import java.util.Date;<br>
import java.util.Calendar;<br>
<br>
function int ageInDays(Date beginDate) {<br>
<br>
Date today = Calendar.getInstance().getTime();<br>
long age=today.getTime()-beginDate.getTime();<br>
return (int)((age/1000)/60/60/24);<br>
}<br>
<br>
My rule:<br>
1.      |       rule &quot;test2&quot;<br>
2.      |           dialect &quot;mvel&quot;<br>
3.      |           when<br>
4.      |               current : Product( supported != &quot;supported&quot; , releaseDate<br>
&lt;= ( (ageInDays(current.releaseDate)&lt;100) ) )<br>
5.      |           then<br>
6.      |               current.setSupported( &quot;supported&quot; );<br>
7.      |               update( current );<br>
8.      |       end<br>
<br>
I am getting error when running test:<br>
<br>
Exception executing ReturnValue constraint<br>
org.drools.rule.ReturnValueRestriction@4219ae2e :<br>
java.lang.IllegalArgumentException: Unable to convert class<br>
java.lang.Boolean to a Date.<br>
<br>
What I am doing wrong here?<br>
<br>
Alternative solution would be to create getAge() function in my POJO,<br>
but are POJOs supposed to have executable code or are they supposed to<br>
be used only for storing fact values?<br>
<br>
Jarno<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" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
</blockquote></div><br>