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(a)lists.jboss.org
[mailto:rules-users-bounces@lists.jboss.org] On Behalf Of
rules-users-request(a)lists.jboss.org
Sent: Sunday, July 01, 2007 9:30 PM
To: rules-users(a)lists.jboss.org
Subject: rules-users Digest, Vol 8, Issue 1
Send rules-users mailing list submissions to
rules-users(a)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(a)lists.jboss.org
You can reach the person managing the list at
rules-users-owner(a)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(a)yahoo.co.in>
Subject: Re: [rules-users] Unexpected token "." in primary - Rule
Compilation Error
To: rules-users(a)lists.jboss.org
Message-ID: <11377473.post(a)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(a)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(a)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(a)lists.jboss.org
>>>>
https://lists.jboss.org/mailman/listinfo/rules-users
>>>>
>>> _______________________________________________
>>> rules-users mailing list
>>> rules-users(a)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(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-users
>
>
>