0

我有一个 Java 枚举作为 DMN 决策表中的输入。DMN 调用直接嵌入在 Java 应用程序中。所以采取一些枚举:

public enum Foo {
    ONE, TWO
}

我将此枚举的一个实例作为输入传递 -dmnContext.set("Foo", foo);

我希望能够为字符串类型的 foo 设置一个决策表输入,并有一个匹配“ONE”的规则。但是,这不起作用,因为没有 POJO-String 转换。在 Java 代码中,我可以将 foo 存储为字符串并根据枚举值对其进行验证(即检查 foo 是否在集合 ["ONE", "TWO"] 中),但这会使应用程序的其他部分复杂化。

在仍然使用枚举类型的同时如何实现这一点?

4

1 回答 1

0

请参阅此现有的 JIRA 记录评论部分,以获取有关以下内容的说明:

  • 为什么你会遇到这种行为
  • 以及为什么要将 Java 枚举转换为预期的 DMN 类型(我猜)是 FEEL:string ,而不是枚举

您可以使用 Jackson 来实现这一点,而不是求助于自定义代码或 DMN 模型修改。

不要犹豫,订阅上面链接的 JIRA,因为我们希望让这项工作开箱即用;但并非微不足道,因为 DMN RTF 正在考虑最终在 DMN 中直接引入枚举,因此我们需要考虑今天可能发生的事情。

由于您链接到红帽产品文档,因此强烈建议您在https://access.redhat.com/support/cases/#/打开客户门户票证(如果您有订阅)。

我将感谢您在参考/指针之后的反馈,我希望这些对您有所帮助

于 2021-10-13T14:59:33.063 回答