You cannot have rules that use the <valueof target="...">
tag as direct children of rules that use the and
, or
, or not
operators, even if the target property is supposed to eventually evaluate to a Boolean value. For example, this rule is invalid:
<rule op=or name="Wrong!"> <valueof target="isAvailable"> <valueof bean="Profile.isAuthor"> </rule>
Instead, you must do the following:
<rule op=or> <rule op=eq> <valueof target="isAvailable"> <valueof constant="true"> </rule> <valueof bean="Profile.isAuthor"> </rule>