工作环境:Drools 5.5.0.FINAL,JDK1.7
我正在开发一个Eclipse插件,可以在Drools的帮助下分析某些数据。
我已经制作了一个Eclipse视图,该视图应该包含并显示已加载的“ Drools-rules”。
是否有一种优雅的方法来加载某些信息,例如规则名称?
准备“ Rule Bean”并在处理“ then-clause”时填充信息,这并不会让我觉得这是正确的方法。
有什么建议么?
最佳答案
添加资源后,可以通过访问KnowledgeBuilder界面从所有KnowledgePack中获取规则。
例如
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());
}
}