[rules-users] DROOLS from clause giving Error

Edson Tirelli tirelli at post.com
Fri Nov 7 17:58:51 EST 2008


   You correctly set the "list" global, but you made a mistake on the
processor global:

  session.setGlobal( "processor", p1 );

   Should be:

  session.setGlobal( "p1", p1 );

   []s
   Edson

2008/11/7 <shikha.x.aggarwal at jpmchase.com>

>
> I am ok in using 4.0.7 , I use want to use the "from" clause which should
> be returnign data in form of list, the whole idea being I dont want to
> insert objects in memory.
>
> This is how my rule file looks like -
>
> *package* org.drools.examples;
>
> *import* org.drools.examples.templates.DBSubscription;
> *import* org.drools.examples.templates.Event;
>
> *global* java.util.List list
> *global* org.drools.examples.Processor p1;
>
> *rule* "Rule1"
>    *when*
>             $event : Event(eventId == "eventId.IR.001")
>             $x : DBSubscription() *from* p1.getUsers()
>         *then*
>                 list.add($x);
> *end*
>
> This is my calling code-
>
>  List arrayList = new ArrayList();
>         session.setGlobal( "list", arrayList );
>         session.insert(event);
>         Processor p1 = new Processor();
>         session.setGlobal( "processor", p1 );
>         session.fireAllRules();
>         session.dispose();
>
>
>
>
>
>  *"Edson Tirelli" <tirelli at post.com>*
> Sent by: rules-users-bounces at lists.jboss.org
>
> 11/07/2008 05:10 PM
>   Please respond to
> Rules Users List <rules-users at lists.jboss.org>
>
>   To
> "Rules Users List" <rules-users at lists.jboss.org>  cc
>   Subject
> Re: [rules-users] DROOLS from clause giving Error
>
>
>
>
>
>   Drools 4.0.7 is the stable version where things just work! Drools 4 uses
> MVEL 1.3. The error bellow means your "p" variable is not set. Are you
> setting your global before asserting the facts???
>
>   Drools 5.0M2 is a milestone release of the development version. If you
> want to use Drools 5 development version we recommend you checkout and build
> from trunk, because a lot of things were developed/fixed **after** M2 was
> released. Drools 5 requires MVEL *2.0.1.* <http://2.0.1/>
>
>   []s
>   Edson
>
> 2008/11/7 <*shikha.x.aggarwal at jpmchase.com*<shikha.x.aggarwal at jpmchase.com>
> >
>
> Hi, I am so confused with which version of DROOLS I should be using . I
> trid with 5.0.0 M2 and the error I saw is below. Then I tried with 4.0.7 but
> it gave error as below it had references of 1.4 of MVEL version.
> Exception in thread "main" *org.mvel.PropertyAccessException*: null
> pointer exception in property: p.getUsers()
>        at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(
> *ReflectiveAccessorOptimizer.java:143*)
>        at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(
> *ReflectiveAccessorOptimizer.java:96*)
>        at org.mvel.ASTNode.getReducedValueAccelerated(*ASTNode.java:194*)
>        at org.mvel.MVELRuntime.execute(*MVELRuntime.java:87*)
>        at org.mvel.CompiledExpression.getValue(*CompiledExpression.java:98
> *)
>        at org.mvel.MVEL.executeExpression(*MVEL.java:219*)
>
> Can you please suggest which version of DROOLS should I be using? can you
> direc me to the MAVEN site.
>
> Thanks
> shikha
>
>   *"Edson Tirelli" <**tirelli at post.com* <tirelli at post.com>*>*
> Sent by: *rules-users-bounces at lists.jboss.org*<rules-users-bounces at lists.jboss.org>
>
> 11/06/2008 03:12 PM
>
>
>   Please respond to
> Rules Users List <*rules-users at lists.jboss.org*<rules-users at lists.jboss.org>
> >
>
>   To
> "Rules Users List" <*rules-users at lists.jboss.org*<rules-users at lists.jboss.org>
> >  cc
>   Subject
> Re: [rules-users] DROOLS from clause giving Error
>
>
>
>
>
>
>
>  This is an MVEL problem that Mike fixed in one of the latest versions: it
> was raising that error message when unable to resolve a variable reference
> (processor in this case).
>
>  Can you please confirm what versions of drools and mvel are you using?
>
>  Also, try to use mvel syntax, just in case:
>
> $x : DBSubscription(report == $event.report) *from* processor.users
>
>  []s
>  Edson
>
> 2008/11/6 <*shikha.x.aggarwal at jpmchase.com*<shikha.x.aggarwal at jpmchase.com>>
>
>
> Thanks for the quick respose..I modified the rule now to - *
>
> package* org.drools.examples; *
>
> import* org.drools.examples.templates.DBSubscription; *
> import* org.drools.examples.templates.Event; *
>
> global* java.util.List list *
> global* org.drools.examples.Processor processor; *
>
> rule* "Rule1"
>  *when*
>           $event : Event(eventId == "eventId.IR.001")
>            $x : DBSubscription(report == $event.report) *from*processor.getUsers()
>       *then*
>               list.add($x);         *
> end* *
>
> Still facing some issue, Looking into it*
>
> Exception in thread "main" [Error: unbalanced braces ( ... )]
> [Near : {... processor.getUsers( ....}]
>       at org.mvel.util.ParseTools.balancedCapture(*ParseTools.java:1134*)
>       at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(*
> ReflectiveAccessorOptimizer.java:550*)
>       at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.getBeanProperty(
> *ReflectiveAccessorOptimizer.java:438*)
>       at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(
> *ReflectiveAccessorOptimizer.java:265*)
>       at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(
> *ReflectiveAccessorOptimizer.java:126*)
>       at org.mvel.ast.ASTNode.getReducedValueAccelerated(*ASTNode.java:141
> *)
>       at org.mvel.MVELRuntime.execute(*MVELRuntime.java:77*)
>
>   *"David Sinclair" <**dsinclair at chariotsolutions.com*<dsinclair at chariotsolutions.com>
> *>*
> Sent by: *rules-users-bounces at lists.jboss.org*<rules-users-bounces at lists.jboss.org>
>
> 11/06/2008 02:19 PM
>
>
>   Please respond to
> Rules Users List <*rules-users at lists.jboss.org*<rules-users at lists.jboss.org>
> >
>
>   To
> "Rules Users List" <*rules-users at lists.jboss.org*<rules-users at lists.jboss.org>
> >  cc
>   Subject
> Re: [rules-users] DROOLS from clause giving Error
>
>
>
>
>
>
>
>
> What is Processor? Doesn't look like it is a bound variable. Is it from
> DBSubscription?
>
> On Thu, Nov 6, 2008 at 2:11 PM, <*shikha.x.aggarwal at jpmchase.com*<shikha.x.aggarwal at jpmchase.com>>
> wrote:
>
> Hi,
>
> I am using the from clause of drools and have written the following
> expression - *
> rule* "Rule1"
> *when*
>              $event : Event(eventId == "eventId.IR.001"),
>              $dbS : DBSubscription( report == $event.report ) *from*Processor.getUsers()
>      *then*
>              list.add($dbS);
>
> Here processor.getUsers writtens me a list of DBSubscription, When I load
> this package using
> builder.addPackageFromDrl( source );
>
> I get an error saying -
> Exception in thread "main" *org.drools.compiler.DroolsParserException*: *Unknown
> error while parsing. This is a bug. Please contact the Development team.*
>      at org.drools.compiler.DrlParser.compile(*DrlParser.java:219*)
>      at org.drools.compiler.DrlParser.parse(*DrlParser.java:73*)
>      at org.drools.compiler.DrlParser.parse(*DrlParser.java:77*)
>
> Would Appreciate any help on the same.
>
> thanks
> Shikha
>
> ------------------------------
>
> This communication is for informational purposes only. It is not intended
> as an offer or solicitation for the purchase or sale of any financial
> instrument or as an official confirmation of any transaction. All market
> prices, data and other information are not warranted as to completeness or
> accuracy and are subject to change without notice. Any comments or
> statements made herein do not necessarily reflect those of JPMorgan Chase &
> Co., its subsidiaries and affiliates. This transmission may contain
> information that is privileged, confidential, legally privileged, and/or
> exempt from disclosure under applicable law. If you are not the intended
> recipient, you are hereby notified that any disclosure, copying,
> distribution, or use of the information contained herein (including any
> reliance thereon) is STRICTLY PROHIBITED. Although this transmission and any
> attachments are believed to be free of any virus or other defect that might
> affect any computer system into which it is received and opened, it is the
> responsibility of the recipient to ensure that it is virus free and no
> responsibility is accepted by JPMorgan Chase & Co., its subsidiaries and
> affiliates, as applicable, for any loss or damage arising in any way from
> its use. If you received this transmission in error, please immediately
> contact the sender and destroy the material in its entirety, whether in
> electronic or hard copy format. Thank you. Please refer to *
> http://www.jpmorgan.com/pages/disclosures*<http://www.jpmorgan.com/pages/disclosures>for disclosures relating to UK legal entities.
>
>
> _______________________________________________
> rules-users mailing list*
> **rules-users at lists.jboss.org* <rules-users at lists.jboss.org>*
> **https://lists.jboss.org/mailman/listinfo/rules-users*<https://lists.jboss.org/mailman/listinfo/rules-users>
>
> _______________________________________________
> rules-users mailing list*
> **rules-users at lists.jboss.org* <rules-users at lists.jboss.org>*
> **https://lists.jboss.org/mailman/listinfo/rules-users*<https://lists.jboss.org/mailman/listinfo/rules-users>
>
> ------------------------------
>
> This communication is for informational purposes only. It is not intended
> as an offer or solicitation for the purchase or sale of any financial
> instrument or as an official confirmation of any transaction. All market
> prices, data and other information are not warranted as to completeness or
> accuracy and are subject to change without notice. Any comments or
> statements made herein do not necessarily reflect those of JPMorgan Chase &
> Co., its subsidiaries and affiliates. This transmission may contain
> information that is privileged, confidential, legally privileged, and/or
> exempt from disclosure under applicable law. If you are not the intended
> recipient, you are hereby notified that any disclosure, copying,
> distribution, or use of the information contained herein (including any
> reliance thereon) is STRICTLY PROHIBITED. Although this transmission and any
> attachments are believed to be free of any virus or other defect that might
> affect any computer system into which it is received and opened, it is the
> responsibility of the recipient to ensure that it is virus free and no
> responsibility is accepted by JPMorgan Chase & Co., its subsidiaries and
> affiliates, as applicable, for any loss or damage arising in any way from
> its use. If you received this transmission in error, please immediately
> contact the sender and destroy the material in its entirety, whether in
> electronic or hard copy format. Thank you. Please refer to *
> http://www.jpmorgan.com/pages/disclosures*<http://www.jpmorgan.com/pages/disclosures>for disclosures relating to UK legal entities.
>
>
> _______________________________________________
> rules-users mailing list*
> **rules-users at lists.jboss.org* <rules-users at lists.jboss.org>*
> **https://lists.jboss.org/mailman/listinfo/rules-users*<https://lists.jboss.org/mailman/listinfo/rules-users>
>
>
>
>
> --
> Edson Tirelli
> JBoss Drools Core Development
> JBoss, a division of Red Hat @ *www.jboss.com* <http://www.jboss.com/>
> _______________________________________________
>
> rules-users mailing list*
> **rules-users at lists.jboss.org* <rules-users at lists.jboss.org>*
> **https://lists.jboss.org/mailman/listinfo/rules-users*<https://lists.jboss.org/mailman/listinfo/rules-users>
>
> ------------------------------
>
> This communication is for informational purposes only. It is not intended
> as an offer or solicitation for the purchase or sale of any financial
> instrument or as an official confirmation of any transaction. All market
> prices, data and other information are not warranted as to completeness or
> accuracy and are subject to change without notice. Any comments or
> statements made herein do not necessarily reflect those of JPMorgan Chase &
> Co., its subsidiaries and affiliates. This transmission may contain
> information that is privileged, confidential, legally privileged, and/or
> exempt from disclosure under applicable law. If you are not the intended
> recipient, you are hereby notified that any disclosure, copying,
> distribution, or use of the information contained herein (including any
> reliance thereon) is STRICTLY PROHIBITED. Although this transmission and any
> attachments are believed to be free of any virus or other defect that might
> affect any computer system into which it is received and opened, it is the
> responsibility of the recipient to ensure that it is virus free and no
> responsibility is accepted by JPMorgan Chase & Co., its subsidiaries and
> affiliates, as applicable, for any loss or damage arising in any way from
> its use. If you received this transmission in error, please immediately
> contact the sender and destroy the material in its entirety, whether in
> electronic or hard copy format. Thank you. Please refer to *
> http://www.jpmorgan.com/pages/disclosures*<http://www.jpmorgan.com/pages/disclosures>for disclosures relating to UK legal entities.
>
>
> _______________________________________________
> rules-users mailing list*
> **rules-users at lists.jboss.org* <rules-users at lists.jboss.org>*
> **https://lists.jboss.org/mailman/listinfo/rules-users*<https://lists.jboss.org/mailman/listinfo/rules-users>
>
>
>
>
> --
> Edson Tirelli
> JBoss Drools Core Development
> JBoss, a division of Red Hat @ *www.jboss.com* <http://www.jboss.com/>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
> ------------------------------
>
> This communication is for informational purposes only. It is not intended
> as an offer or solicitation for the purchase or sale of any financial
> instrument or as an official confirmation of any transaction. All market
> prices, data and other information are not warranted as to completeness or
> accuracy and are subject to change without notice. Any comments or
> statements made herein do not necessarily reflect those of JPMorgan Chase &
> Co., its subsidiaries and affiliates. This transmission may contain
> information that is privileged, confidential, legally privileged, and/or
> exempt from disclosure under applicable law. If you are not the intended
> recipient, you are hereby notified that any disclosure, copying,
> distribution, or use of the information contained herein (including any
> reliance thereon) is STRICTLY PROHIBITED. Although this transmission and any
> attachments are believed to be free of any virus or other defect that might
> affect any computer system into which it is received and opened, it is the
> responsibility of the recipient to ensure that it is virus free and no
> responsibility is accepted by JPMorgan Chase & Co., its subsidiaries and
> affiliates, as applicable, for any loss or damage arising in any way from
> its use. If you received this transmission in error, please immediately
> contact the sender and destroy the material in its entirety, whether in
> electronic or hard copy format. Thank you. Please refer to
> http://www.jpmorgan.com/pages/disclosures for disclosures relating to UK
> legal entities.
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>


-- 
 Edson Tirelli
 JBoss Drools Core Development
 JBoss, a division of Red Hat @ www.jboss.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20081107/834e96d4/attachment.html 


More information about the rules-users mailing list