afaik that's not possible.
Basically the templates replace the value for @{param} with param.toString() (that's
why your approach is not working).
Regarding your concerns about performance: the templates are translated into rules once
-> afterwards there is no connection between the variables and the rules in
KnowledgeBase.
You could instead write a module that replaces the @{param} fields with values from your
arrayList within your rules (e.g. loading the rules from a file into string, then use
regex or whatever suits you best).
Then just insert the rules somewhat like this:
String myRules = "rule "test" when @{arr[1]}>x... then ... ";
String parameterizedRules =MyTemplateBuilder.build(myRules, yourParams);
Reader rdr = new StringReader(parameterizedRules);
kbuilder.add(ResourceFactory.newReaderResource(rdr), ResourceType.DRL);
- Alex
On 25 Nov 2013, at 11:43, petert <peter.j.troelsen(a)gmail.com> wrote:
I am working on a project, using templates to generate all my rules.
I have
one problem though, I wanna parse my arguments to the template as a
ArrayList, and do somthing like this:
template header
ruleId
args
package dk.prks
import com.poc.entity.Bill;
import com.poc.entity.BillLine;
import com.poc.entity.Description;
import java.util.ArrayList;
template "01"
rule "@{ruleId}_(a){row.rowNumber}"
dialect "mvel"
when
$bill : Bill ($line : lines) and
BillLine( service == @{args.get(0)}, $lineNr : lineNr) from $line and
BillLine( service == @{args.get(1)}, lineNr < $lineNr) from $line
then
$bill.setColor(1);
end
end template
However, this is not possible. Furthermore I want to stretch that
performance is an issue, and i want the generated file to only contain the
values from the list, and not make any look ups in the array when running my
rules
--
View this message in context:
http://drools.46999.n3.nabble.com/Drools-templates-header-arguments-tp402...
Sent from the Drools: User forum mailing list archive at
Nabble.com.
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users