PCのときにレスポンスをラップさせない

MobyletFilterを通ると、デフォルトでレスポンスがMobylet用にラップされますが(絵文字対策のためとかで)、別にPCだとなくても良い感じではあるので、mobylet.xml をクラスパス上に作って、

<?xml version="1.0" encoding="UTF-8"?>
<mobylet>
<initializers>
<chain>org.mobylet.core.initializer.impl.MobyletInitializerImpl</chain>
</initializers>
<device>
<basedir>device/</basedir>
</device>
<emoji>
<basedir>emoji/</basedir>
</emoji>
<through>
<carrier>OTHER</carrier>
</through>
</mobylet>

みたいな感じで、through要素でキャリアをしていすれば良い。

Mobyletを使う

Fess に Mobylet を投入してモバイルサポートを進めている。0.8.2 を使いはじめているけど、POST で送信したときのアクションが呼ばれてないみたいな気が(原因を調べないといけないけど)。Mobyletの画像変換はかなり便利だと思う。モバイルの画面表示で画像のサイズをどうするかとかを悩まずに、画面幅の 80% くらいみたいな指定でできてしまう。あとは、キャリア判定も

Mobylet mobylet = MobyletFactory.getInstance();
Carrier carrier = mobylet.getCarrier();
switch (carrier) {
case DOCOMO:
// ドコモだよ
break;
case AU:
// auだよ
break;
case SOFTBANK:
// ソフトバンクだよ
break;
default:
// PCなど
break;
}

みたいにさっくり書ける。これ以外にも絵文字処理をやってくれるし。そんなわけで、Javaでのモバイルウェブアプリの敷居を下げてくれることでしょう(そうそう、MobyletってSeasarから提供されているけど別にS2なくても動く感じ)。

修正とか

近頃、某所で火消チームに加えられ、先週とか忙しかった…。まぁ、今週はいつものようなペースで働くことにしようかと。そんなわけで、S2Robot と Fess の作業を進める。まず、Fess はローカルファイルに対して数十万ドキュメントでインデックスをひたすら繰り返す感じのランニングテストを始めた。そこで発見したS2Robotの問題を修正(PDFの読み込みでPDDocumentをcloseしてなかった)。そんでもって、前々からやろうと思いつつ、手が回っていなかったFessの携帯対応を始めた。もちろん、Mobyletを使っておく。0.8.0からcharsetのjarをJVMに突っ込む必要がなくなったので、Fessへの投入は楽になった。でも、いくつか問題に遭遇したりして、Mobyletにチケットを上げたりしたけど、さっくり修正してもらったので、修正版を投入しないとね。そんな感じで、地道に更新中。