use of org.drools.template.model.Rule in project drools by kiegroup.
the class DefaultTemplateRuleBase method createTemplateRule.
private void createTemplateRule(org.drools.template.model.Package p, int index, RuleTemplate template) {
Rule rule = new Rule(template.getName(), null, index);
Condition condition = new Condition();
condition.setSnippet("r : Row()");
rule.addCondition(condition);
createColumnConditions(template, rule);
rule.addConsequence(createConsequence(template));
p.addRule(rule);
}
use of org.drools.template.model.Rule in project drools by kiegroup.
the class RuleMatrixSheetListener method createRule.
private void createRule(final int row, final int column, final String value) {
final Consequence consequence = createConsequence(value);
Rule rule = firstRule;
if (rule == null) {
rule = new Rule("rule_" + row + "_" + column, null, row);
addRule(rule);
} else {
firstRule = null;
rule.setName("rule_" + row + "_" + column);
}
rule.setAgendaGroup(this._currentAgendaGroup);
rule.addCondition(this._currentPrecondition);
rule.addCondition(_currentVerticalCondition);
rule.addCondition((Condition) _horizontalConditions.get(column - (ruleTableColumn + 1)));
rule.addConsequence(consequence);
}
use of org.drools.template.model.Rule in project drools by kiegroup.
the class RuleWorksheetParseTest method testWorkbookParse.
@Test
public void testWorkbookParse() throws Exception {
final InputStream stream = RuleWorksheetParseTest.class.getResourceAsStream("/data/BasicWorkbook.xls");
final RuleSheetListener listener = getRuleSheetListener(stream);
final Package ruleset = listener.getRuleSet();
assertNotNull(ruleset);
final Rule firstRule = (Rule) ruleset.getRules().get(0);
assertNotNull(firstRule.getSalience());
assertTrue(Integer.parseInt(firstRule.getSalience()) > 0);
// System.out.println(ruleset.toXML());
assertEquals("myruleset", ruleset.getName());
assertEquals(3, ruleset.getImports().size());
assertEquals(6, ruleset.getRules().size());
// check imports
Import imp = (Import) ruleset.getImports().get(0);
assertEquals("blah.class1", imp.getClassName());
imp = (Import) ruleset.getImports().get(1);
assertEquals("blah.class2", imp.getClassName());
imp = (Import) ruleset.getImports().get(2);
assertEquals("lah.di.dah", imp.getClassName());
// check rules
Rule rule = (Rule) ruleset.getRules().get(0);
Condition cond = (Condition) rule.getConditions().get(0);
assertEquals("Foo(myObject.getColour().equals(red), myObject.size () > 12\\\")", cond.getSnippet());
Consequence cons = (Consequence) rule.getConsequences().get(0);
assertNotNull(cons);
assertEquals("myObject.setIsValid(Y);", cons.getSnippet());
rule = (Rule) ruleset.getRules().get(5);
cond = (Condition) rule.getConditions().get(1);
assertEquals("myObject.size () > 7", cond.getSnippet());
cons = (Consequence) rule.getConsequences().get(0);
assertEquals("myObject.setIsValid(10-Jul-1974)", cons.getSnippet());
}
use of org.drools.template.model.Rule in project drools by kiegroup.
the class RuleWorksheetParseTest method testNumericDisabled.
@Test
public void testNumericDisabled() throws Exception {
// DROOLS-1378
final InputStream stream = RuleWorksheetParseTest.class.getResourceAsStream("/data/NumericDisabled.xls");
final RuleSheetListener listener = getRuleSheetListener(stream);
final Package ruleset = listener.getRuleSet();
assertNotNull(ruleset);
DRLOutput dout = new DRLOutput();
ruleset.renderDRL(dout);
String drl = dout.getDRL();
System.out.println(drl);
// check rules
Rule rule = (Rule) ruleset.getRules().get(0);
Condition cond = (Condition) rule.getConditions().get(0);
assertEquals("Cheese(price == 6600)", cond.getSnippet());
}
use of org.drools.template.model.Rule in project drools by kiegroup.
the class RuleWorksheetParseTest method doComplexWorksheetMissingConditions.
private void doComplexWorksheetMissingConditions() throws IOException {
final InputStream stream = RuleWorksheetParseTest.class.getResourceAsStream("/data/ComplexWorkbook.xls");
final RuleSheetListener listener = getRuleSheetListener(stream);
final Package ruleset = listener.getRuleSet();
assertEquals(6, ruleset.getRules().size());
assertEquals(0, ruleset.getImports().size());
Rule rule = (Rule) ruleset.getRules().get(0);
assertEquals(3, rule.getConditions().size());
assertEquals(2, rule.getConsequences().size());
final Consequence cons = (Consequence) rule.getConsequences().get(1);
assertEquals("myObject.setIsValid(1, 2)", cons.getSnippet());
final Condition con = (Condition) rule.getConditions().get(2);
assertEquals("myObject.size() < $3.00", con.getSnippet());
rule = (Rule) ruleset.getRules().get(4);
// this should have less conditions
assertEquals(1, rule.getConditions().size());
rule = (Rule) ruleset.getRules().get(5);
assertEquals(2, rule.getConditions().size());
assertEquals(1, rule.getConsequences().size());
}
Aggregations