Smart Templates

Hi,

I'm trying to get a template (.drt) to generate 2 rules (.drl) from 2 datasets but by doing a little bit more work than direct substitution.

 

Data (service,value):

DC, AAA

DC, XYZ

 

Idea for the template - if value is of type1 then create Type object with 'Type1' as name. If value is of type2, use 'Type2' as name:

 

rule "DC_@{row.rowNumber}"

when

    Service(name == "DC")   

then

    Type.setName(eval(Service.getType(@{value})))

    Type.setAtt(0,@{value})

end template

 

eval(Service.getType(@{arg0})) should take 'AAA' or 'XYZ' etc as arg and return a string Type1/Type2 etc.

 

This would then generate 2 rules that look like:

 

rule "DC_0"

when

    Service(name == "DC", value == "AAA")   

then

    Type.setName("Type1")

    Type.setAtt(0,"AAA")

 

rule "DC_1"

when

    Service(name == "DC", value == "XYZ")   

then

    Type.setName("Type2")

    Type.setAtt(0,"XYZ")

 

 

...is this possible at all? I'm trying to avoid the eval step being done in the actual rule (.drl) .

 

Thanks

Chris