コード例 #1
0
ファイル: RuleRenderTest.java プロジェクト: Zillode/drools
  @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);
 }
コード例 #3
0
ファイル: AbstractDRLEmitter.java プロジェクト: adinn/drools
  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;
  }