如何在Drools中从Java API操作引导决策表?

时间:2016-01-15 12:08:05

标签: java rest drools

我的项目要求我需要从基于Web的自定义UI操作Drools引导的决策表内容(只是数据而不是结构)。

我搜索了很多但是我无法在Drools中找到任何可以访问指导决策表的Java或REST API。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:3)

我假设您正在讨论kie-workbench中的指导决策表。

据我所知,没有公共API来操纵指导决策表,但还有另一件事你可以做。 kie-workbench中的每个项目实际上都是一个持久存储在本地git存储库中的maven项目。好消息是你实际上可以制作clone of that repository

获得项目的本地克隆后,您可以找到要修改为具有.gdst扩展名的文件的指导决策表。

例如,这是与kie-workbench一起出现的uf-playground示例项目的目录结构:

Tree structure of uf-playground project

在上面的屏幕截图中,您可以看到Pricing loans.gdst文件。该文件的内容是一个xml,包含“定价贷款”指导决策表的结构和数据。

这就是事情变得有趣的地方。如果你深入研究kie-workbench代码,我相信你会发现某种未记录且非常易变的API来处理这些.gdst文件。毕竟,kie-workbench实际上是在创建和修改这些文件。这里的挑战是:

  1. 查找此API
  2. 了解此API
  3. 从技术角度来看可能不是最好的另一个解决方案 - 但是对于简单的事情(如数据操作)更容易实现 - 是使用XML库解析和修改这些.gdst文件。

    完成更改后,您可以将它们推回到kie-workbench,它们将可供GUI用户使用。

    当然,这两个提议的解决方案都不是理想的。使用未被第三方使用且未来肯定会改变的未记录的API可能听起来不是一个好主意。但是手动解析一个XML文件,其语义可能会在不同版本的kie-workbench上发生变化,这也会带来一些挑战。

    希望它有所帮助,