a : A( modified == "false" ) ==> here "false" is a String
and a.setModified( true ); ==> here true is a boolean
 
from your use of modified, I presume that modified is of boolean type. If it is, you'd probably want to do something like
 

rule "Rule3"

      dialect "mvel"

      when

            a : A( modified == false )

      then

            a.setModified( true );

            update( a );

end

 

because, modified will never be equal to "false" in your file cause it"s a String



De : rules-users-bounces@lists.jboss.org [mailto:rules-users-bounces@lists.jboss.org] De la part de Fnu Mahalakshmi
Envoyé : mardi 15 juin 2010 16:03
À : 'rules-users@lists.jboss.org'
Objet : [rules-users] Error with executing rules

Hi guys,

 

I have few .drl rules and 1 .brl rule (which I converted into a .drl rule as guided by the documentation online)

All my rules get created and fired. But the converted .brl rule does not get executed only.

I am unable to understand why.

Anyway I can check how it is working??

I put in the most basic rule which should work:

The coverted .drl file looks like this:

rule "Rule3"

      dialect "mvel"

      when

            a : A( modified == "false" )

      then

            a.setModified( true );

            update( a );

end

 

// A being my fact with attribute modified set to false in the beginning.

 

The import statements are in a rule.package in the same folder.

 

Please help me. I do not understand why this rule doesn’t get executed. All others do!

 

Thanks

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.

This message contains information that may be privileged or confidential and is the property of the Capgemini Group. It is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message.