The idea of the rule given below is to collect a List<AcquiredCertification>
from a certain User that's contained in the Position object's list of
requiredCertifications, and then to compare the sizes. Equality means that
User meets all requirements.
rule "meets requirements"
dialect "mvel"
when
Position( $certifications: requiredCertifications )
User( $name: name, $profile: profile )
$got: List() from collect ( AcquiredCertification( certification
memberOf $certifications ) from $profile.userCertifications )
eval($certifications.size == $got.size )
then
System.out.println( "Hire " + $name );
end
-W
On 19 September 2010 01:26, lnguyen <[email protected]> wrote:
>
> Hi,
>
> I'm trying to determine if a user has the required certifications for a
> position. So I'm comparing the list of required certifications to the list
> of User Certifications but I'm throwing a nullPointerException even though
> I
> check to make sure the list are not null on their respective objects. How
> do
> I iterate between both list?
>
> rule "Determine if the user has the required certifications"
> dialect 'mvel'
> no-loop true
> salience 80
> when
> $user : User()
> $profile : UserProfile($userCertifications : userCertifications,
> eval(userCertifications != null)) from $user.userProfile
> $position : Position($certifications : requiredCertifications,
> eval(requiredCertifications != null))
> exists ($certification: Certification() from $certifications and
> UserCertification(certification == $certification) from
> $userCertifications)
> then
> System.out.println("The user has the required certifications");
>
> end
>
> public UserProfile
> {
>
> List<UserCertification> userCertifications;
> //more fields
> }
>
> public Position
> {
> List<Certification> requiredCertifications;
> //more fields
> }
>
> public Certification
> {
> Long id;
>
> String name;
> //more fields
> }
>
> public UserCertification
> {
>
> Long id;
>
> Date certificationDate;
>
> Certification certification;
> //more fields
> }
> --
> View this message in context:
> http://drools-java-rules-engine.46999.n3.nabble.com/LHS-compare-two-lists-tp1521979p1521979.html
> Sent from the Drools - User mailing list archive at Nabble.com.
> _______________________________________________
> rules-users mailing list
> [email protected]
> https://lists.jboss.org/mailman/listinfo/rules-users
>
_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users