[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