Consider these six variations of a pattern constraint:<br><br>   $a: Student( $someStudent.name != null  )<br>   $b: Student( $someStudent .name != null  )<br>   $c: Student( $someStudent. name != null  )<br>   $d: Student( $someStudent.getName() != null  )<br>

   $e: Student( $someStudent .getName() != null  )<br>   $f: Student( $someStudent. getName() != null  )<br><br>Where is the bug - surely a space next to a separator can&#39;t do any harm? But indeed - $c is flagged with a not very helpful error message: &quot;Unable to build constraint as  &#39; name&#39; is invalid&quot;.<br>
<br>Now, what about $d, $e and $f? Is it also $f,  b with the space after the dot, which is flagged?<br><br>Surprise, surprise: here it is $e that&#39;s pilloried with a lot of gobbledegook (note the invented &quot;method&quot; $someStudent): <br>
<br>Unable to Analyse Expression $someStudent .getName() != null:<br>[Error: unable to resolve method using strict-mode: add2map.Student.$someStudent()]<br>[Near : {... $someStudent .getName() != nul ....}]<br><br>More fun of this kind is to be had from similar expressions on the RHS, especially when dialect &quot;mvel&quot; is set.<br>
<br>Cheers<br>Wolfgang<br><br>