eval cannot be indexed and a join must happen before it can be evaluated, so its a little slower - but there are cases where you can't avoid using it.

Mark
Rajesh_Kumar wrote:
hi Mark,

Could you please provide us the reasons , why you have written 
"eval is evil" in rule writing guidelines.I want to use it in my rules.

Regards
Rajesh Choudhary.



-----Original Message-----
From: rules-users-bounces@lists.jboss.org
[mailto:rules-users-bounces@lists.jboss.org] On Behalf Of
rules-users-request@lists.jboss.org
Sent: Sunday, July 01, 2007 9:30 PM
To: rules-users@lists.jboss.org
Subject: rules-users Digest, Vol 8, Issue 1

Send rules-users mailing list submissions to
	rules-users@lists.jboss.org

To subscribe or unsubscribe via the World Wide Web, visit
	https://lists.jboss.org/mailman/listinfo/rules-users
or, via email, send a message with subject or body 'help' to
	rules-users-request@lists.jboss.org

You can reach the person managing the list at
	rules-users-owner@lists.jboss.org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of rules-users digest..."


Today's Topics:

   1. Re: Unexpected token "." in primary - Rule	Compilation
Error
      (McShiv)
   2. Help with MR3 (s erel)


----------------------------------------------------------------------

Message: 1
Date: Sat, 30 Jun 2007 15:05:19 -0700 (PDT)
From: McShiv <rajesh_sachin10@yahoo.co.in>
Subject: Re: [rules-users] Unexpected token "." in primary - Rule
	Compilation Error
To: rules-users@lists.jboss.org
Message-ID: <11377473.post@talk.nabble.com>
Content-Type: text/plain; charset=us-ascii


Hi  Michael,

    What is vanilla DRL? Can you briefly explain about it?

Thanks,
McShiv

Michael Neale wrote:
  
hmm.. there is a problem with the action of the 2nd rule, so,
    
converting
  
it
to vanilla DRL:

rule "SpeCodeSpeValProdPlan12"
salience 50

 when
  ...
 then
  if(common.getProd() == "{prodCode1}" || common.getPlan() ==
"{planCode1}"){System.out.println("Error");}
end

That doesn't look quite right - you are doing == on strings - .equals
would
be better). I would try that rule on its own, without a DSL - to see
    
what
  
is
causing it. Also - why are you doing the if on the RHS? I would get
    
rid of
  
that if at all possible to save confusion later.

On 6/30/07, McShiv <rajesh_sachin10@yahoo.co.in> wrote:
    
DRL Syntax
package com.policy;
expander SpeCodeSpeValProdPlan.dsl;
#list any import classes here.
import com.viking.common.transferbeans.CommonInformation;
import com.sentry.common.entitybeans.EntityBean;
import com.sentry.common.entitybeans.Selected;
import java.util.ArrayList;
import java.util.List;
#declare any global variables here

rule "SpeCodeSpeValProdPlan11"
salience 100

when
  The EntityBean Contains Selected List
then
  Assert All The Selected
end

rule "SpeCodeSpeValProdPlan12"
salience 50

when
  The Question Code Is "License" And The Selected Value is "Y"
then
  Remove The Product "09" And Plan "CD"
end

DSL Syntax:

[when] The EntityBean Contains Selected List = entity : EntityBean();
eval(entity.getSelected() != null);
[then] Assert All The Selected = Object[] quoSelList =
      
entity.getSelected
  
();
for(int i = 0; i < quoSelList.length; i++){ Selected queSel =
(Selected)quoSelList[i]; assert(queSel); System.out.println(queSel);
      
}
  
[when] The Question Code Is "{speCode1}" And The Selected Value is
"{speValue1}" = common : CommonInformation();
      
Selected(stateSpecificCode
  
==
"{speCode1}", stateSpecificValue == "{speValue1}");
[then] Remove The Product "{prodCode1}" And Plan "{planCode1}" =
if(common.getProd() == "{prodCode1}" || common.getPlan() ==
"{planCode1}"){System.out.println("Error");}


The Selected Class is an Object Array inside EntityBean Class.
CommonInformation is a seperate class. CommonInformation & EntityBean
will
be available in Working Memory(asserted earlier in java class).

I need to remove the Selected Classes in the Object array and assert
      
into
  
the working memory. Thats what I am doing in the First Rule.

In the Second rule I check for some condition and print the error
according
to the condition.
Thanks,
McShiv

Fernando Meyer Camargo wrote:
      
howdy,

      is your package name right? please paste your rule code.

Fernando Meyer
fmcamargo@gmail.com
GPG: 5A6D 3374 B055 A513 9A02  A03B 3DB3 7485 D804 DDFB


On Jun 29, 2007, at 10:16 PM, McShiv wrote:

        
com.package.FatalSystemException
     at org.drools.rule.Package.checkValidity(Unknown Source)
     at org.drools.reteoo.RuleBaseImpl.addPackage(Unknown Source)
     at
com.sentry.underwriting.ruleexecutor.DroolsExecutor.executeRules
(DroolsExecutor.java)
     at

          
com.sentry.underwriting.ruleexecutor.RulesExecutionProcessor.callRules
  
Executor(RulesExecutionProcessor.java:82)
     at

          
com.sentry.underwriting.ruleexecutor.RulesExecutionProcessor.rulesExec
  
utionprocess(RulesExecutionProcessor.java:65)
     at
com.sentry.underwriting.ruleprocessor.RulesProcessor.processRules
(RulesProcessor.java)
     at
com.sentry.underwriting.test.UnderwritingDemo.main
(UnderwritingDemo.java:21)
Caused by: org.drools.rule.InvalidRulePackage: Rule Compilation
error File
com/policy/Rule_SpeCodeSpeValProdPlan12_0.java, Line 12, Column
          
176:
  
Unexpected token "." in primary

     ... 7 more


I am using Drools 3.0.6 version.

I got the above message when the drl files are added to the
RuleBase class.

I debugged the code. The error was thrown when
ruleBase.addPackage(packageBuilder.getPackage()); line was called
in the
DroolsExecutor class.

Can anyone please suggest me any sollution for this problem.

Thanks in addvance.

Thanks,
McShiv.
--
View this message in context: http://www.nabble.com/Unexpected-
token-%22.%22-in-primary---Rule-Compilation-Error-
tf4002948.html#a11369488
Sent from the drools - user mailing list archive at Nabble.com.

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


        
--
View this message in context:

      
http://www.nabble.com/Unexpected-token-%22.%22-in-primary---Rule-Compila
tion-Error-tf4002948.html#a11369670
  
Sent from the drools - user mailing list archive at Nabble.com.

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

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