[rules-users] how to perform some task when rule fails.
Edson Tirelli
tirelli at post.com
Tue Sep 18 12:55:11 EDT 2007
Hi,
First, it would be better if you can use the constraints inside the same
pattern, avoiding subrule generation, instead of using multiple patterns:
Map( this["G250.18"] !=4 && this["G250.4"] not in("910","990","983","995",
"996","997")
|| this["G250.18"] ==4 && this["G250.4"] in
("910","990","983","995","996","997") )
Remember that && has precedence over ||, but you can use () if you want
to make it explicit:
Map( ( this["G250.18"] !=4 && this["G250.4"] not in("910","990","983","995",
"996","997") )
|| ( this["G250.18"] ==4 && this["G250.4"] in
("910","990","983","995","996","997") ) )
Now, answering your question, if you want to negate part of the whole of
the LHS, just use the "not" CE. Example:
rule "ValidationRuleExp_G250.4_0"
when
not (
IValidationField(attributeId =="G250.4") and
Map( this["G250.18"] !=4 && this["G250.4"] not
in("910","990","983","995", "996","997")
|| this["G250.18"] ==4 && this["G250.4"] in
("910","990","983","995","996","997") )
)
then
// do something
end
Hope it helps,
Edson
2007/9/18, Gaurav2007 <gaurav.a.joshi at capgemini.com>:
>
>
> Hi All,
>
> My requirment is that i want to send corresponding error when any rule
> fails.
>
> for example:
>
> rule "ValidationRuleExp_G250.4_0"
> when
> IValidationField(attributeId =="G250.4")
>
> (((Map( this["G250.18"] !=4))&&(Map( this["G250.4"]not
> in("910","990","983","995","996","997"))))||((Map( this["G250.18"]
> ==4))&&(Map( this["G250.4"] in("910","990","983","995","996","997")))))
>
> then
>
> System.out.println("comming
> here---Success-------------------------------------------------->");
> end
>
> In this case i can call some method in success,Is there any way so that i
> can call some method when any rule fails.
>
> the problem is that i am trying to generate rule file and all the
> validation
> expressions are already defined.
> my task is to evaluate these expression and generate corresponding error
> message when any rule fails
>
> can you please suggest me how can i do this using drools.
>
> Thanks,
> Gaurav
>
>
> --
> View this message in context:
> http://www.nabble.com/how-to-perform-some-task-when-rule-fails.-tf4475301.html#a12760314
> Sent from the drools - user mailing list archive at Nabble.com.
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
--
Edson Tirelli
Software Engineer - JBoss Rules Core Developer
Office: +55 11 3529-6000
Mobile: +55 11 9287-5646
JBoss, a division of Red Hat @ www.jboss.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20070918/aa8822c2/attachment.html
More information about the rules-users
mailing list