[rules-users] function problem

Charlie Holland hollandck at gmail.com
Sat Nov 22 00:25:20 EST 2008


I'm fairly new to Drools so there may be an easier way to do this. I need to
check to see if any one of a list of tags on an object are in another list
of tags and am trying to do that with a function. the compiler tells me it
can't compile my eval function:

#list any import classes here.
**

*import* com.cp.services.rules.sources.Person;
**

*import* com.cp.services.rules.actions.PersonActions;
**

*import* com.cp.rules.TagCodes;
**

*import* java.util.List;



#declare any global variables here
**

*global* com.cp.services.rules.actions.PersonActions personActions;

**

*function* *boolean* hasOneOf(List list1, String[] list2){

*for* (Object obj : list1) {

String string = (String)obj;

*for* (*int* j = 0; j < list2.length; j++) {

*if* (string != *null* && string.equals(list2[j])) {

*return* *true*;

}

}

}

*return* *false*;

}

**

*rule* "Engineering"

*dialect* "mvel"

*when*
**

#conditions

Person( ageInYears >= 18 ) *and*

*eval* ( hasOneOf(Person(tagList), TagCodes(engrTags)) )

*then*

#actions

personActions.addAction("EngineeringGroup");

*

end
*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20081121/8ad06fd7/attachment.html 


More information about the rules-users mailing list