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