You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kie.apache.org by gi...@apache.org on 2026/10/12 13:17:37 UTC
(incubator-kie) branch main updated: fix(kie-dmn): typeRef on tUnaryTests silently broken for DMN 1.3–1.6 since 10.2.0 (#7184)
This is an automated email from the ASF dual-hosted git repository.
gitgabrio pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie.git
The following commit(s) were added to refs/heads/main by this push:
new db13861f88f fix(kie-dmn): typeRef on tUnaryTests silently broken for DMN 1.3–1.6 since 10.2.0 (#7184)
db13861f88f is described below
commit db13861f88f06b7a508c5f8b1996ed4c4a35ddff
Author: Yeser Amer <ye...@ibm.com>
AuthorDate: Mon Oct 12 15:17:32 2026 +0200
fix(kie-dmn): typeRef on tUnaryTests silently broken for DMN 1.3–1.6 since 10.2.0 (#7184)
* Fix typeRef on tUnaryTests broken for DMN 1.3-1.6 in 10.2.0
The 10.2.0 refactor (kie-issues#853) collapsed v1_3–v1_6 TUnaryTests
onto AbstractTUnaryTests, which carried throwing overrides of
getTypeRef/setTypeRef guarding DMN 1.1/1.2. Those guards fired for
every version, making typeRef on <inputValues> un-unmarshallable for
DMN 1.3+.
The DMN 1.3 XSD defines tUnaryTests extends tExpression, which carries
an optional typeRef. The KIE DMN editor (10.1) writes typeRef on
<inputValues> when the user sets a column type in the side panel,
so models authored in the editor stopped loading on the 10.2 engine.
Fix:
- Remove the throwing overrides from AbstractTUnaryTests so all
versions inherit the real typeRef field from AbstractTExpression.
- Add the throwing overrides to v1_2.TUnaryTests (mirrors v1_1,
which already had its own overrides).
- Expand TUnaryTestsTest to cover all six concrete versions.
- Add end-to-end regression test with the original reproducer DMN.
* doc
* doc
* Fix marshalling of typeRef on tUnaryTests for DMN 1.3-1.6
ExpressionConverter.writeAttributes in all versioned marshallers (v1_2
through v1_6) had a guard that suppressed typeRef emission for any
UnaryTests instance. This was correct for v1_2 (where tUnaryTests does
not extend tExpression) but wrong for v1_3+ where the XSD defines
tUnaryTests extends tExpression, making typeRef schema-valid.
Remove the !(e instanceof UnaryTests) guard from the v1_3, v1_4, v1_5,
and v1_6 ExpressionConverters so typeRef is emitted on marshal.
The v1_1 and v1_2 converters are unchanged.
Add a round-trip test (unmarshal → marshal → XSD validation → XML diff)
for a DMN 1.6 model that carries typeRef on inputValues and outputValues.
---
.../v1_3/xstream/ExpressionConverter.java | 3 +-
.../v1_4/xstream/ExpressionConverter.java | 3 +-
.../v1_5/xstream/ExpressionConverter.java | 3 +-
.../v1_6/xstream/ExpressionConverter.java | 3 +-
.../marshalling/v1_6/UnmarshalMarshalTest.java | 5 +
.../marshalling/v1_6/inputValuesTypeRef.dmn | 64 +++++++
.../core/compiler/DMNEvaluatorCompilerTest.java | 13 ++
.../kie/dmn/model/impl/AbstractTUnaryTests.java | 12 --
.../java/org/kie/dmn/model/v1_2/TUnaryTests.java | 11 ++
.../org/kie/dmn/model/api/TUnaryTestsTest.java | 68 ++++---
.../valid_models/DMNv1_6/inputValuesTypeRef.dmn | 200 +++++++++++++++++++++
11 files changed, 341 insertions(+), 44 deletions(-)
diff --git a/kie-dmn/kie-dmn-backend/src/main/java/org/kie/dmn/backend/marshalling/v1_3/xstream/ExpressionConverter.java b/kie-dmn/kie-dmn-backend/src/main/java/org/kie/dmn/backend/marshalling/v1_3/xstream/ExpressionConverter.java
index 31a8c769977..18d1c35833b 100644
--- a/kie-dmn/kie-dmn-backend/src/main/java/org/kie/dmn/backend/marshalling/v1_3/xstream/ExpressionConverter.java
+++ b/kie-dmn/kie-dmn-backend/src/main/java/org/kie/dmn/backend/marshalling/v1_3/xstream/ExpressionConverter.java
@@ -22,7 +22,6 @@ import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.HierarchicalStreamReader;
import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
import org.kie.dmn.model.api.Expression;
-import org.kie.dmn.model.api.UnaryTests;
public abstract class ExpressionConverter
extends DMNElementConverter {
@@ -48,7 +47,7 @@ public abstract class ExpressionConverter
super.writeAttributes(writer, parent);
Expression e = (Expression) parent;
- if (!(e instanceof UnaryTests) && e.getTypeRef() != null) {
+ if (e.getTypeRef() != null) {
writer.addAttribute(TYPE_REF, MarshallingUtils.formatQName(e.getTypeRef(), e));
}
}
diff --git a/kie-dmn/kie-dmn-backend/src/main/java/org/kie/dmn/backend/marshalling/v1_4/xstream/ExpressionConverter.java b/kie-dmn/kie-dmn-backend/src/main/java/org/kie/dmn/backend/marshalling/v1_4/xstream/ExpressionConverter.java
index 6357f237864..f99d8a88fe0 100644
--- a/kie-dmn/kie-dmn-backend/src/main/java/org/kie/dmn/backend/marshalling/v1_4/xstream/ExpressionConverter.java
+++ b/kie-dmn/kie-dmn-backend/src/main/java/org/kie/dmn/backend/marshalling/v1_4/xstream/ExpressionConverter.java
@@ -22,7 +22,6 @@ import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.HierarchicalStreamReader;
import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
import org.kie.dmn.model.api.Expression;
-import org.kie.dmn.model.api.UnaryTests;
public abstract class ExpressionConverter
extends DMNElementConverter {
@@ -48,7 +47,7 @@ public abstract class ExpressionConverter
super.writeAttributes(writer, parent);
Expression e = (Expression) parent;
- if (!(e instanceof UnaryTests) && e.getTypeRef() != null) {
+ if (e.getTypeRef() != null) {
writer.addAttribute(TYPE_REF, MarshallingUtils.formatQName(e.getTypeRef(), e));
}
}
diff --git a/kie-dmn/kie-dmn-backend/src/main/java/org/kie/dmn/backend/marshalling/v1_5/xstream/ExpressionConverter.java b/kie-dmn/kie-dmn-backend/src/main/java/org/kie/dmn/backend/marshalling/v1_5/xstream/ExpressionConverter.java
index 729c4cc0a5e..5d2593a6b84 100644
--- a/kie-dmn/kie-dmn-backend/src/main/java/org/kie/dmn/backend/marshalling/v1_5/xstream/ExpressionConverter.java
+++ b/kie-dmn/kie-dmn-backend/src/main/java/org/kie/dmn/backend/marshalling/v1_5/xstream/ExpressionConverter.java
@@ -22,7 +22,6 @@ import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.HierarchicalStreamReader;
import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
import org.kie.dmn.model.api.Expression;
-import org.kie.dmn.model.api.UnaryTests;
public abstract class ExpressionConverter
extends DMNElementConverter {
@@ -48,7 +47,7 @@ public abstract class ExpressionConverter
super.writeAttributes(writer, parent);
Expression e = (Expression) parent;
- if (!(e instanceof UnaryTests) && e.getTypeRef() != null) {
+ if (e.getTypeRef() != null) {
writer.addAttribute(TYPE_REF, MarshallingUtils.formatQName(e.getTypeRef(), e));
}
}
diff --git a/kie-dmn/kie-dmn-backend/src/main/java/org/kie/dmn/backend/marshalling/v1_6/xstream/ExpressionConverter.java b/kie-dmn/kie-dmn-backend/src/main/java/org/kie/dmn/backend/marshalling/v1_6/xstream/ExpressionConverter.java
index eee8913e61d..00d66935322 100644
--- a/kie-dmn/kie-dmn-backend/src/main/java/org/kie/dmn/backend/marshalling/v1_6/xstream/ExpressionConverter.java
+++ b/kie-dmn/kie-dmn-backend/src/main/java/org/kie/dmn/backend/marshalling/v1_6/xstream/ExpressionConverter.java
@@ -22,7 +22,6 @@ import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.HierarchicalStreamReader;
import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
import org.kie.dmn.model.api.Expression;
-import org.kie.dmn.model.api.UnaryTests;
public abstract class ExpressionConverter
extends DMNElementConverter {
@@ -48,7 +47,7 @@ public abstract class ExpressionConverter
super.writeAttributes(writer, parent);
Expression e = (Expression) parent;
- if (!(e instanceof UnaryTests) && e.getTypeRef() != null) {
+ if (e.getTypeRef() != null) {
writer.addAttribute(TYPE_REF, MarshallingUtils.formatQName(e.getTypeRef(), e));
}
}
diff --git a/kie-dmn/kie-dmn-backend/src/test/java/org/kie/dmn/backend/marshalling/v1_6/UnmarshalMarshalTest.java b/kie-dmn/kie-dmn-backend/src/test/java/org/kie/dmn/backend/marshalling/v1_6/UnmarshalMarshalTest.java
index 33eb43f7113..5c2d5eb35ed 100644
--- a/kie-dmn/kie-dmn-backend/src/test/java/org/kie/dmn/backend/marshalling/v1_6/UnmarshalMarshalTest.java
+++ b/kie-dmn/kie-dmn-backend/src/test/java/org/kie/dmn/backend/marshalling/v1_6/UnmarshalMarshalTest.java
@@ -106,6 +106,11 @@ public class UnmarshalMarshalTest {
testRoundTripV16("org/kie/dmn/backend/marshalling/v1_6/", "sampleFilter.dmn");
}
+ @Test
+ void testv16_inputValuesTypeRef() throws Exception {
+ testRoundTripV16("org/kie/dmn/backend/marshalling/v1_6/", "inputValuesTypeRef.dmn");
+ }
+
public void testRoundTripV16(String subdir, String xmlfile) throws Exception {
testRoundTrip(subdir, xmlfile, MARSHALLER, DMN16_SCHEMA_SOURCE);
}
diff --git a/kie-dmn/kie-dmn-backend/src/test/resources/org/kie/dmn/backend/marshalling/v1_6/inputValuesTypeRef.dmn b/kie-dmn/kie-dmn-backend/src/test/resources/org/kie/dmn/backend/marshalling/v1_6/inputValuesTypeRef.dmn
new file mode 100644
index 00000000000..334b08edbec
--- /dev/null
+++ b/kie-dmn/kie-dmn-backend/src/test/resources/org/kie/dmn/backend/marshalling/v1_6/inputValuesTypeRef.dmn
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ -->
+<!--
+ Regression fixture: tUnaryTests extends tExpression in DMN 1.3+ so typeRef
+ is schema-valid on inputValues/outputValues. This model exercises unmarshal
+ and re-marshal of that attribute (the round-trip must preserve it).
+-->
+<semantic:definitions
+ xmlns:semantic="https://www.omg.org/spec/DMN/20240513/MODEL/"
+ xmlns:feel="https://www.omg.org/spec/DMN/20240513/FEEL/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ id="_inputValuesTypeRef"
+ name="inputValuesTypeRef"
+ namespace="https://kie.org/dmn/inputValuesTypeRef">
+ <semantic:decision id="_approval" name="Approval">
+ <semantic:variable name="Approval" typeRef="string"/>
+ <semantic:informationRequirement id="_ir1">
+ <semantic:requiredInput href="#_riskCategory"/>
+ </semantic:informationRequirement>
+ <semantic:decisionTable hitPolicy="UNIQUE" outputLabel="Approval">
+ <semantic:input id="_input1">
+ <semantic:inputExpression typeRef="string">
+ <semantic:text>RiskCategory</semantic:text>
+ </semantic:inputExpression>
+ <semantic:inputValues id="_inputValues1" typeRef="string">
+ <semantic:text>"High","Medium","Low"</semantic:text>
+ </semantic:inputValues>
+ </semantic:input>
+ <semantic:output id="_output1" typeRef="string">
+ <semantic:outputValues id="_outputValues1" typeRef="string">
+ <semantic:text>"Approved","Review","Declined"</semantic:text>
+ </semantic:outputValues>
+ </semantic:output>
+ <semantic:rule id="_rule1">
+ <semantic:inputEntry id="_ie1"><semantic:text>"High"</semantic:text></semantic:inputEntry>
+ <semantic:outputEntry id="_oe1"><semantic:text>"Review"</semantic:text></semantic:outputEntry>
+ </semantic:rule>
+ <semantic:rule id="_rule2">
+ <semantic:inputEntry id="_ie2"><semantic:text>"Medium","Low"</semantic:text></semantic:inputEntry>
+ <semantic:outputEntry id="_oe2"><semantic:text>"Approved"</semantic:text></semantic:outputEntry>
+ </semantic:rule>
+ </semantic:decisionTable>
+ </semantic:decision>
+ <semantic:inputData id="_riskCategory" name="RiskCategory">
+ <semantic:variable name="RiskCategory" typeRef="string"/>
+ </semantic:inputData>
+</semantic:definitions>
diff --git a/kie-dmn/kie-dmn-core/src/test/java/org/kie/dmn/core/compiler/DMNEvaluatorCompilerTest.java b/kie-dmn/kie-dmn-core/src/test/java/org/kie/dmn/core/compiler/DMNEvaluatorCompilerTest.java
index 0c20b3e3492..de2c7a12846 100644
--- a/kie-dmn/kie-dmn-core/src/test/java/org/kie/dmn/core/compiler/DMNEvaluatorCompilerTest.java
+++ b/kie-dmn/kie-dmn-core/src/test/java/org/kie/dmn/core/compiler/DMNEvaluatorCompilerTest.java
@@ -192,6 +192,19 @@ class DMNEvaluatorCompilerTest {
assertThat(elseEvaluatorIdentifier).isEqualTo(elseIdentifier);
}
+ /**
+ * DMN 1.6 models with typeRef on inputValues must load without UnsupportedOperationException from AbstractTUnaryTests.setTypeRef.
+ */
+ @Test
+ void inputValuesWithTypeRefLoadsOnDMNv1_6() {
+ Resource resource = ResourceFactory.newClassPathResource("valid_models/DMNv1_6/inputValuesTypeRef.dmn");
+ DMNRuntime dmnRuntime = DMNRuntimeBuilder.fromDefaults().buildConfiguration()
+ .fromResources(Collections.singletonList(resource)).getOrElseThrow(RuntimeException::new);
+ assertThat(dmnRuntime).isNotNull();
+ assertThat(dmnRuntime.getModels()).hasSize(1);
+ assertThat(dmnRuntime.getModels().get(0).hasErrors()).isFalse();
+ }
+
@Test
void testCompileConditional() {
String exprName = "testExpression";
diff --git a/kie-dmn/kie-dmn-model/src/main/java/org/kie/dmn/model/impl/AbstractTUnaryTests.java b/kie-dmn/kie-dmn-model/src/main/java/org/kie/dmn/model/impl/AbstractTUnaryTests.java
index 01293cd1e02..66590c4554c 100644
--- a/kie-dmn/kie-dmn-model/src/main/java/org/kie/dmn/model/impl/AbstractTUnaryTests.java
+++ b/kie-dmn/kie-dmn-model/src/main/java/org/kie/dmn/model/impl/AbstractTUnaryTests.java
@@ -18,8 +18,6 @@
*/
package org.kie.dmn.model.impl;
-import javax.xml.namespace.QName;
-
import org.kie.dmn.model.api.UnaryTests;
public abstract class AbstractTUnaryTests extends AbstractTExpression implements UnaryTests {
@@ -46,14 +44,4 @@ public abstract class AbstractTUnaryTests extends AbstractTExpression implements
public void setExpressionLanguage(String value) {
this.expressionLanguage = value;
}
-
- @Override
- public QName getTypeRef() {
- throw new UnsupportedOperationException("Not on DMN v1.2");
- }
-
- @Override
- public void setTypeRef(QName value) {
- throw new UnsupportedOperationException("Not on DMN v1.2");
- }
}
diff --git a/kie-dmn/kie-dmn-model/src/main/java/org/kie/dmn/model/v1_2/TUnaryTests.java b/kie-dmn/kie-dmn-model/src/main/java/org/kie/dmn/model/v1_2/TUnaryTests.java
index 02adf79393e..549b230b680 100644
--- a/kie-dmn/kie-dmn-model/src/main/java/org/kie/dmn/model/v1_2/TUnaryTests.java
+++ b/kie-dmn/kie-dmn-model/src/main/java/org/kie/dmn/model/v1_2/TUnaryTests.java
@@ -18,8 +18,19 @@
*/
package org.kie.dmn.model.v1_2;
+import javax.xml.namespace.QName;
+
import org.kie.dmn.model.impl.AbstractTUnaryTests;
public class TUnaryTests extends AbstractTUnaryTests implements URIFEELed {
+ @Override
+ public QName getTypeRef() {
+ throw new UnsupportedOperationException("Not on DMN v1.2");
+ }
+
+ @Override
+ public void setTypeRef(QName value) {
+ throw new UnsupportedOperationException("Not on DMN v1.2");
+ }
}
diff --git a/kie-dmn/kie-dmn-model/src/test/java/org/kie/dmn/model/api/TUnaryTestsTest.java b/kie-dmn/kie-dmn-model/src/test/java/org/kie/dmn/model/api/TUnaryTestsTest.java
index 95ab121cb55..6720bf5e74d 100644
--- a/kie-dmn/kie-dmn-model/src/test/java/org/kie/dmn/model/api/TUnaryTestsTest.java
+++ b/kie-dmn/kie-dmn-model/src/test/java/org/kie/dmn/model/api/TUnaryTestsTest.java
@@ -18,44 +18,64 @@
*/
package org.kie.dmn.model.api;
+import javax.xml.namespace.QName;
+
import org.junit.jupiter.api.Test;
-import org.kie.dmn.model.v1_2.TDMNElement;
+import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
class TUnaryTestsTest {
+ /**
+ * DMN v1.1 and v1.2: tUnaryTests does not extend tExpression, so typeRef must throw.
+ */
+ @Test
+ void typeRefThrowsOnDMNv1_1() {
+ UnaryTests ut = new org.kie.dmn.model.v1_1.TUnaryTests();
+ assertThatExceptionOfType(UnsupportedOperationException.class).isThrownBy(ut::getTypeRef);
+ assertThatExceptionOfType(UnsupportedOperationException.class).isThrownBy(() -> ut.setTypeRef(null));
+ }
+
@Test
- void smokeTest() {
- UnaryTests ut = new STUnaryTests();
- assertThatExceptionOfType(UnsupportedOperationException.class).isThrownBy(() -> ut.getTypeRef());
+ void typeRefThrowsOnDMNv1_2() {
+ UnaryTests ut = new org.kie.dmn.model.v1_2.TUnaryTests();
+ assertThatExceptionOfType(UnsupportedOperationException.class).isThrownBy(ut::getTypeRef);
assertThatExceptionOfType(UnsupportedOperationException.class).isThrownBy(() -> ut.setTypeRef(null));
}
/**
- * Up to DMNv1.2.
+ * DMN v1.3+: tUnaryTests extends tExpression, so typeRef must be readable/writable.
*/
- private static class STUnaryTests extends TDMNElement implements UnaryTests {
-
- @Override
- public String getText() {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void setText(String value) {
- throw new UnsupportedOperationException();
- }
+ @Test
+ void typeRefWorksOnDMNv1_3() {
+ UnaryTests ut = new org.kie.dmn.model.v1_3.TUnaryTests();
+ QName qname = new QName("string");
+ ut.setTypeRef(qname);
+ assertThat(ut.getTypeRef()).isEqualTo(qname);
+ }
- @Override
- public String getExpressionLanguage() {
- throw new UnsupportedOperationException();
- }
+ @Test
+ void typeRefWorksOnDMNv1_4() {
+ UnaryTests ut = new org.kie.dmn.model.v1_4.TUnaryTests();
+ QName qname = new QName("string");
+ ut.setTypeRef(qname);
+ assertThat(ut.getTypeRef()).isEqualTo(qname);
+ }
- @Override
- public void setExpressionLanguage(String value) {
- throw new UnsupportedOperationException();
- }
+ @Test
+ void typeRefWorksOnDMNv1_5() {
+ UnaryTests ut = new org.kie.dmn.model.v1_5.TUnaryTests();
+ QName qname = new QName("string");
+ ut.setTypeRef(qname);
+ assertThat(ut.getTypeRef()).isEqualTo(qname);
+ }
+ @Test
+ void typeRefWorksOnDMNv1_6() {
+ UnaryTests ut = new org.kie.dmn.model.v1_6.TUnaryTests();
+ QName qname = new QName("string");
+ ut.setTypeRef(qname);
+ assertThat(ut.getTypeRef()).isEqualTo(qname);
}
}
diff --git a/kie-dmn/kie-dmn-test-resources/src/test/resources/valid_models/DMNv1_6/inputValuesTypeRef.dmn b/kie-dmn/kie-dmn-test-resources/src/test/resources/valid_models/DMNv1_6/inputValuesTypeRef.dmn
new file mode 100644
index 00000000000..b70a7aaecd7
--- /dev/null
+++ b/kie-dmn/kie-dmn-test-resources/src/test/resources/valid_models/DMNv1_6/inputValuesTypeRef.dmn
@@ -0,0 +1,200 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ -->
+
+<dmn:definitions xmlns:dmn="https://www.omg.org/spec/DMN/20240513/MODEL/" xmlns="jurisdiction-rules" xmlns:di="http://www.omg.org/spec/DMN/20180521/DI/" xmlns:kie="https://kie.org/dmn/extensions/1.0" xmlns:feel="https://www.omg.org/spec/DMN/20240513/FEEL/" xmlns:dmndi="https://www.omg.org/spec/DMN/20230324/DMNDI/" xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" id="_4d416cc1-1d3d-429d-9360-98e8340e1551" name="jurisdiction-rules" expressionLanguage="https://www.omg.org/spec/DMN/202405 [...]
+ <dmn:description>jurisdiction-rules</dmn:description>
+ <dmn:extensionElements>
+ <x-gw-dmn:visibility xmlns:x-gw-dmn="https://www.guidewire.com/rules/1.0" />
+ </dmn:extensionElements>
+ <dmn:itemDefinition id="_6E43707E-EAA9-458E-A5CA-E7FB781084C0" name="Policy Info" isCollection="false" typeLanguage="https://www.omg.org/spec/DMN/20240513/FEEL/">
+ <dmn:itemComponent id="_50922129-2C62-4834-960D-851095F734D3" name="Total Loss" isCollection="false" typeLanguage="https://www.omg.org/spec/DMN/20240513/FEEL/">
+ <dmn:typeRef>boolean</dmn:typeRef>
+ </dmn:itemComponent>
+ <dmn:itemComponent id="_D9E52622-3651-4213-B251-6C5F419DE6B0" name="Jurisdiction" isCollection="false" typeLanguage="https://www.omg.org/spec/DMN/20240513/FEEL/">
+ <dmn:typeRef>string</dmn:typeRef>
+ </dmn:itemComponent>
+ </dmn:itemDefinition>
+ <dmn:itemDefinition id="_F788B8AD-68DC-48BA-AA6A-A465247C3951" name="UW Questions" isCollection="false" typeLanguage="https://www.omg.org/spec/DMN/20240513/FEEL/">
+ <dmn:itemComponent id="_5726F584-7D73-4502-8916-3ECFA2DC6C6B" name="Questions" isCollection="true" typeLanguage="https://www.omg.org/spec/DMN/20240513/FEEL/">
+ <dmn:typeRef>string</dmn:typeRef>
+ </dmn:itemComponent>
+ <dmn:itemComponent id="_E3EB33F3-4836-4617-BADB-A56CE26AE11F" name="Processing Date" isCollection="false" typeLanguage="https://www.omg.org/spec/DMN/20240513/FEEL/">
+ <dmn:typeRef>date and time</dmn:typeRef>
+ </dmn:itemComponent>
+ </dmn:itemDefinition>
+ <dmn:decision name="Questions" id="_AEDE88F0-9D5A-4569-AE7B-70FC44FCABBA">
+ <dmn:variable name="Questions" id="_8B0C547F-DBE0-4261-B100-1D54B10DBC28" typeRef="UW Questions" />
+ <dmn:informationRequirement id="_AD17F32A-68B5-4EE2-9DA2-DC3746B0A9DB">
+ <dmn:requiredInput href="#_B292D9B8-370B-49BA-B8F3-278A61A7BC22" />
+ </dmn:informationRequirement>
+ <dmn:context id="_AE97790B-10DB-4A92-9798-F0CF5D643FCB" typeRef="UW Questions" label="Questions">
+ <dmn:contextEntry id="_DA586786-81A9-456A-8024-2F0FDA967933">
+ <dmn:variable id="_EC06E9CD-5A7B-4980-AC7D-0667AF98ED77" name="Questions" typeRef="Any" />
+ <dmn:decisionTable id="_2298BCDA-9D67-4301-A817-1BDB9C5AD200" typeRef="Any" hitPolicy="COLLECT" label="Questions">
+ <dmn:input id="_0459985D-B03B-40E6-8C69-011E6454AABE">
+ <dmn:inputExpression id="_A1785E87-6ECC-4C75-A098-8BE83361926E" typeRef="boolean">
+ <dmn:text>Policy Info.Total Loss</dmn:text>
+ </dmn:inputExpression>
+ </dmn:input>
+ <dmn:input id="_48DBFD12-8AEA-4754-9B9D-2D0781C9185B">
+ <dmn:inputExpression id="_95012A8C-D3A1-4E37-B8AD-A4691E7579D7" typeRef="string" expressionLanguage="https://www.omg.org/spec/DMN/20240513/B-FEEL/">
+ <dmn:text>Policy Info.Jurisdiction</dmn:text>
+ </dmn:inputExpression>
+ <dmn:inputValues id="_152EE573-A0AC-4D65-9E44-27D495BFBF99" typeRef="string">
+ <dmn:text></dmn:text>
+ </dmn:inputValues>
+ </dmn:input>
+ <dmn:output id="_D6FA5003-AEBF-49C9-BF5E-81C6180AE945" />
+ <dmn:annotation name="Annotations" />
+ <dmn:rule id="_00DE08BD-1D3E-4FD6-852C-75EDBB90E574">
+ <dmn:inputEntry id="_C0BDB2D1-DB39-4D93-82A9-817E6460F919">
+ <dmn:text>true</dmn:text>
+ </dmn:inputEntry>
+ <dmn:inputEntry id="_8E2EDB74-9D2B-4612-8175-D7967D5C1EA7">
+ <dmn:text>"CA"</dmn:text>
+ </dmn:inputEntry>
+ <dmn:outputEntry id="_5961AD26-5A89-4365-99DB-A829B81BF40A">
+ <dmn:text>"Please complete the loss evaulation questionnarie for total loss claims."</dmn:text>
+ </dmn:outputEntry>
+ <dmn:annotationEntry>
+ <dmn:text>// Your annotations here</dmn:text>
+ </dmn:annotationEntry>
+ </dmn:rule>
+ <dmn:rule id="_7BA156AE-4264-4AEC-9C89-A97264697F45">
+ <dmn:inputEntry id="_B45C051C-F7B6-4CC0-888B-5DB7395882AC">
+ <dmn:text>true</dmn:text>
+ </dmn:inputEntry>
+ <dmn:inputEntry id="_A789ABF8-DD19-4805-996C-68CF8A0466AD">
+ <dmn:text>""</dmn:text>
+ </dmn:inputEntry>
+ <dmn:outputEntry id="_AF35DABD-ECB3-4E21-8A2A-61146CDC3A77">
+ <dmn:text>"IS there special equipment installed or included in the samage to the commercial vehicle?"</dmn:text>
+ </dmn:outputEntry>
+ <dmn:annotationEntry>
+ <dmn:text></dmn:text>
+ </dmn:annotationEntry>
+ </dmn:rule>
+ <dmn:rule id="_DABCDE4A-EF36-4013-8AC8-744249516792">
+ <dmn:inputEntry id="_B9322D33-99CE-4600-8AE7-0B6DB047E5F2">
+ <dmn:text>true</dmn:text>
+ </dmn:inputEntry>
+ <dmn:inputEntry id="_4125B926-E4E2-4FD8-906D-C3FDA57924CB">
+ <dmn:text>""</dmn:text>
+ </dmn:inputEntry>
+ <dmn:outputEntry id="_6E063DA6-4D02-42BD-9A6E-3E07C6E59D87">
+ <dmn:text>"Please compelte the loss evaulation questionnarie for total claims"</dmn:text>
+ </dmn:outputEntry>
+ <dmn:annotationEntry>
+ <dmn:text></dmn:text>
+ </dmn:annotationEntry>
+ </dmn:rule>
+ <dmn:rule id="_C61379DD-15D6-475C-A4A0-3B2535AA4233">
+ <dmn:inputEntry id="_4BCCF7E5-D3E1-45B5-8352-6D39B57F3C9A">
+ <dmn:text>true</dmn:text>
+ </dmn:inputEntry>
+ <dmn:inputEntry id="_8A636C9F-00AE-4A0D-9ABF-ADD880061E77">
+ <dmn:text>""</dmn:text>
+ </dmn:inputEntry>
+ <dmn:outputEntry id="_ED029832-316E-4E4C-8F6B-5B9921E7D4AF">
+ <dmn:text>"Was this a commercial verhicle licensed in Colorado?"</dmn:text>
+ </dmn:outputEntry>
+ <dmn:annotationEntry>
+ <dmn:text></dmn:text>
+ </dmn:annotationEntry>
+ </dmn:rule>
+ <dmn:rule id="_C5A0B660-D6C9-4B75-9626-D090299B3F55">
+ <dmn:inputEntry id="_DF0AAEDA-2C45-4FEB-97F8-C539B0B4B92D">
+ <dmn:text>false</dmn:text>
+ </dmn:inputEntry>
+ <dmn:inputEntry id="_F9FA44DC-73B1-457C-B12A-892F0280A399">
+ <dmn:text>-</dmn:text>
+ </dmn:inputEntry>
+ <dmn:outputEntry id="_69CA537A-66B3-45CC-8985-2044221B6E0A">
+ <dmn:text></dmn:text>
+ </dmn:outputEntry>
+ <dmn:annotationEntry>
+ <dmn:text></dmn:text>
+ </dmn:annotationEntry>
+ </dmn:rule>
+ </dmn:decisionTable>
+ </dmn:contextEntry>
+ <dmn:contextEntry id="_1976A876-E8E4-4AA6-985C-168D7FA21FAA">
+ <dmn:variable id="_E35BB9D2-B9F3-4CA1-AC54-D6B2454075F4" name="Processing Date" typeRef="date and time" />
+ <dmn:literalExpression id="_8957D16B-96C4-4A17-BC20-17DC679A154F" typeRef="date and time" label="Processing Date" expressionLanguage="https://www.omg.org/spec/DMN/20240513/FEEL/">
+ <dmn:text>now()</dmn:text>
+ </dmn:literalExpression>
+ </dmn:contextEntry>
+ <dmn:contextEntry id="_25CE5588-3821-46A1-BC29-E2B5A15F16BF">
+ <dmn:literalExpression id="_0E73C8A3-76CF-4BD5-9F1C-04BBEE1E9C47" typeRef="UW Questions" label="Questions">
+ <dmn:text>{ "Questions": Questions, "Processing Date" : Processing Date }</dmn:text>
+ </dmn:literalExpression>
+ </dmn:contextEntry>
+ </dmn:context>
+ </dmn:decision>
+ <dmn:inputData name="Policy Info" id="_B292D9B8-370B-49BA-B8F3-278A61A7BC22">
+ <dmn:variable name="Policy Info" id="_0AD96AA2-AEEB-47B6-92FB-CFDA91BC3249" typeRef="Policy Info" />
+ </dmn:inputData>
+ <dmn:decisionService name="Jurisdictionspecificqns" id="_D1AEAA87-21DF-4E13-BFAA-B0CC360B9DB6">
+ <dmn:variable name="Jurisdictionspecificqns" id="_2814B9CD-3F89-4DE0-842C-D9BE624A6ED7" typeRef="UW Questions" />
+ <dmn:outputDecision href="#_AEDE88F0-9D5A-4569-AE7B-70FC44FCABBA" />
+ <dmn:inputData href="#_B292D9B8-370B-49BA-B8F3-278A61A7BC22" />
+ </dmn:decisionService>
+ <dmndi:DMNDI>
+ <dmndi:DMNDiagram id="_3B9B10C0-B37C-4846-8E1E-AEAE8D8F42C3" name="Default DRD" useAlternativeInputDataShape="false">
+ <di:extension>
+ <kie:ComponentsWidthsExtension>
+ <kie:ComponentWidths dmnElementRef="_AE97790B-10DB-4A92-9798-F0CF5D643FCB">
+ <kie:width>120</kie:width>
+ </kie:ComponentWidths>
+ <kie:ComponentWidths dmnElementRef="_0E73C8A3-76CF-4BD5-9F1C-04BBEE1E9C47">
+ <kie:width>1262</kie:width>
+ </kie:ComponentWidths>
+ <kie:ComponentWidths dmnElementRef="_2298BCDA-9D67-4301-A817-1BDB9C5AD200">
+ <kie:width>60</kie:width>
+ <kie:width>181</kie:width>
+ <kie:width>117</kie:width>
+ <kie:width>554</kie:width>
+ <kie:width>370</kie:width>
+ </kie:ComponentWidths>
+ <kie:ComponentWidths dmnElementRef="_8957D16B-96C4-4A17-BC20-17DC679A154F">
+ <kie:width>190</kie:width>
+ </kie:ComponentWidths>
+ </kie:ComponentsWidthsExtension>
+ </di:extension>
+ <dmndi:DMNShape id="_B1829D3D-4415-4A38-8D37-386AD7B36723" dmnElementRef="_D1AEAA87-21DF-4E13-BFAA-B0CC360B9DB6" isCollapsed="false" isListedInputData="false">
+ <dc:Bounds x="560" y="100" width="320" height="320" />
+ <dmndi:DMNDecisionServiceDividerLine id="_E3A97D25-84EA-456D-AC54-F5B1F575C23E">
+ <di:waypoint x="560" y="260" />
+ <di:waypoint x="880" y="260" />
+ </dmndi:DMNDecisionServiceDividerLine>
+ </dmndi:DMNShape>
+ <dmndi:DMNShape id="_8FE40767-DAAC-4FB8-81B5-82BDBEBE64AF" dmnElementRef="_AEDE88F0-9D5A-4569-AE7B-70FC44FCABBA" isCollapsed="false" isListedInputData="false">
+ <dc:Bounds x="640" y="160" width="160" height="80" />
+ </dmndi:DMNShape>
+ <dmndi:DMNShape id="_65CF5115-6EF2-446D-9B28-C0315F803F42" dmnElementRef="_B292D9B8-370B-49BA-B8F3-278A61A7BC22" isCollapsed="false" isListedInputData="false">
+ <dc:Bounds x="320" y="180" width="160" height="80" />
+ </dmndi:DMNShape>
+ <dmndi:DMNEdge id="_BE264634-A2C4-4BFB-8F04-99305D9164E6" dmnElementRef="_AD17F32A-68B5-4EE2-9DA2-DC3746B0A9DB" sourceElement="_65CF5115-6EF2-446D-9B28-C0315F803F42" targetElement="_8FE40767-DAAC-4FB8-81B5-82BDBEBE64AF">
+ <di:waypoint x="400" y="220" />
+ <di:waypoint x="640" y="200" />
+ </dmndi:DMNEdge>
+ </dmndi:DMNDiagram>
+ </dmndi:DMNDI>
+</dmn:definitions>
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@kie.apache.org
For additional commands, e-mail: commits-help@kie.apache.org