In the 5.2.0 Drools Introduction and General User Guide, there's section 2.1.3.1, Free Form expressions in Constraints (New Parser). It contains several examples: #1 Person( age * 2 > $anotherPersonsAge + 2 ) #2 Person( addresses["home"].streetName.startsWith( "High Park" ) ) #3 Person( isAdult() )
#1 does not compile: Unable to build constraint as 'age * 2' is invalid : [Rule name='exa1'] #2 works - although I'd very much prefer not to be swamped with MVEL extensions unless I ask for it. #3 does not compile: Unable to Analyse Expression isAdult(): [Error: no such identifier: isAdult] [Near : {... isAdult() ....}] Neither rule name nor line number is provided. Would it please be possible to have a precise statement what one *can* write as a constraint? <quote> This was also important for us to start to move towards a single consistent grammer for both the "when" left hand side and "then" right hand side. </quote> It seems that example #2 increases the grammar gap because the constraint expression can certainly not used on the RHS. <quote> As previously we had to document the restricted limitations of a field constraint on the LHS compared to expressions used inside of an 'eval' or used on the RHS. </quote> I'm sorry, but I do not understand the meaning of this sentence. What does it mean, please? Cheers Wolfgang
_______________________________________________ rules-dev mailing list rules-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-dev