[rules-users] Object Referencing error:

Esteban Aliverti esteban.aliverti at gmail.com
Thu Jun 3 16:51:10 EDT 2010


You can't modify bobject, becuase it doesn't exist inside the session. You
just created it a few lines above. Maybe you need an insert() or maybe you
need the bobject reference from the LHS. Something like this:

*rule* "prod"



      *when*

         $a :A(Type == "Prod" , objectB != "")

      *then*

   B bobject = *new* B();

         $a.getObjectB().setType( "Prod" );

         $a.getObjectB().setId($a.getNumber().getId());

         *update*($a);

*      end*

Note that you need to update $a and not B, because A is the inserted Fact in
your session.

Best,


2010/6/3 Fnu Mahalakshmi <FMahalakshmi at nyx.com>

>  Hi,
>
>
>
> I am getting the following error when I try to do complex object
> referencing in drools:
>
> My class:
>
> A{
>
> String Type;
>
> B objectb;
>
> //getters and setters for above
>
> }
>
>
>
> My rules:
>
>
>
> *rule* "prod"
>
>
>
>       *when*
>
>      $a :A(Type == "Prod" , objectB != "")
>
>       *then*
>
> B bobject = *new* B();
>
>      bobject.setType( "Prod" );
>
>      bobject.setId($a.getNumber().getId());
>
>      *update*(bobject);
>
>
>
> *end*
>
> * *
>
> *I want to basically output a file which has updated values of B (type,
> Id)
>
> *
>
> * *
>
> *Error:*
>
> *org.drools.spi.ConsequenceException*: *org.drools.FactException*: Update
> error: handle not found for object: com.org.Ip at f42ad0. Is it in the
> working memory?
>
>       at
> org.drools.base.DefaultConsequenceExceptionHandler.handleException(*
> DefaultConsequenceExceptionHandler.java:13*)
>
>       at org.drools.common.DefaultAgenda.fireActivation(*
> DefaultAgenda.java:558*)
>
>       at org.drools.common.DefaultAgenda.fireNextItem(*
> DefaultAgenda.java:518*)
>
>       at org.drools.common.AbstractWorkingMemory.fireAllRules(*
> AbstractWorkingMemory.java:475*)
>
>       at org.drools.common.AbstractWorkingMemory.fireAllRules(*
> AbstractWorkingMemory.java:439*)
>
>       at com.org.DroolsTest.main(*DroolsTest.java:30*)
>
> Caused by: *org.drools.FactException*: Update error: handle not found for
> object: com.org.Ip at f42ad0. Is it in the working memory?
>
>       at org.drools.base.DefaultKnowledgeHelper.update(*
> DefaultKnowledgeHelper.java:100*)
>
>       at com.org.Rule_Prod_Ip_0.consequence(*Rule_Prod_Ip_0.java:10*)
>
>       at com.org.Rule_Prod_Ip_0ConsequenceInvoker.evaluate(*
> Rule_Prod_Ip_0ConsequenceInvoker.java:22*)
>
>       at org.drools.common.DefaultAgenda.fireActivation(*
> DefaultAgenda.java:554*)
>
>       ... 4 more
>
>
>
> Please help! I am very new to drools! Not able to figure out why this
> error:
>
>
>
> I am using eclipse and working on Windows machine. Error above was
> generated on eclipse console.
>
>
>
> Thank you.
>
>
>
> M
>
> ------------------------------
>
> *Please consider the environment before printing this email.*
>
> *Visit our website at http://www.nyse.com
> *****************************************************************************
>
> Note: The information contained in this message and any attachment to it is
> privileged, confidential and protected from disclosure. If the reader of
> this message is not the intended recipient, or an employee or agent
> responsible for delivering this message to the intended recipient, you are
> hereby notified that any dissemination, distribution or copying of this
> communication is strictly prohibited. If you have received this
> communication in error, please notify the sender immediately by replying to
> the message, and please delete it from your system. Thank you. NYSE
> Euronext. *
>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>


-- 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Esteban Aliverti
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20100603/f0f29ddf/attachment.html 


More information about the rules-users mailing list