在 DMN Kogito 中更改 POJO 对象
Changing POJO Object in DMN Kogito
我有 bpmn2 文件,我在其中用作流程数据 POJO 应用程序。
为了学习如何使用 DMN,我想根据 DMN 内部的 smth 更改 1 POJO 属性。当我在输入上有应用程序并且在输出上有一个字符串值时,我设法使 DMN 工作。现在我想在输入应用程序中输入并在输出中修改应用程序:
在 DMN 内部我有以下结构:
我创建了带有字符串 algId 字段的数据类型 tApplication:
所以DMN里面的application是一个tApplication数据类型,为了decision我试着用decision table:
我的想法是 - 当 application.algId == "101" 将该值更改为 "115",但对于输入
{
"application": {
"algId":"101",
...
}
}
我得到以下结果:
{
"id": "98b8a9ad-1c1d-4c4f-8525-6e5fe9a528c9",
"application": {
"algId":"101",
...
}
}
我做错了什么?更改 DMN 内的 POJO 对象的最佳做法是什么?
一个非常相关和相似的 use-case 被精确地描述在:
- 此博客post:https://blog.kie.org/2022/01/data-enrichment-use-case-with-dmn-and-bpmn.html
- 此视频:https://www.youtube.com/watch?v=NHigoAz1TRY
- 此演示:https://github.com/tarilabs/dmn-data-enrichment-20210804
在访问代码之前,我强烈建议先观看视频或阅读博客 post。
重要的是要提醒,DMN 规范要求无状态和 side-effect 自由模型,因此您不能 改变 现有的 InputData 变量,per-se。但是,根据博客 post 和视频,您可以利用“数据丰富”策略来实现您的 use-case。
简而言之,您可以遵循 2 个主要策略:
- 在 DMN 模型中,您决定
algId
作为它自己的名为 algId
的决策节点,稍后将在 BPMN 流程数据中使用 I/O 以便使用预期结果 更新应用程序类型的 流程变量
- 在 DMN 模型中,您使用新的 DMN FEEL built-in,例如
context put()
和你用那个决定替换过程变量
我有 bpmn2 文件,我在其中用作流程数据 POJO 应用程序。
为了学习如何使用 DMN,我想根据 DMN 内部的 smth 更改 1 POJO 属性。当我在输入上有应用程序并且在输出上有一个字符串值时,我设法使 DMN 工作。现在我想在输入应用程序中输入并在输出中修改应用程序:
在 DMN 内部我有以下结构:
我创建了带有字符串 algId 字段的数据类型 tApplication:
所以DMN里面的application是一个tApplication数据类型,为了decision我试着用decision table:
我的想法是 - 当 application.algId == "101" 将该值更改为 "115",但对于输入
{
"application": {
"algId":"101",
...
}
}
我得到以下结果:
{
"id": "98b8a9ad-1c1d-4c4f-8525-6e5fe9a528c9",
"application": {
"algId":"101",
...
}
}
我做错了什么?更改 DMN 内的 POJO 对象的最佳做法是什么?
一个非常相关和相似的 use-case 被精确地描述在:
- 此博客post:https://blog.kie.org/2022/01/data-enrichment-use-case-with-dmn-and-bpmn.html
- 此视频:https://www.youtube.com/watch?v=NHigoAz1TRY
- 此演示:https://github.com/tarilabs/dmn-data-enrichment-20210804
在访问代码之前,我强烈建议先观看视频或阅读博客 post。
重要的是要提醒,DMN 规范要求无状态和 side-effect 自由模型,因此您不能 改变 现有的 InputData 变量,per-se。但是,根据博客 post 和视频,您可以利用“数据丰富”策略来实现您的 use-case。
简而言之,您可以遵循 2 个主要策略:
- 在 DMN 模型中,您决定
algId
作为它自己的名为algId
的决策节点,稍后将在 BPMN 流程数据中使用 I/O 以便使用预期结果 更新应用程序类型的 流程变量
- 在 DMN 模型中,您使用新的 DMN FEEL built-in,例如
context put()
和你用那个决定替换过程变量