Hello folk. I am trying to work out the best way to use drools for an application where I have :
- A domain of @30 fairly complex policy rules each of which has a Boolean outcome (Fired or Not) - A domain of @100 "audiences" who apply different subsets of the policy rules and make their own "Decision" based on the policies that have fired. I am very keen: a) NOT to duplicate the Policy rules themselves b) To make mapping of audience & policy to decision as simple as possible - ideally through a table c) To keep all decision data in the same repository for uniform version control My thinking is that I'd have a flow, first execute the policy rules as one group and save results in working memory and then use these results in an audience-specific way. I get stuck at this second step as I cannot find a compact way to handle the mapping of Audience/Policy to Decision. Logically what I need to achieve is as follows. E.g. for audience 1, if policy 1 fires, we decide to refer. (If more than one has fired, decline trumps refer). Audience policy1 policy2 policy3 policy4 ... audience1 refer refer decline (n/a) audience2 (n/a) decline decline (n/a) ... Clearly I could do this outside Guvnor but then the UI would be outside Guvnor & the data would be separated from the drools jcr repo. I hoped to achieve a rule table as follows (fairly compact) but this would require DISJUNCTION between cols Audience policy1 policy2 policy3 policy4 Action audience1 true true refer audience1 true decline audience2 true true decline If I broke out a rule for every combination of audience and policy this would get very long. Any smart ideas? Thanks in advance to anyone who spares the time to think on this one! Rich PS. I attempted to post this about 3 hours ago but believe I made a mistake. Sorry if it comes through as a duplicate
_______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
