1

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

4

2 回答 2

0

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

要将枚举从应用程序加载到 guvnor,

  1. 从字符串动态构建枚举类(在我的情况下,枚举值由用户通过 GUI 提供)
  2. 将其添加到 jar 中,将其转换为字节数组
  3. 通过 REST 调用将其作为资产(模型 jar)发布到 guvnor
  4. 调用save repository操作(guvnor源代码变化)

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

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

于 2013-01-17T13:15:57.480 回答
0

从 Guvnor 的文档中:

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

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 的枚举中,您输入:

=(new SampleDataSource2()).loadData()

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

此致,

于 2012-11-05T07:38:58.357 回答