This is an automated email from the ASF dual-hosted git repository.
tzimanyi pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-drools.git
The following commit(s) were added to refs/heads/main by this push:
new 250b346a12 [kie-issues#1410] Fix type check for decision service input
parameters. (#6133)
250b346a12 is described below
commit 250b346a12f2fb1deb1883f38526db01306ced98
Author: Tibor Zimányi <[email protected]>
AuthorDate: Tue Oct 22 13:11:54 2024 +0200
[kie-issues#1410] Fix type check for decision service input parameters.
(#6133)
---
.../core/ast/DMNDecisionServiceFunctionDefinitionEvaluator.java | 8 ++++++--
.../kie/dmn/core/decisionservices/DMNDecisionServicesTest.java | 4 ++--
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git
a/kie-dmn/kie-dmn-core/src/main/java/org/kie/dmn/core/ast/DMNDecisionServiceFunctionDefinitionEvaluator.java
b/kie-dmn/kie-dmn-core/src/main/java/org/kie/dmn/core/ast/DMNDecisionServiceFunctionDefinitionEvaluator.java
index 00c2c0f50f..99700adc60 100644
---
a/kie-dmn/kie-dmn-core/src/main/java/org/kie/dmn/core/ast/DMNDecisionServiceFunctionDefinitionEvaluator.java
+++
b/kie-dmn/kie-dmn-core/src/main/java/org/kie/dmn/core/ast/DMNDecisionServiceFunctionDefinitionEvaluator.java
@@ -160,7 +160,7 @@ public class DMNDecisionServiceFunctionDefinitionEvaluator
implements DMNExpress
dsFormalParameter.type,
typeCheck,
(rx, tx) ->
MsgUtil.reportMessage(LOG,
-
DMNMessage.Severity.WARN,
+
DMNMessage.Severity.ERROR,
null,
resultContext,
null,
@@ -169,7 +169,11 @@ public class DMNDecisionServiceFunctionDefinitionEvaluator
implements DMNExpress
dsFormalParameter.name,
tx,
MsgUtil.clipString(rx.toString(), 50)));
- return result;
+ if (param != null && result == null) {
+ throw new IllegalArgumentException("Parameter " + param + "
cannot be assigned to parameter of type " + dsFormalParameter.type + "!");
+ } else {
+ return result;
+ }
}
@Override
diff --git
a/kie-dmn/kie-dmn-core/src/test/java/org/kie/dmn/core/decisionservices/DMNDecisionServicesTest.java
b/kie-dmn/kie-dmn-core/src/test/java/org/kie/dmn/core/decisionservices/DMNDecisionServicesTest.java
index 69be0798dd..a98a5d1ea9 100644
---
a/kie-dmn/kie-dmn-core/src/test/java/org/kie/dmn/core/decisionservices/DMNDecisionServicesTest.java
+++
b/kie-dmn/kie-dmn-core/src/test/java/org/kie/dmn/core/decisionservices/DMNDecisionServicesTest.java
@@ -633,8 +633,8 @@ public class DMNDecisionServicesTest extends
BaseInterpretedVsCompiledTest {
final DMNResult dmnResult = runtime.evaluateAll(dmnModel,
emptyContext);
LOG.debug("{}", dmnResult);
dmnResult.getDecisionResults().forEach(x -> LOG.debug("{}", x));
-
assertThat(dmnResult.hasErrors()).as(DMNRuntimeUtil.formatMessages(dmnResult.getMessages())).isFalse();
- assertThat((Map<String, Object>) dmnResult.getDecisionResultByName("my
invoke DS1").getResult()).containsEntry("outDS1", true);
+
assertThat(dmnResult.hasErrors()).as(DMNRuntimeUtil.formatMessages(dmnResult.getMessages())).isTrue();
+ assertThat((Map<String, Object>) dmnResult.getDecisionResultByName("my
invoke DS1").getResult()).isNull();
}
@ParameterizedTest
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]