Teeda Extension for Portlet

作業がもう少しで一段落すると思う。今、テスト中。現在、ポートレットモードを変更したときに少々問題があるみたいなので、それを修正すれば、OKだと思われる。今週中には、コミットしたいところ。だいぶ、FacesPortletも書き換えたので、よりよくはなっていると思う。

Teeda Extension for Portlet

add(Page + Action) で動作確認中。とりあえず、動くのだけど、processActionからrenderへリクエストスコープのビーンを入れているところで、ちょっと問題あり。ExternalContext#getReqeustMapを全部、一度、セッションに入れて、それをrenderで元に戻すので、いらんものまでセッションに入ってしまう。Lifecycle#executeで使ったビーンたちだけを取り出す良い方法はないかな。

追記:考えてみると、RequestのAttributeにある値は、ビーン以外にも必要なのは、ありそうな気が。排他リストを作って、必要なものだけを渡すようにするしかないかな。

Teeda Extension for Portlet

renderで0になる問題は、ページ遷移が発生しないときには、そのままLifecycleがexecuteからrenderへ流れるから、サーブレット的には、1つのリクエストだけど、ポートレットからすると、そこで分断が発生するためだと思う。これは、Teeda Extension がどうのこうのという問題ではない気がするな。どう実装するのがFacesPortletとして良いのかと言うことになる気がする。というわけで、java.netとApache Portalsの実装も見てみる(Teedaはポートレット部分に関してMyFacesの実装に近いので特に見る必要はなし)。どっちも、基本的には分断されるな。そんで、MyFacesと違って、UIViewRootをセッションに入れて渡している。Teedaもそれにした方がいいかもな。そんでもって、一歩進めて、分断問題にも対応したいところだな。