【问题标题】:Convert Java POJO to Drools DRL and vice versa将 Java POJO 转换为 Drools DRL,反之亦然
【发布时间】:2012-05-05 00:17:00
【问题描述】:

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

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

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

非常感谢!

【问题讨论】:

    标签: java drools rule


    【解决方案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/

    【讨论】:

    • 感谢 Edson 的回复。在我的例子中,Java POJO 表示包含规则名称、“何时”和“然后”部分的规则。包名称和导入是根据需要创建的。我将查看您提供的链接并在此处更新。感谢您的帮助!
    • Edoson,Link (3) 符合我的需要。我已经使用普通的 StringBuffer 开发了样板代码,但是使用这个 API 会很容易。感谢您提供宝贵的信息。
    • 所有这些链接都处于离线状态,您介意重新发布吗?
    猜你喜欢
    • 2012-03-24
    • 1970-01-01
    • 1970-01-01
    • 2015-03-05
    • 2013-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多