[mayaa-user:1019] insertプロセッサのpathの末尾に半角スペース

gmail [E-MAIL ADDRESS DELETED]
2014年 3月 31日 (月) 12:21:31 JST


Mayaa開発 各位

お世話になっております。
山崎と申します。

Mayaaの動作で一点ご確認いただきたく、ご連絡いたしました。


insertプロセッサのpath属性の値の末尾に半角スペースがついているとき、
NotFoundとはならずに、指定先のページを読むことができました。
ただし、このとき、ページ描画の速度が遅くなるということが起こりました。

Mayaaのソースを確認させていただいたところ、
pathの末尾にスペースがつくと、読み込まれ側のテンプレートのビルドのキャッシュが効かなくなっているのが原因のようでした。

詳細な原因は以下であると考えています。

1.PageImpl.javaの141行目で、スペースが末尾についたsystemIDでキャッシュ参照しています。

2.キャッシュが取得できない場合、createTemplateInstanceでTemplateインスタンスを作成されるかと思いますが、
作成中、ParameterAwareImpl.javaのsetSystemIDする際に、StringUtil.preparePath(systemID)で末尾のスペースが除かれます。
よって、テンプレートを発見できるパスになり、スペース無しのsystemIDをキーにキャッシュを保管します。


本件について、pathを指定する際、末尾にスペースを付けないように注意することで回避できますが、
発生しても発覚し辛いということを考えますと、ご対応をご検討いただけると幸いです。

本件確認のバージョンは1.1.32となります。


mayaa-user メーリングリストの案内