首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Drools Guvnor数据枚举API

Drools Guvnor数据枚举API
EN

Stack Overflow用户
提问于 2012-11-03 05:15:12
回答 2查看 1.1K关注 0票数 1

在Guvnor文档中,我知道如何定义数据枚举并在Guvnor中使用它。可以从我自己的Java代码中获取数据枚举吗?

EN

回答 2

Stack Overflow用户

发布于 2012-11-05 07:38:58

来自Guvnor的文件:

以编程方式加载枚举:在某些情况下,人们可能希望完全从外部数据源(例如关系数据库)加载枚举数据。为此,您可以实现一个返回Map的类。映射的键是一个字符串(如上面所示,它是Fact.field名称),值是string的java.util.List。

代码语言:javascript
复制
public class SampleDataSource2 {
    public Map<String>, List<String> loadData() {
        Map data = new HashMap();
        List d = new ArrayList();
        d.add("value1");
        d.add("value2");
        data.put("Fact.field", d);
        return data;
    }
}

在BRMS中的枚举中,您将:

代码语言:javascript
复制
=(new SampleDataSource2()).loadData()

"=“告诉它通过执行代码加载数据。

诚挚的问候,

票数 0
EN

Stack Overflow用户

发布于 2013-01-17 13:15:57

我希望现在回答这个问题还为时不晚。

从应用程序加载到guvnor,

  1. 从字符串动态构建enum类(在我的示例中,enum值由用户通过GUI提供)
  2. 将其添加到jar中,将其转换为字节数组。
  3. 通过REST调用将其作为资产(模型jar)发布到guvnor
  4. 调用保存存储库操作(guvnor源代码中的更改)

现在枚举将在您的规则窗口中显示为事实。

编辑/删除模型jar和验证规则的后果是您必须注意的事情。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13206189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档