将 Java POJO 转换为 Drools DRL,反之亦然

spa*_*k07 5 java drools rule

我在 UI 上有规则配置,它构建为 Java POJO。我如何生成 Drools DRL(传递给其他组件,该组件将匹配事实等,并在规则匹配时返回 true 或 false)。

我还从数据库收到 DRL 文件,为了在 UI 上显示规则,我需要转换回 Java POJO。

基本上有没有任何工具或脚本可以在 Java POJO 和 Drools DRL 文件之间进行转换?如果没有,最好的方法是什么?

非常感谢!

Eds*_*lli 1

我不确定你的 Java POJO 是什么?它们代表规则、模式、约束等吗?

如果是这样,Drools 就有一个内部规范模型来表示所有类型的知识资产 [1]。但我们不建议直接使用它,因为它是内部 API,可能会发生变化。

您的另一个选择是使用实际的规则描述符构建器 API [2] 动态生成您的规则 [3]。

最后,如果您有一个基于 Web 的 UI,并且希望允许用户在其中编写您的规则,您可以选择将 guvnor 的规则编辑器嵌入到您自己的应用程序中 [4]。

希望这可以帮助。

[1] https://github.com/droolsjbpm/drools/tree/master/drools-compiler/src/main/java/org/drools/lang/descr

[2] https://github.com/droolsjbpm/drools/tree/master/drools-compiler/src/main/java/org/drools/lang/api

[3] https://github.com/droolsjbpm/drools/blob/master/drools-compiler/src/test/java/org/drools/lang/api/DescrBuilderTest.java

[4] http://www.plugtree.com/guvnor-embed-asset%E2%80%99s-editor-in-your-application/