in drools-benchmarks-parent/drools-benchmarks-common/src/main/java/org/drools/benchmarks/common/providers/dmn/DecisionTablesDMNProvider.java [32:140]
public String getDMN(int numberOfElements) {
final StringBuilder dmnBuilder = new StringBuilder();
dmnBuilder.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
dmnBuilder.append("<definitions id=\"decision-table-id\" name=\"decision-table-name\"\n");
dmnBuilder.append(" namespace=\"https://github.com/kiegroup/kie-dmn\"\n");
dmnBuilder.append("xmlns=\"http://www.omg.org/spec/DMN/20180521/MODEL/\" ");
dmnBuilder.append("xmlns:triso=\"http://www.trisotech.com/2015/triso/modeling\" ");
dmnBuilder.append("xmlns:dmndi=\"http://www.omg.org/spec/DMN/20180521/DMNDI/\" ");
dmnBuilder.append("xmlns:di=\"http://www.omg.org/spec/DMN/20180521/DI/\" ");
dmnBuilder.append("xmlns:dc=\"http://www.omg.org/spec/DMN/20180521/DC/\" ");
dmnBuilder.append("xmlns:trisodmn=\"http://www.trisotech.com/2016/triso/dmn\" ");
dmnBuilder.append("xmlns:feel=\"http://www.omg.org/spec/DMN/20180521/FEEL/\" ");
dmnBuilder.append("xmlns:tc=\"http://www.omg.org/spec/DMN/20160719/testcase\" ");
dmnBuilder.append("xmlns:drools=\"http://www.drools.org/kie/dmn/1.1\" ");
dmnBuilder.append("xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" ");
dmnBuilder.append("xmlns:rss=\"http://purl.org/rss/2.0/\" ");
dmnBuilder.append(" > \n");
for (int i = 0; i < numberOfElements; i++) {
dmnBuilder.append(" <!-- " + i + " -->\n");
dmnBuilder.append(" <inputData id=\"leftInput_" + i + "\" name=\"leftInput_" + i + "\">\n");
dmnBuilder.append(" <variable name=\"leftInput_" + i + "\" id=\"leftInput_" + i + "var\" typeRef=\"string\"/>\n");
dmnBuilder.append(" </inputData>\n");
dmnBuilder.append(" <inputData id=\"rightInput_" + i + "\" name=\"rightInput_" + i + "\">\n");
dmnBuilder.append(" <variable name=\"rightInput_" + i + "\" id=\"rightInput_" + i + "var\" typeRef=\"string\"/>\n");
dmnBuilder.append(" </inputData>\n");
dmnBuilder.append(" <decision id=\"myDecision_" + i + "\" name=\"myDecision_" + i + "\">\n");
dmnBuilder.append(" <variable name=\"myDecision_" + i + "\" id=\"myDecision_" + i + "var\" typeRef=\"string\"/>\n");
dmnBuilder.append(" <informationRequirement >\n");
dmnBuilder.append(" <requiredInput href=\"#leftInput_" + i + "\"/>\n");
dmnBuilder.append(" </informationRequirement>\n");
dmnBuilder.append(" <informationRequirement >\n");
dmnBuilder.append(" <requiredInput href=\"#rightInput_" + i + "\"/>\n");
dmnBuilder.append(" </informationRequirement>\n");
dmnBuilder.append(" <decisionTable hitPolicy=\"UNIQUE\" outputLabel=\"myDecision_" + i + "\" typeRef=\"string\">\n");
dmnBuilder.append(" <input >\n");
dmnBuilder.append(" <inputExpression typeRef=\"string\">\n");
dmnBuilder.append(" <text>leftInput_" + i + "</text>\n");
dmnBuilder.append(" </inputExpression>\n");
dmnBuilder.append(" </input>\n");
dmnBuilder.append(" <input >\n");
dmnBuilder.append(" <inputExpression typeRef=\"string\">\n");
dmnBuilder.append(" <text>rightInput_" + i + "</text>\n");
dmnBuilder.append(" </inputExpression>\n");
dmnBuilder.append(" </input>\n");
dmnBuilder.append(" <output />\n");
dmnBuilder.append(" <annotation name=\"Description\"/>\n");
dmnBuilder.append(" <rule >\n");
dmnBuilder.append(" <inputEntry >\n");
dmnBuilder.append(" <text>\"a\"</text>\n");
dmnBuilder.append(" </inputEntry>\n");
dmnBuilder.append(" <inputEntry >\n");
dmnBuilder.append(" <text>-</text>\n");
dmnBuilder.append(" </inputEntry>\n");
dmnBuilder.append(" <outputEntry >\n");
dmnBuilder.append(" <text>\"left A\"</text>\n");
dmnBuilder.append(" </outputEntry>\n");
dmnBuilder.append(" <annotationEntry>\n");
dmnBuilder.append(" <text/>\n");
dmnBuilder.append(" </annotationEntry>\n");
dmnBuilder.append(" </rule>\n");
dmnBuilder.append(" <rule >\n");
dmnBuilder.append(" <inputEntry >\n");
dmnBuilder.append(" <text>-</text>\n");
dmnBuilder.append(" </inputEntry>\n");
dmnBuilder.append(" <inputEntry >\n");
dmnBuilder.append(" <text>\"a\"</text>\n");
dmnBuilder.append(" </inputEntry>\n");
dmnBuilder.append(" <outputEntry >\n");
dmnBuilder.append(" <text>\"right A\"</text>\n");
dmnBuilder.append(" </outputEntry>\n");
dmnBuilder.append(" <annotationEntry>\n");
dmnBuilder.append(" <text/>\n");
dmnBuilder.append(" </annotationEntry>\n");
dmnBuilder.append(" </rule>\n");
dmnBuilder.append(" <rule >\n");
dmnBuilder.append(" <inputEntry >\n");
dmnBuilder.append(" <text>not(\"a\")</text>\n");
dmnBuilder.append(" </inputEntry>\n");
dmnBuilder.append(" <inputEntry >\n");
dmnBuilder.append(" <text>not(\"a\")</text>\n");
dmnBuilder.append(" </inputEntry>\n");
dmnBuilder.append(" <outputEntry >\n");
dmnBuilder.append(" <text>\"A not found\"</text>\n");
dmnBuilder.append(" </outputEntry>\n");
dmnBuilder.append(" <annotationEntry>\n");
dmnBuilder.append(" <text/>\n");
dmnBuilder.append(" </annotationEntry>\n");
dmnBuilder.append(" </rule>\n");
dmnBuilder.append(" </decisionTable>\n");
dmnBuilder.append(" </decision>\n");
dmnBuilder.append(" <decision id=\"layer_myDecision_" + i + "\" name=\"layer_myDecision_" + i + "\">\n");
dmnBuilder.append(" <variable name=\"layer_myDecision_" + i + "\" id=\"layer_myDecision_" + i + "var\" typeRef=\"string\"/>\n");
dmnBuilder.append(" <informationRequirement >\n");
dmnBuilder.append(" <requiredDecision href=\"#myDecision_" + i + "\"/>\n");
dmnBuilder.append(" </informationRequirement>\n");
dmnBuilder.append(" <literalExpression typeRef=\"string\" >\n");
dmnBuilder.append(" <text>\"decision was: \" + myDecision_" + i + "</text>\n");
dmnBuilder.append(" </literalExpression>\n");
dmnBuilder.append(" </decision>");
}
dmnBuilder.append("</definitions>");
return dmnBuilder.toString();
}