[rules-users] DROOLS from clause giving Error

shikha.x.aggarwal at jpmchase.com shikha.x.aggarwal at jpmchase.com
Fri Nov 7 17:19:42 EST 2008


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.

   []s
   Edson

2008/11/7 <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> 
Sent by: 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>


To
"Rules Users List" <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> 

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> 
Sent by: 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>


To
"Rules Users List" <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> 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 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

_______________________________________________
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
_______________________________________________

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
_______________________________________________
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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20081107/c7912904/attachment.html 


More information about the rules-users mailing list