Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
JBPM-5681 - DMN support for BusinessRuleTask (#746)
- Loading branch information
1 parent
497c491
commit c73c280
Showing
12 changed files
with
1,021 additions
and
38 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
190 changes: 190 additions & 0 deletions
190
jbpm-bpmn2/src/test/resources/dmn/0020-vacation-days.dmn
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,190 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<definitions id="_0020_vacation_days" name="0020-vacation-days" | ||
namespace="https://www.drools.org/kie-dmn" xmlns="http://www.omg.org/spec/DMN/20151101/dmn.xsd" | ||
xmlns:kie="https://www.drools.org/kie-dmn" xmlns:feel="http://www.omg.org/spec/FEEL/20140401"> | ||
|
||
<inputData id="i_Age" name="Age"> | ||
<variable name="Age" typeRef="feel:number" /> | ||
</inputData> | ||
|
||
<inputData id="i_Years_of_Service" name="Years of Service"> | ||
<variable name="Years of Service" typeRef="feel:number" /> | ||
</inputData> | ||
|
||
<decision name="Total Vacation Days" id="d_Total_Vacation_Days"> | ||
<variable name="Total Vacation Days" typeRef="feel:number" /> | ||
<informationRequirement> | ||
<requiredDecision href="#d_Base_Vacation_Days" /> | ||
</informationRequirement> | ||
<informationRequirement> | ||
<requiredDecision href="#d_Extra_days_case_1" /> | ||
</informationRequirement> | ||
<informationRequirement> | ||
<requiredDecision href="#d_Extra_days_case_2" /> | ||
</informationRequirement> | ||
<informationRequirement> | ||
<requiredDecision href="#d_Extra_days_case_3" /> | ||
</informationRequirement> | ||
<literalExpression> | ||
<text>Base Vacation Days + | ||
max( Extra days case 1, Extra days case 3 ) + | ||
Extra days case 2 | ||
</text> | ||
</literalExpression> | ||
</decision> | ||
|
||
<decision name="Extra days case 1" id="d_Extra_days_case_1"> | ||
<variable name="Extra days case 1" typeRef="feel:number" /> | ||
<informationRequirement> | ||
<requiredInput href="#i_Age" /> | ||
</informationRequirement> | ||
<informationRequirement> | ||
<requiredInput href="#i_Years_of_Service" /> | ||
</informationRequirement> | ||
<decisionTable hitPolicy="COLLECT" aggregation="MAX"> | ||
<input id="d_Extra_days_case_1_dt_i_age" label="Age"> | ||
<inputExpression typeRef="feel:number"> | ||
<text>Age</text> | ||
</inputExpression> | ||
</input> | ||
<input id="d_Extra_days_case_1_dt_i_years" label="Years of Service"> | ||
<inputExpression typeRef="feel:number"> | ||
<text>Years of Service</text> | ||
</inputExpression> | ||
</input> | ||
<output id="d_Extra_days_case_1_dt_o" label="Extra days"> | ||
<defaultOutputEntry> | ||
<text>0</text> | ||
</defaultOutputEntry> | ||
</output> | ||
<rule id="d_Extra_days_case_1_dt_r1"> | ||
<inputEntry id="d_Extra_days_case_1_dt_r1_i1"> | ||
<text><18,>=60</text> | ||
</inputEntry> | ||
<inputEntry id="d_Extra_days_case_1_dt_r1_i2"> | ||
<text>-</text> | ||
</inputEntry> | ||
<outputEntry id="d_Extra_days_case_1_dt_r1_o1"> | ||
<text>5</text> | ||
</outputEntry> | ||
</rule> | ||
<rule id="d_Extra_days_case_1_dt_r2"> | ||
<inputEntry id="d_Extra_days_case_1_dt_r2_i1"> | ||
<text>-</text> | ||
</inputEntry> | ||
<inputEntry id="d_Extra_days_case_1_dt_r2_i2"> | ||
<text>>=30</text> | ||
</inputEntry> | ||
<outputEntry id="d_Extra_days_case_1_dt_r2_o1"> | ||
<text>5</text> | ||
</outputEntry> | ||
</rule> | ||
</decisionTable> | ||
</decision> | ||
|
||
<decision name="Extra days case 2" id="d_Extra_days_case_2"> | ||
<variable name="Extra days case 2" typeRef="feel:number" /> | ||
<informationRequirement> | ||
<requiredInput href="#i_Age" /> | ||
</informationRequirement> | ||
<informationRequirement> | ||
<requiredInput href="#i_Years_of_Service" /> | ||
</informationRequirement> | ||
<decisionTable hitPolicy="COLLECT" aggregation="MAX"> | ||
<input id="d_Extra_days_case_2_dt_i_age" label="Age"> | ||
<inputExpression typeRef="feel:number"> | ||
<text>Age</text> | ||
</inputExpression> | ||
</input> | ||
<input id="d_Extra_days_case_2_dt_i_years" label="Years of Service"> | ||
<inputExpression typeRef="feel:number"> | ||
<text>Years of Service</text> | ||
</inputExpression> | ||
</input> | ||
<output id="d_Extra_days_case_2_dt_o" label="Extra days"> | ||
<defaultOutputEntry> | ||
<text>0</text> | ||
</defaultOutputEntry> | ||
</output> | ||
<rule id="d_Extra_days_case_2_dt_r1"> | ||
<inputEntry id="d_Extra_days_case_2_dt_r1_i1"> | ||
<text>-</text> | ||
</inputEntry> | ||
<inputEntry id="d_Extra_days_case_2_dt_r1_i2"> | ||
<text>>=30</text> | ||
</inputEntry> | ||
<outputEntry id="d_Extra_days_case_2_dt_r1_o1"> | ||
<text>3</text> | ||
</outputEntry> | ||
</rule> | ||
<rule id="d_Extra_days_case_2_dt_r2"> | ||
<inputEntry id="d_Extra_days_case_2_dt_r2_i1"> | ||
<text>>=60</text> | ||
</inputEntry> | ||
<inputEntry id="d_Extra_days_case_2_dt_r2_i2"> | ||
<text>-</text> | ||
</inputEntry> | ||
<outputEntry id="d_Extra_days_case_2_dt_r2_o1"> | ||
<text>3</text> | ||
</outputEntry> | ||
</rule> | ||
</decisionTable> | ||
</decision> | ||
|
||
<decision name="Extra days case 3" id="d_Extra_days_case_3"> | ||
<variable name="Extra days case 3" typeRef="feel:number" /> | ||
<informationRequirement> | ||
<requiredInput href="#i_Age" /> | ||
</informationRequirement> | ||
<informationRequirement> | ||
<requiredInput href="#i_Years_of_Service" /> | ||
</informationRequirement> | ||
<decisionTable hitPolicy="COLLECT" aggregation="MAX"> | ||
<input id="d_Extra_days_case_3_dt_i_age" label="Age"> | ||
<inputExpression typeRef="feel:number"> | ||
<text>Age</text> | ||
</inputExpression> | ||
</input> | ||
<input id="d_Extra_days_case_3_dt_i_years" label="Years of Service"> | ||
<inputExpression typeRef="feel:number"> | ||
<text>Years of Service</text> | ||
</inputExpression> | ||
</input> | ||
<output id="d_Extra_days_case_3_dt_o" label="Extra days"> | ||
<defaultOutputEntry> | ||
<text>0</text> | ||
</defaultOutputEntry> | ||
</output> | ||
<rule id="d_Extra_days_case_3_dt_r1"> | ||
<inputEntry id="d_Extra_days_case_3_dt_r1_i1"> | ||
<text>-</text> | ||
</inputEntry> | ||
<inputEntry id="d_Extra_days_case_3_dt_r1_i2"> | ||
<text>[15..30)</text> | ||
</inputEntry> | ||
<outputEntry id="d_Extra_days_case_3_dt_r1_o1"> | ||
<text>2</text> | ||
</outputEntry> | ||
</rule> | ||
<rule id="d_Extra_days_case_3_dt_r2"> | ||
<inputEntry id="d_Extra_days_case_3_dt_r2_i1"> | ||
<text>>=45</text> | ||
</inputEntry> | ||
<inputEntry id="d_Extra_days_case_3_dt_r2_i2"> | ||
<text>-</text> | ||
</inputEntry> | ||
<outputEntry id="d_Extra_days_case_3_dt_r2_o1"> | ||
<text>2</text> | ||
</outputEntry> | ||
</rule> | ||
</decisionTable> | ||
</decision> | ||
|
||
<decision id="d_Base_Vacation_Days" name="Base Vacation Days"> | ||
<variable name="Base Vacation Days" typeRef="feel:number" /> | ||
<literalExpression> | ||
<text>22</text> | ||
</literalExpression> | ||
</decision> | ||
|
||
</definitions> |
Oops, something went wrong.