首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改DMN Kogito中的POJO对象

更改DMN Kogito中的POJO对象
EN

Stack Overflow用户
提问于 2022-05-04 07:23:43
回答 1查看 265关注 0票数 0

我有bpmn2文件,我在其中用作进程数据POJO应用程序。要了解如何使用DMN,我希望根据DMN中的smth更改1个POJO属性。当输入上有应用程序,输出上有一个字符串值时,我就设法使DMN工作。现在,我想在输入应用程序中保留输入,并在输出上修改应用程序:

在DMN内部,我有以下结构:

我用string algId字段创建了数据类型algId:

因此,DMN中的应用程序是一个tApplication数据类型,对于决策,我尝试使用决策表:

我的想法是-当application.algId == "101“将该值更改为"115”时,但对于输入

代码语言:javascript
复制
{
  "application": {
    "algId":"101",
    ...
  }
}

我得到以下结果:

代码语言:javascript
复制
{
    "id": "98b8a9ad-1c1d-4c4f-8525-6e5fe9a528c9",
    "application": {
        "algId":"101",
    ...
  }
}

我做错了什么?更改DMN中的POJO对象的最佳实践是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-04 13:45:16

一个非常相关和类似的用例被精确地描述在:

这篇博客文章:https://blog.kie.org/2022/01/data-enrichment-use-case-with-dmn-and-bpmn.html

在访问代码之前,我强烈建议先看视频或阅读博客文章。

需要提醒的是,DMN规范要求使用无状态和无副作用的模型,因此不能对现有的InputData变量本身进行变异。但是,您可以使用“数据丰富”策略来实现您的用例,如博客文章和视频所示。

简单地说,你可以遵循两个主要的策略:

  • 在DMN模型中,您决定将algId作为它自己的决策节点algId,该节点稍后将用于BPMN过程数据I/O中,为了用DMN模型中的预期结果
  • 更新algId类型的进程变量,您使用新的DMN感觉--例如context put() --将流程变量替换为决策

F 220,得到了一个数据丰富的最终决策,该决策具有相同的Application类型结构。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72109275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档