[rules-users] RE: rules-users Digest, Vol 8, Issue 1

Rajesh_Kumar Rajesh_Kumar at rsystems.com
Mon Jul 2 06:24:25 EDT 2007


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 at lists.jboss.org
[mailto:rules-users-bounces at lists.jboss.org] On Behalf Of
rules-users-request at lists.jboss.org
Sent: Sunday, July 01, 2007 9:30 PM
To: rules-users at lists.jboss.org
Subject: rules-users Digest, Vol 8, Issue 1

Send rules-users mailing list submissions to
	rules-users at 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 at lists.jboss.org

You can reach the person managing the list at
	rules-users-owner at 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 at yahoo.co.in>
Subject: Re: [rules-users] Unexpected token "." in primary - Rule
	Compilation Error
To: rules-users at lists.jboss.org
Message-ID: <11377473.post at 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 at 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 at 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 at lists.jboss.org
>> >> https://lists.jboss.org/mailman/listinfo/rules-users
>> >
>> > _______________________________________________
>> > rules-users mailing list
>> > rules-users at 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 at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
> 
> _______________________________________________
> rules-users mailing list
> rules-users at 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#a11377473
Sent from the drools - user mailing list archive at Nabble.com.



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

Message: 2
Date: Sun, 1 Jul 2007 18:36:23 +0300
From: "s erel" <erelsagi at gmail.com>
Subject: [rules-users] Help with MR3
To: rules-users at lists.jboss.org
Message-ID:
	<1a1500b50707010836t71a04e1cx6b9b5775cda5f780 at mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"

Hello,

I've just started integrating MR3 into my project (I've previously
used 3.06). The
drl compiles and everything seems fine, but during
tests the following exception is thrown for time to time:

java.lang.ArrayIndexOutOfBoundsException: 17
 at org.drools.util.AbstractHashTable$HashTableIterator.next(
AbstractHashTable.java:250)
 at org.drools.reteoo.Rete$ObjectTypeConf.buildCache(Rete.java:434)
 at
org.drools.reteoo.Rete$ObjectTypeConf.getObjectTypeNodes(Rete.java:425)
 at org.drools.reteoo.Rete.assertObject(Rete.java:172)
 at
org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:190)
 at
org.drools.reteoo.ReteooWorkingMemory$WorkingMemoryReteAssertAction.exec
ute(
ReteooWorkingMemory.java:163)
 at org.drools.common.AbstractWorkingMemory.executeQueuedActions(
AbstractWorkingMemory.java:1135)
 at org.drools.common.AbstractWorkingMemory.insert(
AbstractWorkingMemory.java:781)
 at org.drools.common.AbstractWorkingMemory.insert(
AbstractWorkingMemory.java:584)
 at org.drools.jsr94.rules.StatefulRuleSessionImpl.addObject(
StatefulRuleSessionImpl.java:162)

This only happens during high load tests.
Can anyone help me?

Thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://lists.jboss.org/pipermail/rules-users/attachments/20070701/032d04
fc/attachment-0001.html

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

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


End of rules-users Digest, Vol 8, Issue 1
*****************************************

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.





More information about the rules-users mailing list