工作环境:Drools 5.5.0.FINAL,JDK1.7
我正在开发一个Eclipse插件,它可以在Drools的帮助下分析一些数据。 我已经创建了一个Eclipse View,它应该保存并显示已加载的“Drools-rules”。 是否有一种优雅的方法来加载一些信息,比如规则名称?
准备一个Rule-bean并在处理“then-clause”时用信息填充它并不会让我觉得这是正确的方法。
有什么建议吗?
答案 0 :(得分:1)
您可以在添加资源后通过访问KnowledgeBuilder接口从所有knowledgePackages获取规则。
e.g。
KnowledgeBuilder knowledgeBuilder = KnowledgeBuilderFactory
.newKnowledgeBuilder(knowledgeBuilderConfig);
knowledgeBuilder.add(ResourceFactory.newClassPathResource(ruleFile),
ResourceType.DRL);
Collection<KnowledgePackage> packages = knowledgeBuilder
.getKnowledgePackages();
for (KnowledgePackage knowledgePackage : packages) {
for (Rule rule : knowledgePackage.getRules()) {
System.out.println(rule.getName());
}
}