Skip to content

Commit e6a74df

Browse files
committed
Add NoTenYearTaxAbatement check
1 parent 703923a commit e6a74df

4 files changed

Lines changed: 211 additions & 0 deletions

File tree

Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<dmn:definitions
3+
xmlns:dmn="http://www.omg.org/spec/DMN/20180521/MODEL/"
4+
xmlns="https://kie.apache.org/dmn/_F2A8E6C4-3D1B-4F9A-B7E5-1C4D8F2A6B3E"
5+
xmlns:feel="http://www.omg.org/spec/DMN/20180521/FEEL/"
6+
xmlns:kie="http://www.drools.org/kie/dmn/1.2"
7+
xmlns:dmndi="http://www.omg.org/spec/DMN/20180521/DMNDI/"
8+
xmlns:di="http://www.omg.org/spec/DMN/20180521/DI/"
9+
xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/"
10+
xmlns:included1="https://kie.apache.org/dmn/_1B91A885-130A-4E0B-A762-E12AA6DD5C79"
11+
xmlns:included2="https://kie.apache.org/dmn/_C9F91EE8-9F17-4867-9638-912AC7DB68F1"
12+
xmlns:included3="https://kie.apache.org/dmn/_3A7F1C2D-8E4B-4A91-B5C3-2D6F8A1E4C79"
13+
id="_A1C7D5F3-9B2E-4E8A-C6D4-3F1B7A9E5D2C"
14+
name="NoTenYearTaxAbatement"
15+
typeLanguage="http://www.omg.org/spec/DMN/20180521/FEEL/"
16+
namespace="https://kie.apache.org/dmn/_F2A8E6C4-3D1B-4F9A-B7E5-1C4D8F2A6B3E">
17+
<dmn:description>Checks that a property does not have an active 10-year tax abatement.</dmn:description>
18+
<dmn:extensionElements/>
19+
<dmn:import id="_4E9C1A7D-6F3B-4B5E-D8F2-7A3E1C9D4B6F" name="BDT"
20+
namespace="https://kie.apache.org/dmn/_1B91A885-130A-4E0B-A762-E12AA6DD5C79"
21+
locationURI="../BDT.dmn"
22+
importType="http://www.omg.org/spec/DMN/20180521/MODEL/"/>
23+
<dmn:import id="_B8D3F1C5-2A6E-4C7F-E5A1-9D4B2F8C6E3A" name="Residence"
24+
namespace="https://kie.apache.org/dmn/_C9F91EE8-9F17-4867-9638-912AC7DB68F1"
25+
locationURI="Residence.dmn"
26+
importType="http://www.omg.org/spec/DMN/20180521/MODEL/"/>
27+
<dmn:import id="_7C5A3D9E-4F1B-4A8D-F7C5-2E6A4D8F1C9B" name="TenYearTaxAbatement"
28+
namespace="https://kie.apache.org/dmn/_3A7F1C2D-8E4B-4A91-B5C3-2D6F8A1E4C79"
29+
locationURI="ten-year-tax-abatement.dmn"
30+
importType="http://www.omg.org/spec/DMN/20180521/MODEL/"/>
31+
<dmn:itemDefinition id="_3F1B7E9D-8C4A-4E6B-A3D7-5B9F2C1D8E4A" name="tSimpleChecks" isCollection="false">
32+
<dmn:itemComponent id="_9A5D2F1C-7B3E-4F4D-CBBC-1E7D3B5F9A2C" name="tenYearTaxAbatement" isCollection="false">
33+
<dmn:typeRef>boolean</dmn:typeRef>
34+
</dmn:itemComponent>
35+
</dmn:itemDefinition>
36+
<dmn:itemDefinition id="_5D8C4A7F-1B9E-4A9C-DCCD-3C5A1F7B4D8E" name="tSituation" isCollection="false">
37+
<dmn:itemComponent id="_2B6F1E9C-4D7A-4B3E-EDDE-7F2A4C8B1D5F" name="simpleChecks" isCollection="false">
38+
<dmn:typeRef>tSimpleChecks</dmn:typeRef>
39+
</dmn:itemComponent>
40+
</dmn:itemDefinition>
41+
<dmn:decisionService id="_E4A7C1D9-3F5B-4D1F-FEEF-4B8E2D6A9C3F" name="NoTenYearTaxAbatementService">
42+
<dmn:extensionElements/>
43+
<dmn:variable id="_8F3B5E2A-7D1C-4E4A-A9F7-6D3A8F2B5C1E" name="NoTenYearTaxAbatementService" typeRef="BDT.tCheckResponse"/>
44+
<dmn:outputDecision href="#_1D5F9C3B-2A7E-4F6A-BAAB-9E4D1B7F3C5A"/>
45+
<dmn:inputData href="#_3F8E1D5B-7A4C-4D5B-A9B7-1E6C8D3F9A5B"/>
46+
</dmn:decisionService>
47+
<dmn:decision id="_1D5F9C3B-2A7E-4F6A-BAAB-9E4D1B7F3C5A" name="checkResult">
48+
<dmn:extensionElements/>
49+
<dmn:variable id="_6C2A8E4D-5F1B-4A2B-CBBC-3B7F9E2D6A4C" name="checkResult" typeRef="boolean"/>
50+
<dmn:informationRequirement id="_4A7D3F1C-9B5E-4B4C-DCCD-8C1D4A7F2B9E">
51+
<dmn:requiredInput href="#_3F8E1D5B-7A4C-4D5B-A9B7-1E6C8D3F9A5B"/>
52+
</dmn:informationRequirement>
53+
<dmn:knowledgeRequirement id="_B5E1C8A3-6D2F-4C3D-EDDE-2A9F5C3E1B7D">
54+
<dmn:requiredKnowledge href="https://kie.apache.org/dmn/_3A7F1C2D-8E4B-4A91-B5C3-2D6F8A1E4C79#_3C6E1A4B-4B5D-4CAD-F8E6-2F7D5C9E4A3E"/>
55+
</dmn:knowledgeRequirement>
56+
<dmn:literalExpression id="_9D4B6F2E-1C8A-4C3E-FEEF-5F1B9D3C7E4A">
57+
<dmn:text>not(TenYearTaxAbatement.TenYearTaxAbatementService(situation: situation))</dmn:text>
58+
</dmn:literalExpression>
59+
</dmn:decision>
60+
<dmn:inputData id="_3F8E1D5B-7A4C-4D5B-A9B7-1E6C8D3F9A5B" name="situation">
61+
<dmn:extensionElements/>
62+
<dmn:variable id="_7B3C9F2E-4A1D-4C6F-B3C8-5D9A2F7B1E4C" name="situation" typeRef="tSituation"/>
63+
</dmn:inputData>
64+
<dmndi:DMNDI>
65+
<dmndi:DMNDiagram id="_5A9D4E7C-2B8F-4A7D-BABC-8F3C6A1D5B9E" name="DRG">
66+
<di:extension>
67+
<kie:ComponentsWidthsExtension>
68+
<kie:ComponentWidths dmnElementRef="_9D4B6F2E-1C8A-4C3E-FEEF-5F1B9D3C7E4A">
69+
<kie:width>553</kie:width>
70+
</kie:ComponentWidths>
71+
</kie:ComponentsWidthsExtension>
72+
</di:extension>
73+
<!-- Main decision service: centered around x=310, width=380 to fit "NoTenYearTaxAbatementService" label -->
74+
<dmndi:DMNShape id="dmnshape-drg-_E4A7C1D9-3F5B-4D1F-FEEF-4B8E2D6A9C3F" dmnElementRef="_E4A7C1D9-3F5B-4D1F-FEEF-4B8E2D6A9C3F" isCollapsed="false">
75+
<dmndi:DMNStyle>
76+
<dmndi:FillColor red="255" green="255" blue="255"/>
77+
<dmndi:StrokeColor red="0" green="0" blue="0"/>
78+
<dmndi:FontColor red="0" green="0" blue="0"/>
79+
</dmndi:DMNStyle>
80+
<dc:Bounds x="120" y="106" width="380" height="199"/>
81+
<dmndi:DMNLabel/>
82+
<dmndi:DMNDecisionServiceDividerLine>
83+
<di:waypoint x="120" y="206"/>
84+
<di:waypoint x="500" y="206"/>
85+
</dmndi:DMNDecisionServiceDividerLine>
86+
</dmndi:DMNShape>
87+
<!-- Imported TenYearTaxAbatementService (referenced via knowledgeRequirement) -->
88+
<dmndi:DMNShape id="dmnshape-drg-_3C6E1A4B-4B5D-4CAD-F8E6-2F7D5C9E4A3E" dmnElementRef="included3:_3C6E1A4B-4B5D-4CAD-F8E6-2F7D5C9E4A3E" isCollapsed="false">
89+
<dmndi:DMNStyle>
90+
<dmndi:FillColor red="255" green="255" blue="255"/>
91+
<dmndi:StrokeColor red="0" green="0" blue="0"/>
92+
<dmndi:FontColor red="0" green="0" blue="0"/>
93+
</dmndi:DMNStyle>
94+
<dc:Bounds x="550" y="50" width="360" height="100"/>
95+
<dmndi:DMNLabel/>
96+
<dmndi:DMNDecisionServiceDividerLine>
97+
<di:waypoint x="550" y="100"/>
98+
<di:waypoint x="910" y="100"/>
99+
</dmndi:DMNDecisionServiceDividerLine>
100+
</dmndi:DMNShape>
101+
<!-- checkResult decision: centered horizontally in service box -->
102+
<dmndi:DMNShape id="dmnshape-drg-_1D5F9C3B-2A7E-4F6A-BAAB-9E4D1B7F3C5A" dmnElementRef="_1D5F9C3B-2A7E-4F6A-BAAB-9E4D1B7F3C5A" isCollapsed="false">
103+
<dmndi:DMNStyle>
104+
<dmndi:FillColor red="255" green="255" blue="255"/>
105+
<dmndi:StrokeColor red="0" green="0" blue="0"/>
106+
<dmndi:FontColor red="0" green="0" blue="0"/>
107+
</dmndi:DMNStyle>
108+
<dc:Bounds x="266" y="147" width="88" height="50"/>
109+
<dmndi:DMNLabel/>
110+
</dmndi:DMNShape>
111+
<!-- situation input: centered below service box (no parameters) -->
112+
<dmndi:DMNShape id="dmnshape-drg-_3F8E1D5B-7A4C-4D5B-A9B7-1E6C8D3F9A5B" dmnElementRef="_3F8E1D5B-7A4C-4D5B-A9B7-1E6C8D3F9A5B" isCollapsed="false">
113+
<dmndi:DMNStyle>
114+
<dmndi:FillColor red="255" green="255" blue="255"/>
115+
<dmndi:StrokeColor red="0" green="0" blue="0"/>
116+
<dmndi:FontColor red="0" green="0" blue="0"/>
117+
</dmndi:DMNStyle>
118+
<dc:Bounds x="260" y="336" width="100" height="50"/>
119+
<dmndi:DMNLabel/>
120+
</dmndi:DMNShape>
121+
<!-- Edge: from center of situation to bottom-center of checkResult -->
122+
<dmndi:DMNEdge id="dmnedge-drg-_4A7D3F1C-9B5E-4B4C-DCCD-8C1D4A7F2B9E-AUTO-TARGET" dmnElementRef="_4A7D3F1C-9B5E-4B4C-DCCD-8C1D4A7F2B9E">
123+
<di:waypoint x="310" y="361"/>
124+
<di:waypoint x="310" y="197"/>
125+
</dmndi:DMNEdge>
126+
<!-- Edge: from TenYearTaxAbatementService to checkResult (knowledge requirement) -->
127+
<dmndi:DMNEdge id="dmnedge-drg-_B5E1C8A3-6D2F-4C3D-EDDE-2A9F5C3E1B7D" dmnElementRef="_B5E1C8A3-6D2F-4C3D-EDDE-2A9F5C3E1B7D">
128+
<di:waypoint x="730" y="100"/>
129+
<di:waypoint x="310" y="172"/>
130+
</dmndi:DMNEdge>
131+
</dmndi:DMNDiagram>
132+
</dmndi:DMNDI>
133+
</dmn:definitions>
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
meta {
2+
name: Fail
3+
type: http
4+
seq: 2
5+
}
6+
7+
post {
8+
url: {{host}}/checks/residence/no-ten-year-tax-abatement
9+
body: json
10+
auth: inherit
11+
}
12+
13+
body:json {
14+
{
15+
"situation": {
16+
"simpleChecks": {
17+
"tenYearTaxAbatement": true
18+
}
19+
}
20+
}
21+
}
22+
23+
assert {
24+
res.body.checkResult: eq false
25+
res.status: eq 200
26+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
meta {
2+
name: Null
3+
type: http
4+
seq: 3
5+
}
6+
7+
post {
8+
url: {{host}}/checks/residence/no-ten-year-tax-abatement
9+
body: json
10+
auth: inherit
11+
}
12+
13+
body:json {
14+
{
15+
"situation": {
16+
"simpleChecks": {
17+
"tenYearTaxAbatement": null
18+
}
19+
}
20+
}
21+
}
22+
23+
assert {
24+
res.body.checkResult: eq null
25+
res.status: eq 200
26+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
meta {
2+
name: Pass
3+
type: http
4+
seq: 1
5+
}
6+
7+
post {
8+
url: {{host}}/checks/residence/no-ten-year-tax-abatement
9+
body: json
10+
auth: inherit
11+
}
12+
13+
body:json {
14+
{
15+
"situation": {
16+
"simpleChecks": {
17+
"tenYearTaxAbatement": false
18+
}
19+
}
20+
}
21+
}
22+
23+
assert {
24+
res.body.checkResult: eq true
25+
res.status: eq 200
26+
}

0 commit comments

Comments
 (0)