Michael,
Just an important note, that sometimes is overlooked by users:
*** Inline evals and return value predicates MUST be time constant ***
It means that an inline eval() must return the exact same value if it
is
executed now, or in 5 minutes from now, or whatever. So, it is not
advisable
for you to write the constraint as you did.
The correct way would be to use a top level eval() that does not suffer
from the same restriction:
MyFact( $value : value )
eval( $value.before(DateHelper.getModifiedDate(-6, "MONTHS")))
The use of a non-time-constant inline eval (or return value
predicates)
causes unpredictable behavior in the engine.
[]s
Edson
2008/5/7 Michael B. <michael.bain(a)mckesson.com>:
>
> I dont know if this is still outstanding since the original post seems to
> have disappeared, but this is what I did during my proof of concept that
> I
> am going through:
>
> In a helper class (i.e. DateHelper) I had this method:
>
> public static Date getModifiedDate(int amount, String unit) {
> Calendar cal = Calendar.getInstance();
> cal.setTime(getNow());
> BusinessObject.stripTime(cal);
>
> int calUnit = Calendar.DAY_OF_YEAR;
>
> if (UNIT_MONTHS.equals(unit))
> calUnit = Calendar.MONTH;
> else if (UNIT_YEARS.equals(unit))
> calUnit = Calendar.YEAR;
>
> cal.add(calUnit, amount);
> return cal.getTime();
> }
>
> Then in my rule it would be like this:
>
> MyFact( eval( value.before(DateHelper.getModifiedDate(-6, "MONTHS"))))
>
> Hope that helps.
>
> -----
> Drools Noob since 5/2008
> --
> View this message in context:
>
http://www.nabble.com/Re%3A-Date-arithmetic-in--%C3%A2%C2%80%C2%9Cwhen%C3...
> Sent from the drools - user mailing list archive at
Nabble.com.
>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-users
>
--
Edson Tirelli
JBoss Drools Core Development
Office: +55 11 3529-6000
Mobile: +55 11 9287-5646
JBoss, a division of Red Hat @
www.jboss.com
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users