提取Drools Guvnor .pkg文件

时间:2014-07-23 14:21:29

标签: drools drools-guvnor

我是Drools和Guvnor的新手。我们已经创建了DRL文件并加载到Guvnor中,我们已经构建了包。它导致了一个.pkg文件。我们从Guvnor下载这个.pkg文件,并将其用于我们的不同项目。现在我正在尝试查看.pkg文件中的内容,但我不确定如何打开它。

2 个答案:

答案 0 :(得分:1)

没有工具(我知道)打开Drools pkg文件并检查其内容。根据您要实现的目标,可能的解决方案是以编程方式从该pkg创建Kiebase(或kbase)并以编程方式检查其内容。

顺便问一下,你想在那个文件里面找到什么?

希望它有所帮助,

答案 1 :(得分:1)

以下代码检查知识库,并将写出加载到其中的所有软件包的名称以及这些软件包中的规则名称。可能会提取更多信息,但我从未发现需要。你唯一得到的就是规则的源代码。但是按照你的解释,可以在Guvnor中找到。

/**
 * Return a string containing the packages used to build the knowledge base.
 */
public static String knowledgeBaseDetails(KieBase kbase) {
    if (kbase == null) {
        return "Knowledge Base is null.";
    } else {
        StringBuilder sb = new StringBuilder(
                "Knowledge base built from the following packages:");
        Collection<KiePackage> packages = kbase
                .getKiePackages();
        for (KiePackage kp : packages) {
            sb.append("\n    Package: [" + kp.getName() + "]");
            for (Rule rule : kp.getRules()) {
                sb.append("\n        Rule: [" + rule.getName() + "]");
            }
        }
        return sb.toString();
    }
}

Drools 5和6几乎相同。通常对于早期版本的Drools,只需将Kie更改为Knowledge即可。