I think I got it working now . I didnt know that globals need to be inserted before insert hence I made the following change and it worked-

  session.setGlobal( "p1", p1 );
  session.insert(event);

instead of

   session.insert(event);
   session.setGlobal( "p1", p1 );

Thanks for all the help.

Thanks
Shikha


Shikha X Aggarwal/JPMCHASE

11/12/2008 09:50 AM

To
Rules Users List <rules-users@lists.jboss.org>
cc
"Rules Users List" <rules-users@lists.jboss.org>, rules-users-bounces@lists.jboss.org
Subject
Re: [rules-users] DROOLS from clause giving ErrorLink




Thanks for the response. However I get the following error now . The only change I made was
  session.setGlobal( "p1", p1 );

Exception in thread "main" [Error: unable to access property (null parent): p1]
[Near : {... Unknown ....}]
             ^
        at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:621)
        at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getBeanProperty(ReflectiveAccessorOptimizer.java:455)
        at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:279)
        at org.mvel2.o

Thanks
Shikha


"Edson Tirelli" <tirelli@post.com>
Sent by: rules-users-bounces@lists.jboss.org

11/07/2008 05:58 PM
Please respond to
Rules Users List <rules-users@lists.jboss.org>

To
"Rules Users List" <rules-users@lists.jboss.org>
cc
Subject
Re: [rules-users] DROOLS from clause giving Error






  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@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@post.com>
Sent by:
rules-users-bounces@lists.jboss.org

11/07/2008 05:10 PM


Please respond to
Rules Users List <
rules-users@lists.jboss.org>

To
"Rules Users List" <rules-users@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@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@post.com>
Sent by:
rules-users-bounces@lists.jboss.org

11/06/2008 03:12 PM


Please respond to
Rules Users List <
rules-users@lists.jboss.org>

To
"Rules Users List" <rules-users@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@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@chariotsolutions.com>
Sent by:
rules-users-bounces@lists.jboss.org

11/06/2008 02:19 PM


Please respond to
Rules Users List <
rules-users@lists.jboss.org>

To
"Rules Users List" <rules-users@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@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@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users

_______________________________________________
rules-users mailing list

rules-users@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@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@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@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@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@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@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.