Teeda for Portlet

S2Container に PortletExtendedExternalContextを追加。それに関連するものも追加しておいた。これでセッション問題も何とかなるだろう。これで、Teeda をポートレットで結構、動くと言えると思う(2.4.0-beta-3 もポートレットのコードは入っているけど、動きが怪しいと思うので。現在はいけてるはず)。次の問題は、Tomahawkをどうやって、うまく動かすかだな。でも、これって、ポートレットに限った話ではない気もするけど。現状では、なぜか、dataTable の列の中身が空になったり、アクションが動かなかったりしている・・・ポートレット固有なのだろうか。

Teeda for Portlet

昨日はセッション問題をいろいろと考えた。あーでもない、こーでもないと、様々な案を出して、たどり着いたのが、ServletとPortletを共存させるようなS2コンテナ用のExternalContextの作成。今日の朝は、SharedExternalContext(仮)を作って、試してみたら、結構、良い感じで動いているように思う(思わぬ、穴があったりするかもしれんが)。SharedExternalContextはHttpServletExternalContextとPortletExternalContextのインスタンスを持つ。これを追加するにあたり、これを使うようなS2のListenerとかも追加する必要がある。そんなわけで、既存のものは特に変更することなしに、追加という形を取った。理由は、実行するに当たり、Portlet API を必要とするので、サーブレットしか興味がなければ、使う必要がないため。というわけで、サーブレットとポートレットを共存させたいときにはこれを使えばいいかね。これらは、S2Containerに追加するとして、Teedaの方は、TeedaConfigurationListenerのそれを使うやつを追加する必要があるくらいかね。SharedExternalContextの名前もいまいちなので、ExtendedExternalContextとして、ポートレットのところに追加しておこうかな。今日の夜あたりにでも、名前変えたら、コミットしておこ。