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@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@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