如何在(ILOG)IBM ODM中将自定义属性设置为业务规则

时间:2013-11-12 08:03:11

标签: business-rules ilog jrules ibm-odm

我需要为每个规则设置一个新属性(例如:唯一ID),并在执行期间从相应规则的操作部分访问它。 例如: 如果     人的年龄超过18岁 然后     将输出设置为规则的ID。

(此ID应来自正在添加的新属性。)

我正在使用IBM ODM 8.5。请建议从业务规则中获取唯一ID的所有方法是什么?

在虚拟方法的B2X映射中,我使用instance.getRule().properties打印了rule.properties映射。我期待自定义属性和所有其他规则属性。但是,属性映射只有少数几个:

key:ilog.rules.business_name value:test score

key:ilog.rules.package_name value:check score

key:requestorMail值:

key:状态值:new

key:ilog.rules.package value:check_score

key:ilog.rules.group value:check_score.test_score

2 个答案:

答案 0 :(得分:2)

您可以使用Model extension自定义规则模型,并将自定义属性(YOUR_PROPERTY_NAME)添加到规则工件中。

您可以通过添加虚拟方法(BOM中的静态方法!不要使用xom!只需将其与BOM编辑器一起添加)来表达YOUR_VERBALISATION。

  • 在方法实现(B2X)中,您可以使用instance.getRule().getPropertyValue("YOUR_PROPERTY_NAME")获取值; (实例是包含当前规则的IlrRuleInstance的运行时变量)
  • 在操作部分中,使用YOUR_VERBALISATION来调用方法。

答案 1 :(得分:0)

您可以使用的另一种方法是创建一组变量(Variable Set)。在变量集中,您可以定义:

  1. 变量的名称
  2. 变量的类型
  3. 此变量的语言描述
  4. (可选)此变量的初始值
  5. 它很容易创建,并且您可以访问规则应用程序或模块的任何部分。

    希望这有帮助。