Comments (5)
Thank you everyone for your investigation. Based on the conversation it looks like we could close this issue, is that correct please?
from tck.
Hi @tarsij - if I understand what you mean, we have quite a few tests that assert that if a decision result is a context, then its values are accessed as .. https://github.com/dmn-tck/tck/blob/master/TestCases/compliance-level-3/0007-date-time/0007-date-time.dmn#L114 is an example. The decision 'Date' returns a context, and when using it, another decision refers to Date.<fieldname>
.
Hopefully I understood correctly.
from tck.
Hi @StrayAlien,
Sorry for the late reply.
I think that's not exactly what I meant.
I'll try to give an example here
------------------------------------
| | | DecisionA |
|-------|-------|------------------|
| In1 | In2 | Out |
|-------|-------|------------------|
^
|
|
---------------------------
| | DecisionB |
|------|------------------|
| In | Out1 | Out2 |
|------|---------|--------|
Lets say In1
will use the Out1
and In2
will use the Out2
.
In Camunda it will be referenced as Out1
and Out2
in the input expression.
In Drools it will be referenced as DecisionB.Ou1
and DecisionB.Out2.
from tck.
Hi @tarsij
Got you. Though, same still holds. Both season
and guestCount
decisions return contexts - each has a decision table as an expression. The decision tables both have multiple output columns with a hit policy of unique
. The 'type' of a decision table with multiple outputs and a unique hit policy is a context - so therefore accessing the result values of the decision is done using . context syntax.
As far as I can see we don't have an explicit test for this scenario, but, we do have a number of tests where the input expression of a decision table is a referring to a field in a context so uses ., and we also have tests that (directly or indirectly) assert the return type of multi-output decision tables with a unique hit policy is a context.
I guess, in summary, the way Drools does it is how the TCK test asserts stuff.
As to why the difference in implementations etc maybe Camunda can chime in? @falko
from tck.
@tarsij your observation is correct. 👍 In Camunda Platform 7, the DMN engine exposes the output of the required decision as an incorrect structure.
The behavior is fixed by the Camunda DMN-Scala extension or the new DMN engine that is used in Camunda Platform 8.
from tck.
Related Issues (20)
- Clarify mixed type workings of `+` operator HOT 3
- Clarify `null` handling in `FunctionInvocation` HOT 6
- Cover comparisons
- Create transitive import test cases based on snippets in DMN15-58 HOT 2
- Doubtful typing on overloaded built-in function in test HOT 2
- Report does not work under windows
- The test cases table breaks up around Compliance-Level-3
- New PRs ... but deleting them. The PRs have dragged in CL/LF differences HOT 2
- Patches to test cases HOT 4
- Confused about decision service encapsulatedDecisions - ambiguous - is ch11 example correct? HOT 5
- Task list for DMN 1.6
- Optional fn params vs null values HOT 4
- Question to test case `decision_015` in `0084-feel-for-loops.dmn` HOT 1
- Quesion to test case `nested009` in `1146-feel-context-put-function.dmn` HOT 2
- 0014-loan-comparison assumes that sorting keeps the original order HOT 2
- breaking change?: what do do with range equality? What is 'undefined'? HOT 2
- Is `[100] = 100` false or null?
- Does @"P0D" = "P0Y" give `true` or `null` (or false?) ?
- The new text for type conversions in "10.3.2.9.4 Type conversions" misses some use cases
- Spec permits ranges to use new `=` and `!=` comparison operators - but it doesn't make much sense (to me) HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tck.