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-Compilat...
Sent from the drools - user mailing list archive at
Nabble.com.