Amazing! thanks a lot Wolfgang! Kind regards
On Wed, Mar 12, 2014 at 10:27 AM, Wolfgang Laun <wolfgang.l...@gmail.com>wrote: > You can create a rule with a timer to update Current with the required > frequency. > > rule "set current" > timer (int: 1s 1s) > no-loop > when > $c: Current() > then > modify( $c ){ setXYZ(whatever) } > end > > > > On 11/03/2014, Ioannis Christodoulou <io.chris...@gmail.com> wrote: > > Thanks a lot for the prompt reply and the detailed example! > > It took me some time but I managed to convert it to a working xls > decision > > table. > > > > Now, I wanted to figure out how to automatically update the Current > object > > regularly, in order to re-calculate the rules over time. > > My application is a java ee one. Would creating a @schedule on a > singleton > > method be a good solution, or is there another better advice for it? > > > > Thanks again! > > > > Ευχαριστώ πολύ, > > Ιωάννης Χριστοδούλου > > > > > > On Tue, Mar 11, 2014 at 8:50 PM, Wolfgang Laun > > <wolfgang.l...@gmail.com>wrote: > > > >> As you have Level with a field date, you can access that point in time > in > >> milliseconds, using getTimeInMillis(). For the current time, you might > >> insert an object of class Current with a member now of class Calendar. > >> > >> rule closest > >> when > >> Current( $now: now ) > >> $level: Level( $value == 2, $date: date ) > >> not $x: Level( Math.abs( $x.getDate().getTimeInMillis() - > >> $now.getTimeInMillis() ) < Math.abs( $date.getTimeInMillis() - > >> $now.getTimeInMillis() ) ) > >> then > >> // $level is the Level fact closest to Current with a level of 2 > >> end > >> > >> Untested. If the long expression gives you trouble, try enclosing it in > >> eval(...). > >> -W > >> > >> > >> On 11 March 2014 18:14, JChrist <io.chris...@gmail.com> wrote: > >> > >>> Hello everyone, > >>> I was messing with drools v6.0.1.Final the past week and I have not > been > >>> able to completely understand how to integrate the rule engine to my > >>> specification. > >>> > >>> For the needs of my project, I want to regularly insert some data in > the > >>> engine, similar to the following: > >>> class Level { double value;Calendar date; } > >>> this class contains some values at specific time points (both in the > >>> past > >>> and in the future). > >>> > >>> I would like to be able create a decision table based on the "current" > >>> time > >>> (plus or minus a variable offset) and the value of the closest Level to > >>> that > >>> time point. > >>> > >>> For example, assuming it is '2014-11-03 19:10:00' and the level objects > >>> in > >>> the session currently are: > >>> '1.0 2014-11-03 18:00:00' and '2.0 2014-11-03 19:00:00', > >>> > >>> I would want a rule to say that if current level value is 2.0 then do > >>> some > >>> stuff and it would make a match. > >>> > >>> I would really appreciate any help on how to overcome this issue, as > >>> well > >>> as > >>> any good examples/tutorials regarding this. > >>> > >>> Kind regards. > >>> > >>> > >>> > >>> > >>> -- > >>> View this message in context: > >>> > http://drools.46999.n3.nabble.com/Temporal-rules-in-decision-table-tp4028638.html > >>> Sent from the Drools: User forum mailing list archive at Nabble.com. > >>> _______________________________________________ > >>> rules-users mailing list > >>> rules-users@lists.jboss.org > >>> https://lists.jboss.org/mailman/listinfo/rules-users > >>> > >> > >> > >> _______________________________________________ > >> rules-users mailing list > >> rules-users@lists.jboss.org > >> https://lists.jboss.org/mailman/listinfo/rules-users > >> > > > > _______________________________________________ > rules-users mailing list > rules-users@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users >
_______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users