Hi Wolfgang:
Thanks for your help.
Is it possible to explain little bit more on the Item class and rule C1.
Not able to comprehend the complete solution.
Thanks,
cabear
2009/11/8 Wolfgang Laun <wolfgang.laun(a)gmail.com>
Another proposal, with perhaps more emphasize on
"rulishness".
Given
class Item { T1 s1;... Tn sn;... }
let's add
enum Criterium { C1, C2,... Cn; }
class Request { EnumSet<Criterium> criteria; HashSet<Item> results; }
To launch a request, insert a Request object with an appropriate setting
for criteria. Then, match all Item facts against rules, one for each Ci:
rule "Check C1"
when
$request : Request( criteria contains Criterium.C1 )
$item : Item( s1 <op> <value> ) # the constraint defining
"valid"
then
$request.getResults().add( $item ); # no modify!
end
//...same for C2 ... Cn
rule "Return results"
salience -100
when
$request : Request()
then
... send $request.getResults() back to User
retract( $request );
end
You could have two rules here, one testing for success (getResults().size()
== getCriteria().size()), the other one firing for failure, but it might be
preferable to handle it in the presentation layer.
Although I've used similar approaches, the code here is just off the cuff.
-W
2009/11/8 Wishing Carebear <wishing.carebear(a)gmail.com>
> Hello:
> There are n selection criteria from s1 .. sn for each item i1.. in. Each
> item can have a subset of criteria which applies to them.
>
> The end user, can choose a subset of criteria like c1 and c5 and only the
> item that has c1 and c5 valid should be returned. For example: if item i1
> and i2 have criterias valid for c1, c2, c5, c6, c8 since the request is only
> for criteria c1 and c5, i1 and i2 must be returned.
>
> Is it possible to write a rule using drools for this requirement.
>
> Thanks for your help and time,
> cabear
>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-users
>
>
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users