You must insert a magic spell string to make this work ;-)

Look at this line:

   String(FactorKeys.PHONE_PACKAGE memberOf ownedProductFactorSet)

It says: "If there is an object of type java.lang.String and..." And so you must insert a String!

But, of course, you don't need this condition. You just want to make sure that FactorKeys.PHONE_PACKAGE is contained in the global ownedProductFactorSe.
You should write this as
   eval( ownedProductFactorSet.contains( FactorKeys.PHONE_PACKAGE ) )
Also, this line should be the first line, because it is a constant condition.

(If you do insert an arbitrary String object, the rule will work, but only up to version 5.1.1.
5.2.x has a different parser that refuses incorrect constraints.)

-W


On 17 May 2011 19:56, dxande6 <dxande6@qwest.com> wrote:
I'm trying to validate that there is a Factor in a collection using the
global variable ownedProductFactorSet.  I'm having trouble.  I do not get an
error, it just doesn't resolve to true.  I've validated the
ownedProductFactor set has the Factor

Java class that is contained withing the ownedProductFactorSet:

Factor
   String key
   String value

Here is the code in the drl:

global Set ownedProductFactorSet;

rule "Owned Products"
 ruleflow-group "discount-pricing"
 lock-on-active true
 when
     not Factor(key == FactorKeys.DISCOUNT)
     String(FactorKeys.PHONE_PACKAGE memberOf ownedProductFactorSet)
     Factor(key == RulesKeys.WIRELESS)

 then
     logger(kcontext).info("SUCCESS - *******************************");
     insert(new Factor(FactorKeys.DISCOUNT)); end

It never gets to the consequence (RHS - "then" part) of this rule.
If I comment out the following line:
     String(FactorKeys.PHONE_PACKAGE memberOf ownedProductFactorSet) It
will work.

Any help with the memberOf keyword is greatly appreciated.

Thanks,

-dxande6


--
View this message in context: http://drools.46999.n3.nabble.com/Drool-5-memberOf-problem-tp2953475p2953475.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users