-
Notifications
You must be signed in to change notification settings - Fork 2
Redesign decision evaluation result #262
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Redesign decision evaluation result #262
Conversation
|
@zambrovski can you please check the fix? I want to have that discrepancy against DMN 1.6 settled, before creating PR for C8 implementation. Thank you in advance |
|
Will do ASAP... |
c0c33f5 to
1d45049
Compare
1d45049 to
56f5b03
Compare
|
@zambrovski please also check the last commit in this PR. After long reflection on the DMN 1.6 specification and analysis of Camunda 8 decision evaluation results there was a pittiy discovery: there is no way how we can guarantee derivation of the decision evaluation result returned by the engine from both perspective:
|
|
Ok... This is then a sign for us that it is generally a good idea to let the user receive the evaluation result as a multi-value or a single value result... I'll create a PR for this - let's discuss on that further... To make life easier, I would add you to this repository / org, so you can commit directly.. |
|
My proposal is still to keep the |
|
My proposal is - if you comply with my changes to your PR, let adopt them and merge in. Then you implement C8 and I implement C7 in a meantime based on the snapshot... If everything works we will release API 1.5 and corresponding adapter versions. |
I would disagree. Let's imagine I'm a developer and have a decision table I designed in Camunda 8. In the decision table I have named the single output as 'offer'. Then when calling the api of the adapter I would expect that when I use result.asSingle?.asMap["offer"] to return me correct output value instead of index - 0. |
|
In my propose you get the result, and on it you call single / list to get one or list of output... On those there might be be asType() or asMap... the methods might fail |
|
Let us focus on the example use case and experiment there ... In theory the asType() might be used for either a single value conversion with asType(Double.class) or as a complex multivalue to type conversion with asType(Offer.class) and the implementation might use Jackson or so to deserialize |
I agree. So the proposal is to stick to your proposal (with the last commit I just slightly adjusted asType(type: Class). |
8485e89 to
565fa4f
Compare
565fa4f to
83c1ee4
Compare
The DMN 1.6 standard and Camunda 8 implementation handles single-output result in an unanimous way (no-named value). So the contract with Map<String, Any> for the EvaluationResultOutput is noncompliant. Proposing fix for it.