-新しい式エンジン

式エンジンAPIが新しくなりました。とりあえずJSR245がきちんとなれば、JSR245の式エンジンにも対応できるというように考察を重ね、しかーしOGNL。普通のは動きます。
今、デバッグ中なのは、以下のような式。

${ model.method(namedObject) }

メソッドの引数内で、リテラル・変数はOKですが、式のモデル木をウォークして二度目にルートオブジェクトに対応したPropertyAccessorで行う「namedObject」の解決で、解決に行く前に、ルートオブジェクトがなくなっていてNG。これが、

${ model.method() }
${ model.method(#variable) }
${ model.method(123) }
${ namedObject }

はOK(引数無し・引数が変数・引数がリテラル・単なる名前解決)。なんだろうなぁ。
追記
できたー。原因はDefaultExecutionEnvironment#setRootObject()をしっかり叩いておかないと、Expression#getvalue()の第二引数にルートオブジェクトを渡すだけではダメということです。モデル木をウォークするうちにわすれっちゃうんだな。と、いずれドン引きセミナーにてOGNLエンジンの使い方を話す機会があったら解説しましょう(笑。