I want to build a excel decision table to implement the logic described as
the following drl script:
======
global pricebook.PricingResult result;
rule "pricing"
when
$so : SalesOrder( customer.name=="customer1", from == "location1",
to
=="location2")
*$sol : SalesOrderLine($sol.count >= 0, $sol.count < 100) from $so.lines
*
then
result.setPricingMode("A");
result.setUnitPrice(300.0f);
end
======
The java model for the script above is something like this:
======
class SalesOrder{
...
List<SalesOrderLine> lines;
...
}
======
In the excel decision table, I defined variables with the following text in
excel cells:
======
$so : SalesOrder
*$sol : SalesOrderLine ( ) from so.lines*
...
======
The CONDITION column is defined as :* $sol.count >= $1, $sol.count < $2*
The decision table is translated into the following drl script:
global pricebook.PricingResult result;
rule "pricing"
when
$so : SalesOrder( customer.name=="customer1", from == "location1",
to
=="location2")
* $sol : SalesOrderLine from $so.lines($sol.count >= 0, $sol.count < 100)
*
then
result.setPricingMode("A");
result.setUnitPrice(300.0f);
end
We can see that* "$soi : SalesOrderLine ( ) from so.lines"* in the excel
decision table is translated into* "$sol : SalesOrderLine from
$so.lines($sol.count >= 0, $sol.count < 100)" * instead of *"$sol :
SalesOrderLine($sol.count >= 0, $sol.count < 100) from $so.lines"*, which
causes an error.
My question is, how to write the variable definition of SalesOrderLine in
excel so that drools can translate it into something like "$sol :
SalesOrderLine($sol.count >= 0, $sol.count < 100) from $so.lines " ?
Any ideas?
Thanks in advance...