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