[rules-users] 4.x to 5.1.0 Rule migration issue

Kumar Pandey kumar.pandey at gmail.com
Tue Sep 28 03:06:56 EDT 2010


Hi
I've inherited some old code running under 4.x of Drools. I'm investigating
use of 5.1.0 for newer development.
I was testing the old code base as is with drools 5.1.0 and got some
compilation issues on the DRL. Here is the sample drl snippet

package com.test.rule
import ...

rule "EmailVerificationCheck"
salience 500
when
   context  : RuleContext (paymentMethod == "P_EXPRESS")
   eval (!context.isTrustedUser())
   act      : RuleAction (action == null || == "VERIFY")
then
   if (act.getAction() == null) {
      if(!context.isPEmailVerified()) {
         act.setAction ("VERIFY");
      }
   }

   if (act.getAction() == "VERIFY") {
      if(!context.isPEmailVerified()) {
        act.getRuleNames().add("PEmailVerificationCheck");
      }
   }
end

Compilation error is at eval (!context.isTrustedUser()) and the error
message is as follows -

org.drools.rule.InvalidRulePackage: Unable to generate rule invoker. :
org.drools.lang.descr.EvalDescr at 1f8b158
com/playspan/rule/Rule_PayPal_EmailVerificationCheck_0Eval0Invoker.java
(16:48) : Redefinition of local variable "context"

at org.drools.rule.Package.checkValidity(Package.java:477)
~[drools-core-5.1.0.jar:5.1.0]
at org.drools.common.AbstractRuleBase.addPackages(AbstractRuleBase.java:479)
~[drools-core-5.1.0.jar:5.1.0]
at org.drools.reteoo.ReteooRuleBase.addPackages(ReteooRuleBase.java:445)
~[drools-core-5.1.0.jar:5.1.0]
at org.drools.reteoo.ReteooRuleBase.addPackage(ReteooRuleBase.java:452)
~[drools-core-5.1.0.jar:5.1.0]
at com.playspan.rule.RuleEngine.buildRuleBase(RuleEngine.java:374)
[classes/:na]
at com.playspan.rule.RuleEngine.initializeRuleSession(RuleEngine.java:384)
[classes/:na]

It is using java dialect and JANINO compiler.

I would really appreciate if some could point me to a direction for
troubleshooting this issue.

Is this construct invalid for 5.x onwards?

Thanks
Kumar
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20100928/13080c61/attachment.html 


More information about the rules-users mailing list