[rules-users] modify and update is not working in the rule file
Wolfgang Laun
wolfgang.laun at gmail.com
Thu Aug 16 13:33:01 EDT 2012
The cancellation of an activation and the ensuing call to
activationCancelled() is NOT sufficient as an indication of the rule
not matching your fact data.
Scenario 1:
- fact(s) inserted
- activation created from rule R1
- fireAllRules
- activation of rule R1 fired
Scenario 2:
- fact(s) inserted
- activation created from rule R1
- fireAllRules
- fact(s) inserted/created/updated (due to another rule firing before R1)
- activation from rule R1 cancelled
Scenario 3:
- fact(s) inserted
- fireAllRules
- nothing happens
-W
On 16/08/2012, Rana <ven12344 at yahoo.com> wrote:
> I have written a function
>
>
> function boolean logging(String actualValue, String ruleValue) {
> progRuleValidationLog.setActualValue(actualValue); //this is a pojo which
> will give me what are the failed rules.
> progRuleValidationLog.setRuleValue(ruleValue);
>
> return true;
> }
>
>
> rule "Brand Name"
> no-loop true
> activation-group "AndroGel"
> when
> drug : Drug()
> eval( logging(drug.getBrandName, "AndroGel") )
> Drug( brandName == "AndroGel" )
> then
> log.info("Brand Name is AndroGel");
> end
>
>
> These are my listeners.
>
> @Override
> public void activationCreated(ActivationCreatedEvent arg0) {
> // TODO Auto-generated method stub
> super.activationCreated(arg0);
> String actualValue = progRuleValidationLog.getActualValue();
> String ruleValue = progRuleValidationLog.getRuleValue();
> progRuleService.saveOrUpdate(progRuleValidationLog);
> log.info("Activation Created Event =
> "+arg0.getActivation().getRule().getName()+" because Rule passed.");
> log.info("Reason for Rule passed is that the condition matched because
> the Actual value = "+actualValue+" did match with the Rule Value =
> "+ruleValue);
> }
>
> @Override
> public void activationCancelled(ActivationCancelledEvent arg0) {
> // TODO Auto-generated method stub
> super.activationCancelled(arg0);
> String actualValue = progRuleValidationLog.getActualValue();
> String ruleValue = progRuleValidationLog.getRuleValue();
> progRuleService.saveOrUpdate(progRuleValidationLog);
> log.info("Activation Cancelled Event =
> "+arg0.getActivation().getRule().getName()+" because Rule failed.");
> log.info("Reason for Rule failed is that the condition did not match
> because the Actual value = "+actualValue+" did not match with the Rule
> Value
> = "+ruleValue);
> }
>
>
> Thanks.
>
>
>
> --
> View this message in context:
> http://drools.46999.n3.nabble.com/modify-and-update-is-not-working-in-the-rule-file-tp4019158p4019208.html
> Sent from the Drools: User forum mailing list archive at Nabble.com.
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
More information about the rules-users
mailing list