我正在尝试运行一个使用drool.net的简单应用程序。每当我执行时,应用程序在builder.AddPackageFromDrl("DroolsApp.Rules.drl", stream);时崩溃,错误指出NullReferenceException未处理,对象引用未设置对象的实例。我试图更改drl文件,但错误仍然存在。我错过了什么吗?也有任何网站提供了详细的教程使用drools.net和我是否需要任何具体的程序来创建和编辑drl文件,因为我正在使用一个简单的记事本。
提前感谢
using System;
using System.Collections.Generic;
我想在drools规则文件(mvel)中声明一个全局变量。这是因为这个全局变量在所有规则中都用作另一个函数的参数。我可以很容易地在每次调用函数时显式地传递这个字符串,但是如果字符串发生变化,就很难做到这一点。
我想我可以做一个:
global String someStr = "some string";
但是在编译时,我得到:
[11,31]: [ERR 107] Line 11:31 mismatched input '=' expecting one of the following tokens: '[package, import, globa
我开始使用KIE Drools工作台,并练习创建DRL文件,这样我就可以指导不是程序员的人创建规则。
我知道如何在Workbench中创建JAVA类,但我需要知道如何导入我已经编写的类,它将是语句的一部分。
例如:我在Workbench中创建的雇主类,是在eclipse中开发的,希望导入到Workbench中。
因此drl看起来可能是这样:
when
$employer:Employer(isHappy == true)
then
Employee emp = new Employee();
emp.setSalary(100);
insert(emp);
end
您知道如何导入JAV
当我编写规则并尝试“或”姐妹类时,我遇到了一个小问题。一些背景知识,这是一个小样机来演示,这是在6.4中。我有一个父类Fact,它有两个女儿: ChildAFact和ChildBFact,我有这个规则:
rule "Rule 1"
when
f: ( ChildAFact() or ChildBFact() )
then
System.out.println(f);
end
当我运行我的测试时,我得到这个错误:
java.lang.RuntimeException: Error while creating KieBase[Message [id=1,
我需要编写drools程序来根据数据库中存储的约束来验证bean的属性。例如:
class Product {
private String description;
private String partNumber;
private int price;
//getters and setters
}
the constraints for field are stored in db like
description: mandatory, lengthMax=200
partNumber: mandatory, lengthMax=50
price:
package com.example.drools;
global Integer count; // I want to initialize this count variable with some
default value.
rule "Initialize"
when
then
count= 1; // Locally it's possible but want it to set globally which can
我有一个想拆分成不重叠的KxK块的NxN矩阵。对于每个块,我希望为元素分配新的值。
因为这里看起来像是一个生成器的好地方,所以我实现了:
def extracted_patches(im, top_left, patch_size, grid_size):
'''Extract patches in row-major order following a specific configuration
Parameters
----------
im : the input image (2D numpy array)
top_l
我有一个pojo的列表。
Class DroolsPojo{
List<String> answers;
//getters and setters
}
我的pojo返回一个类似{"a","b","c",""}的列表。
我如何使用drools做到这一点?
有没有办法用drools得到不等于"“的元素数?
我的规则如下。
rule "rule1"
when
dpojo:DroolsPojo(answers!=null)
then
List list = dpojo.
我正在测试一个相当复杂的系统,它根据一些业务规则(以半正式文本形式编写)运行。
目标是创建测试用例,这些测试用例覆盖尽可能多的系统状态。我想通过以下方式自动执行此任务:
1)在Drools中形式化业务规则2)然后使用某种机制创建所有可能情况的列表(需要测试)
例如,我有以下两个规则的业务规则包(这只是一个示例,实际的业务规则要复杂得多):
global List outErrorCodes;
global Boolean condition1;
global Boolean condition2;
global Boolean condition3;
rule "01"
在下面的drools规则中,如何传递一个参数来设置年龄的比较值(18应该是动态的
package com.rule.models
import com.rule.models.User
rule "AgeCheck"
when
$user: User( age < 18 )
then
System.out.println("Warning, "+$user.getName()+" is below age!");
end
如果执行,简单的示例循环ad infinitum。如果我加上"no-loop true“,它就会起作用。但是为什么呢?没有环孔..。
package spikes;
import org.springframework.roo.addon.javabean.RooJavaBean;
@RooJavaBean
public class Applicant {
private final String string;
private final int age;
public boolean valid=true;
public Applicant(String string, in
我是BPM新手,使用JBPM5.4安装程序。
下面是我的drl源代码,取自Guvner..当触发规则时,我得到了错误。
rule "TestRule"
dialect "java"
when
exists (Person( name == "estaban" ))
then
Person.setName( "ESTABAN" );
end
StackTrace:
Exception in thread "main"
我正试着用口水来处理列表。我正在传递一个请求,其中包含了一个购买清单。我想做几个规则,包括检查大小是否正确,如果所有元素是相同的,如果所有购买都是授权的,.我有下面的代码,但是我在处理列表时遇到了问题。这样做对吗?尤其是在检查尺寸的时候?
import com.rules.Purchase
import com.rules.PurchaseRequest
dialect "mvel"
global Boolean eligibleForRefund
rule "Check for list not equal to two elements" salie