Seems the engine does not know your list is composed by Integers and so, does not convert your 921 constant into an integer.

    Not sure if we will be able to change that while keeping java 1.4 compatibility, but you can add a JIRA for investigating that.

    Meanwhile, best way is probably to set your constant as a global or something.

    []s
    Edson


2007/4/19, Bynum, Joe < jbynum@onecommunications.com>:
I switched the type to a String, slapped some quotes around 921 and it works as expected.  Any ideas about why it's not working with an Integer?


From: rules-users-bounces@lists.jboss.org [mailto:rules-users-bounces@lists.jboss.org] On Behalf Of Bynum, Joe
Sent: Thursday, April 19, 2007 8:53 AM
To: rules-users@lists.jboss.org
Subject: [rules-users] Issue with "contains" keyword

I'm doing some simple evaluation of jrules and I ran into a problem.  Here's the rule I'm having problems with:
 
rule
"751845 - Check Stages"

    when

        order : Order( stages excludes 921 )

    then

        System.out.println( "This order contains " + order.getStages() );

end

OUTPUT:

This order contains [804, 921]

I'm actually trying to do the opposite using 'stages contains 921'.  stages is defined as follows in the Order object.

private

ArrayList<Integer> stages;

I'm using the 3.0.6 binaries on W2K w/Eclipse.

Any ideas what I'm doing wrong here?

 


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




--
  Edson Tirelli
  Software Engineer - JBoss Rules Core Developer
  Office: +55 11 3124-6000
  Mobile: +55 11 9218-4151
  JBoss, a division of Red Hat @ www.jboss.com