Load the data from a DB and instantiate Java objects with that. Then generate the rule set using a template. => OK, in this case, I would call the function getType() during the instantiation of the java objects.
On the manageability topic: I have no knowledge of your data model, but I can indeed imagine cases where a decision table would be less manageable than a database. Regards, Frank ChrisMu wrote: > > Ideally: > Load the data from a DB and instantiate Java objects with that. Then > generate the rule set using a template. > > The DB data would provide the list of permitted values per field. > The rule results are generated based on the inputs. > > This avoids users having to enter one rule for every single currency and > commodity type (using the example below) when there are only 2 underlying > 'rules'. > If another currency is then added to the data in the DB, the new rule will > be automatically generated. > > ________________________________ > > From: FrankVhh [via Drools] > [mailto:ml-node+3011148-1318721408-404...@n3.nabble.com] > Sent: 01 June 2011 15:57 > To: Mullard, Christopher > Subject: RE: [rules-users] Smart Templates > > > Hi, > > Basically, you have 2 options. > > 1) You call the function getType() from your .drl file. The function will > be executed at runtime. > > header > name > value > > TEMPLATE > WHEN > blabla > THEN > $type.setName($service.getType("@{value}")); > > 2) Execute the function before you compile your rules with Rule Templates. > I.e. make sure your objects have an attribute whose value will be set by > getType() and use this value in the Template. > > header > name > value > type > > TEMPLATE > WHEN > blabla > THEN > $type.setName("@{type}"); > > Hope this helps. > > Btw, am I understanding it correctly that you do not want to use a > Decision Table because you are worried about manageability of your > ruleset? And, in stead, you want to create rules directly from Java > objects, using templates. If this is correct, could you tell me how you > are going to manage these objects? > > Regards, > Frank > > > > > ChrisMu wrote: > Sorry - you're losing me - could you give an example please? > > Thanks > > ________________________________ > > From: Wolfgang Laun-2 [via Drools] [mailto:[hidden email]] > Sent: 01 June 2011 15:25 > To: Mullard, Christopher > Subject: Re: [rules-users] Smart Templates > > > It's just like a Java static method. Call JAva code if you don't want to > put it all into DRL function, or import from Java in the first place. Both > "import" and "function" can be used in spreadsheets. > -W > > > > 2011/6/1 ChrisMu <[hidden email]> > > > Agreed, but this was just an example - if the function required > something more complicated - say a DB lookup, could it be done? > > ________________________________ > > From: Wolfgang Laun-2 [via Drools] [mailto:[hidden email] > <http://user/SendEmail.jtp?type=node&node=3010490&i=0> ] > Sent: 01 June 2011 12:40 > To: Mullard, Christopher > Subject: Re: [rules-users] Smart Templates > > > If there are just 2 types (IRDELTA, COMLEASEDELTA) you can add a > function that computes this from the 3-letter name. > -W > > > > 2011/6/1 ChrisMu <[hidden email] > <http://user/SendEmail.jtp?type=node&node=3010275&i=0> > > > > Possibly. Let me try again with what I'm trying to > achieve. > Given this excerpt from a decision table: > > > > Basically I want to be able to specify a template that > says 'If Arg0 is a currency, output RiskType IRDELTA (and currency), if > Arg0 is a commodity (begins with 'X') then output RiskType COMLEASEDELTA > (and commodity). > > When fed with data, this would generate the rules: > > when Arg0 = USD, output RiskType IRDELTA, USD > when Arg0 = GBP, output RiskType IRDELTA, GBP > etc > when Arg0 = XAU, output RiskType COMLEASEDELTA, XAU > etc > > In this way theRiskType name is inferred from the data > when the rules are generated. It can be done by explicitly stating all > possible combinations as in the decision table above but that gets tedious > quickly. I wanted to have a more general template that could generate all > the specific rules instances. > > Does that make more sense? > > Thanks > Chris > > > ________________________________ > > From: Wolfgang Laun-2 [via Drools] [mailto:[hidden > email] > <http://user/SendEmail.jtp?type=node&node=3010119&i=0> ] > Sent: 01 June 2011 11:21 > To: Mullard, Christopher > Subject: Re: [rules-users] Smart Templates > > > I don't want to confuse you, but have you considered not > using templates at all? If you can generate N rules from N objects > containing different literals for matching a fact or for updating a fact > field, then you can achieve the same thing with a single rule and > additional facts containing those literal values. > > rule "one 4 all" > when > Â Â Service( $name: name, $value: value ) > Â Â $sb: ServiceBean( name == $name, value == $value ) > then > Â Â # RiskType ... is what? > Â Â ...$value..., ...$sb.getType()... > end > > -W > > > _______________________________________________ > rules-users mailing list > [hidden email] > <http://user/SendEmail.jtp?type=node&node=3010097&i=0> > https://lists.jboss.org/mailman/listinfo/rules-users > > > > ________________________________ > > If you reply to this email, your message will be added > to > the discussion below: > > http://drools.46999.n3.nabble.com/Smart-Templates-tp3006479p3010097.html > To unsubscribe from Smart Templates, click here. > > > > ============================================================================== > > Please access the attached hyperlink for an important > electronic communications disclaimer: > > http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html > > ============================================================================== > > > > > ________________________________ > > View this message in context: RE: [rules-users] Smart > Templates > <http://drools.46999.n3.nabble.com/Smart-Templates-tp3006479p3010119.html> > > Sent from the Drools: User forum mailing list archive > <http://drools.46999.n3.nabble.com/Drools-User-forum-f47000.html> > at Nabble.com. > > _______________________________________________ > rules-users mailing list > [hidden email] > <http://user/SendEmail.jtp?type=node&node=3010275&i=1> > https://lists.jboss.org/mailman/listinfo/rules-users > > > > > > _______________________________________________ > rules-users mailing list > [hidden email] > <http://user/SendEmail.jtp?type=node&node=3010275&i=2> > https://lists.jboss.org/mailman/listinfo/rules-users > > > > ________________________________ > > If you reply to this email, your message will be added to the > discussion below: > > http://drools.46999.n3.nabble.com/Smart-Templates-tp3006479p3010275.html > To unsubscribe from Smart Templates, click here. > > > > ============================================================================== > > Please access the attached hyperlink for an important electronic > communications disclaimer: > http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html > > ============================================================================== > > > > > ________________________________ > > View this message in context: RE: [rules-users] Smart Templates > <http://drools.46999.n3.nabble.com/Smart-Templates-tp3006479p3010490.html> > > Sent from the Drools: User forum mailing list archive > <http://drools.46999.n3.nabble.com/Drools-User-forum-f47000.html> > at Nabble.com. > > _______________________________________________ > rules-users mailing list > [hidden email] > https://lists.jboss.org/mailman/listinfo/rules-users > > > > > > _______________________________________________ > rules-users mailing list > [hidden email] > https://lists.jboss.org/mailman/listinfo/rules-users > > > > ________________________________ > > If you reply to this email, your message will be added to the discussion > below: > > http://drools.46999.n3.nabble.com/Smart-Templates-tp3006479p3010989.html > To unsubscribe from Smart Templates, click here > <http://drools.46999.n3.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3006479&code=Y2hyaXN0b3BoZXIubXVsbGFyZEBjcmVkaXQtc3Vpc3NlLmNvbXwzMDA2NDc5fDE5NzczMDY1MzE=> > . > > > =============================================================================== > > Please access the attached hyperlink for an important electronic > communications disclaimer: > http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html > > =============================================================================== > > > > > ________________________________ > > If you reply to this email, your message will be added to the discussion > below: > http://drools.46999.n3.nabble.com/Smart-Templates-tp3006479p3011148.html > To unsubscribe from Smart Templates, click here > <http://drools.46999.n3.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3006479&code=Y2hyaXN0b3BoZXIubXVsbGFyZEBjcmVkaXQtc3Vpc3NlLmNvbXwzMDA2NDc5fDE5NzczMDY1MzE=> > . > > =============================================================================== > > Please access the attached hyperlink for an important electronic > communications disclaimer: > http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html > =============================================================================== > -- View this message in context: http://drools.46999.n3.nabble.com/Smart-Templates-tp3006479p3011313.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