2011-02-01から1ヶ月間の記事一覧

Velocity 1.7 で気をつけること

去年11月29日に、Velocity がバージョン 1.7 になってたのを気がついた。 1.7 になって思わぬところの差を見つけた。 VelocityEngine の getTemplate でテンプレートを生成する時、 1.6 では、プロパティで認識している input.encoding でテンプレートの読込…

Wicket Eclipseプラグイン

Wicket 開発時、便利なEclipse プラグイン http://code.google.com/p/qwickie/ Javaソースエディタ上、String id にカーソルを当てると該当のHTMLタグが見れる

久しぶりに csv4j

CSVを読み込んで処理することなど、原始的で近年携わったプロジェクトではなかった。 csv4j なるものを久々に使って思い出した。 http://csv4j.sourceforge.net/ CSVLineProcessor がとても便利だ。CSVLineProcessorを使うのに注意すべきは、 continueProces…

ClassNotPersistableException 発生の原因

ローカルPCで、Google Apps Engine for Java テストをしていて、JDO データ登録で org.datanucleus.exceptions.ClassNotPersistableException が発生した。 org.datanucleus.store.query.AbstractQueryResult を使う際に datanucleus-core-1.1.5.jar を参照…

AbstractMatcher の実装

Google guice の bindInterceptor に渡す2番目の引数、メソッドに対する条件の記述、 アノテーションが付いているかの判定が多いので、 よく、Matchers.annotatedWith(annotation.class) を使うことが多い。 Matchers にはメソッド戻り値タイプなどを判定す…

GAE のセッション情報クリア

Google Apps Engine のセッション情報は放っておくと溜まってしまうので、クリアするcron を 定義する。 web.xml に以下サーブレットを定義して WEB-INF/cron.xml を用意する。 web.xml の記述、、、 <servlet> <servlet-name>_ah_sessioncleanup</servlet-name> <servlet-class>com.google.apphosting.utils.servl</servlet-class></servlet>…

JDO クエリで NotSerializableException

PersistenceManager の newQueryメソッドで javax.jdo.Query を作成して 実行した結果のクエリは、StreamingQueryResult であり これをそのまま List などにキャストすると、 NotSerializableException:org.datanucleus.store.appengine.query.DatastoreQue…

PersistenceManager を使うサンプル

GAE/J のPersistenceManager の使い回しでサンプルとして紹介されてる PMF.java を Wicket + Google guice で以下のように使用する。 import javax.jdo.JDOHelper; import javax.jdo.PersistenceManagerFactory; /** * PMF.java */ public final class PMF{ …

GAEで wiQuery

Google Apps Engine 上で wiQuery のスライダを使用としたら、 wiQuery の古いバージョン(1.1.1)では、スライダーのボタンが表示されず 使えなかった。 2011-01-23 に、新バージョンが公開されていたので wiquery-1.2.1.jar ダウンロードして配置したら、…