Hi Vlad,
There is a very basic wiki page on it
(
http://wiki.jboss.org/wiki/Wiki.jsp?page=DecisionTableTemplates
).
In terms of the functionality you mention you have your data having
knowledge of the rule templates whereas the current implementation is such
that the data has no knowledge of the templates. You can apply multiple rule
templates to the same data however (as in
ExternalSpreadsheetCompilerIntegrationTest):
final ExternalSpreadsheetCompiler converter = new
ExternalSpreadsheetCompiler();
final List listeners = new ArrayList();
ExternalSheetListener l1 = new ExternalSheetListener(10, 3,
"/templates/test_pricing1.drl");
listeners.add(l1);
ExternalSheetListener l2 = new ExternalSheetListener(30, 3,
"/templates/test_pricing2.drl");
listeners.add(l2);
converter.compile("/data/ExamplePolicyPricing.xls", InputType.XLS,
listeners);
This example assumes two sets of data in the one sheet, however they could
both have been applied to the same set (ie. the second listener could also
point to row 10, column 3). Would that accomplish what you need?
Steve
On 2/20/07, Olenin, Vladimir (MOH) <Vladimir.Olenin(a)moh.gov.on.ca > wrote:
Thanks, Steve. That really seems to do the trick. Are there any wiki
pages on this new functionality? Or for now one should refer to the source
code & unit tests?
I also wonder what other functionality the new templating engine has? Is
it possible to define different 'types' of rules in the same 'rule'
template
and refer to these types from 'Excel' data fields (eg, have one column per
rule where you can refer 'rule template XXX' from drl file; this value can
override some default value for example). If not, how such situations can be
handled? (ie, when one needs several type of rules driven by the same data?)
Thanks,
Vlad
------------------------------
*From:* rules-users-bounces(a)lists.jboss.org [mailto:
rules-users-bounces(a)lists.jboss.org] *On Behalf Of *Steven Williams
*Sent:* 17 February 2007 04:25
*To:* Rules Users List
*Subject:* Re: [rules-users] conditional insert of 'exist' or 'not'
keywords in decision table s
Hi Vlad,
With the new decision table handling you could use the following template
to do it:
Given a table as follows:
exists, 21, 25
, comprehensive
not, 64, 100
exists, comprehensive
the following template does what you want:
template header
driver[]
policy[]
package This_is_a_ruleset;
#generated from Decision Table
import example.model.Driver;
import example.model.Policy ;
template "Driver policy"
driver
policy
rule "driver policy $row.rowNumber$"
when
$driver0$
Driver(age >= $driver1$, age <= $driver2$)
$policy0$
Policy(type = "$policy1$")
then
//do smth
end
end template
the code to call it was:
public void testColumnKeywords() {
final ExternalSpreadsheetCompiler converter = new
ExternalSpreadsheetCompiler();
final String drl = converter.compile( "/data/TestWorkbook.xls",
"/templates/test_keywords.drl",
InputType.XLS, 1, 1 ); // DT
starts at Row 1, Column 1
System.out.println(drl);
}
cheers
Steve
On 2/17/07, *Olenin, Vladimir (MOH)* < Vladimir.Olenin(a)moh.gov.on.ca>
wrote:
Hi,
I wonder if it's possible to pass some Column keywords as parameters from
template values, eg:
Condition
Condition
$1 Driver
$1 Policy
age >= $2, age <= $3
type
exists, 21, 25
, comprehensive
not, 64, 100
exists, comprehensive
I'd expect the above table would generate two rules like:
Rule 1
When
exists Driver (age >= 21, age <= 25)
Policy(type == "comprehensive")
Then
// do smth
End
Rule 2
When
not Driver (age >= 64, age <= 100)
exists Policy (type == "comprehensive")
then
// do smth
End
The above example is just a mock up derived from one of the examples in
the documentation to demonstrate the point (meaning, the rules themselves
might not make sense from business point of view or can be implemented
differently for this particular case).
So, any way to achieve this? Whether in current version (3.0.x) or the
upcoming release (3.2)
Thanks,
Vlad
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
Steven Williams
Supervising Consultant
Object Consulting
Office: 8615 4500 Mob: 0439 898 668 Fax: 8615 4501
stevenw(a)objectconsulting.com.au
www.objectconsulting.com.au
consulting | development | training | support
our experience makes the difference
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
Steven Williams
Supervising Consultant
Object Consulting
Office: 8615 4500 Mob: 0439 898 668 Fax: 8615 4501
stevenw(a)objectconsulting.com.au
www.objectconsulting.com.au
consulting | development | training | support
our experience makes the difference