Hi guys,
    I have a question regarding the import function feature in Drools 5.1.0M.

    I am reading the Drools JBoss Rules 5.0 book Developer's guide by Michal 
Bali and tried one of the examples but somehow I couldn't get my rules work 
with the method that has varargs. 

Here's what I have (copied from page 123):

public class ValidationHelper {
    public static void error (RuleContext kcontext, Object... context) {
        KnowledgeRuntime knowledgeRuntime = kcontext.getKnowledgeRuntime();
        ValidationReport validationReport = 
(ValidationReport)knowledgeRuntime.getGlobal("validationReport");
        ReportFactory reportFactory = (ReportFactory) 
knowledgeRuntime.getGlobal("reportFactory");

        kcontext.insertLogical(reportFactory.createMessage(
                Message.Type.ERROR, kcontext.getRule().getName(),
                context));
    }
}


then in my drools file (copied from page 42): 
i have

import org.drools.runtime.rule.RuleContext;
import function ValidationHelper.error;
...
rule test
when
   #condition
 then
    error(drools)


but when I ran the test, I got error message:

Exception in thread "main" org.drools.runtime.rule.ConsequenceException: 
[Error: unable to resolve method: 
ValidationHelper.error(org.drools.base.DefaultKnowledgeHelper) [arglength=1]]

If I remove the parameter Object... context, then everything worked. But I do 
need the varargs here because I need my error message to be more specific.

Did anyone else encounter the same problems?


thanks!


      
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to