@Test public void testRuleRender() { final Rule rule = new Rule("myrule", new Integer(42), 1); rule.setComment("rule comments"); final Condition cond = new Condition(); cond.setComment("cond comment"); cond.setSnippet("cond snippet"); rule.addCondition(cond); final Consequence cons = new Consequence(); cons.setComment("cons comment"); cons.setSnippet("cons snippet;"); rule.addConsequence(cons); rule.addConsequence(cons); final DRLOutput out = new DRLOutput(); rule.renderDRL(out); final String drl = out.getDRL(); assertNotNull(drl); assertTrue(drl.indexOf("cond snippet") != -1); assertTrue(drl.indexOf("cons snippet") != -1); assertTrue(drl.indexOf("salience 42") != -1); assertTrue(drl.indexOf("salience 42") < drl.indexOf("when")); assertTrue(drl.indexOf("cond snippet") < drl.indexOf("then")); assertTrue(drl.indexOf("cons snippet;") > drl.indexOf("then")); assertTrue(drl.indexOf("rule") != -1); assertTrue(drl.indexOf("end") > drl.indexOf("rule ")); assertTrue(drl.indexOf("//rule comments") > -1); }
/** Test basic rendering and parsing of arguments */ public void testDurationRender() { final Duration duration = new Duration(); duration.setSnippet("1234"); final DRLOutput out = new DRLOutput(); duration.renderDRL(out); final String res = out.getDRL(); System.out.println(res); assertEquals("\tduration 1234\n", res); }
public String emitDRL(PMML pmml) { List<Rule> ruleList = createRuleList(pmml); String pkgName = ScorecardPMMLUtils.getExtensionValue( pmml.getHeader().getExtensions(), PMMLExtensionNames.SCORECARD_PACKAGE); org.drools.template.model.Package aPackage = new org.drools.template.model.Package(pkgName); DRLOutput drlOutput = new DRLOutput(); for (Rule rule : ruleList) { aPackage.addRule(rule); } addDeclaredTypes(pmml, aPackage); addImports(pmml, aPackage); addGlobals(pmml, aPackage); internalEmitDRL(pmml, ruleList, aPackage); aPackage.renderDRL(drlOutput); String drl = drlOutput.getDRL(); return drl; }