[rules-users] facts custom sort

Wolfgang Laun wolfgang.laun at gmail.com
Sat Nov 26 12:56:54 EST 2011


You can have a rule fire repeatedly according to a numeric fact property:

rule "Rule 03"
salience (- $intValue)
when
       $number: Number( $intValue: intValue )
then
       System.out.println("Number found with value: "+$intValue() );
end

You can't do this with a query. Use some Java method for sorting the
collection of facts.

Both techniques (not/retract and salience) result in algorithms that
perform considerably worse than the best custom sort algorithms.

-W

On 26 November 2011 18:37, Syargey <Syargey at tut.by> wrote:

> Hello all,
>
> I experienced a problem I can't solve.
>
> After rules firing I got a number of facts of certain type.
>
> I would like to get a collection of facts sorted by custom field with a
> query.
>
> Drools guide proposes to sort facts by a rule like:
>
> rule "Rule 03"
> when
>        $number : Number( )
>        not Number( intValue < $number.intValue )
> then
>        System.out.println("Number found with value: "+$number.intValue() );
>        retract( $number );
> end
>
> But it doesn't suit me:
> 1) I can't retract facts from session
> 2) I need to get sorted collection with a query which doesn't have 'then'
> part.
>
> Is there any method to get custom sorted collection with a query?
>
>
>
> --
> View this message in context:
> http://drools.46999.n3.nabble.com/facts-custom-sort-tp3538410p3538410.html
> Sent from the Drools: User forum mailing list archive at Nabble.com.
> _______________________________________________
> 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/20111126/97aab62e/attachment.html 


More information about the rules-users mailing list