Java
Jetty に ServletTester というのがあってですね、生 Servlet のテストをしたいときなんかに結構重宝してたりしたんですよ。 <dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-servlet-tester</artifactId> <version>6.1.26</version> <scope>test</scope> </dependency> こんな感じにテストが書けます。 package example; import org.junit.Test…
この記事は Play framework 2.x Java and 1.x Advent Calendar 2013 の 2 日目です。元々 12/3 の予定でしたが 12/2 が空いたままで存亡の危機だったので、一日スライドしました。 http://www.adventar.org/calendars/104 pvm とは 今回は pvm(Play Version…
@gakuzzzz に教えていただいたのですが Play 1.2.x で Doma を使う時は Config クラスに Play1 のクラスローダを伝えるために #getClassHelper() を拡張する必要があるようです。これをやっていないと apt で生成した *Impl.java やら domain クラスが Class…
JSON を返す API サーバのレスポンスを CORS に対応させるための Servlet フィルターを書きました。まあ「書いた」というほどのものでもないのですが。 import javax.servlet.*; import javax.servlet.http.HttpServletResponse; import java.io.IOException…
Jersey 1.x で jersey-json を使って JSON 出力していたのを諸事情により Jackson 2.2.1 に移行してみました。さすがの Jackson ということで特にハマりポイントもなし。 まず pom.xml で依存を変更します。 <dependency> <groupId>com.f…</groupid></dependency>
http://stackoverflow.com/questions/2201925/converting-iso8601-compliant-string-to-java-util-date 何が問題かというと java.util.Date 型のオブジェクトを「yyyy-MM-dd'T'HH:mm:ssZ」で出力したものは「2010-01-01T12:00:00+01:00」ではなく「2010-01-0…
スルーしていましたが Ninja 1.4 が 5/3 にリリースされていました。 今回のリリースから maven artchetype の提供が開始されています。 http://www.ninjaframework.org/documentation/getting_started.html 早速やってみました。 mvn archetype:generate -D…
Ninja web framework というのが、少し試したところ、なかなか好印象だったのでご紹介します。Play1 に強く影響されているフレームワークなのですが、このまま育っていけば Play1 の後継候補(or 超える)に十分なれると思いました。 http://www.ninjaframew…
あまり新しいネタかどうかは考えず、こういう小ネタも書きとめていこうかと。 Maven プロジェクトの dependency の version は特にアクティブに開発されていないプロジェクトだと放置されがち(テストが充実してないと余計に)ですが、それ以上に「そもそも…
Jersey 1.x の話です(2.x はまだ出てないですが、この記事が古くなってしまうことも想定して)。 通常は「@Produces(MediaType.APPLICATION_JSON)」だけだと「;charset=UTF-8」のような文字コード指定はつかないのでちょっと不便です。「@Produces("applica…
Java 8 では JSR 335: Lambda Expressions が取り入れられます。 これを使うと Pure Java でありながら「どう見ても Scala」というコードが書けるようになります。 主に私がメンテナンスしている ScalaFlavor4J というライブラリがあります。 https://github…
もっといいやり方がありそうな気もしますが。 import org.codehaus.jackson.jaxrs.Annotations; import org.codehaus.jackson.jaxrs.JacksonJaxbJsonProvider; import org.codehaus.jackson.map.ObjectMapper; import org.codehaus.jackson.map.PropertyNami…
Maven でこんなのが出たら・・ [INFO] Internal error in the plugin manager executing goal 'com.mysema.maven:apt-maven-plugin:1.0.4:process': Unable to load the mojo 'com.mysema.maven:apt-maven-plugin:1.0.4:process' in the plugin 'com.mysema.…
JDK 標準で使えて便利な JAXB ですが http://jaxb.java.net/guide/Which_JAXB_RI_is_included_in_which_JDK_.html こんなのを踏んでしまって途方にくれかけました。 java.lang.NullPointerException at com.sun.xml.internal.bind.v2.runtime.output.Encoded…
イマドキの現場で使えるJavaライブラリ事情 from takezoe こちらのスライドを読んでいて気になったので JGit でちょっとサンプルを書いてみました。http://www.eclipse.org/jgit/http://jgit.info/javadoc/何かいいアイデアが思いついたら JGit を使った何か…
最近、仕事で書いた Java のライブラリをいくつか整理して GitHub で公開しましたので紹介します。 Method Cache Interceptor https://github.com/m3dev/method-cache-interceptorAOP でメソッドの戻り値をキャッシュして、次の呼び出しからはもしキャッシュ…
Jersey で POST リクエストなどの Form オブジェクトを Resource クラスのメソッド内以外の場所で触る方法はない・・と諦めていましたが ContainerRequestFilter と ThreadLocal 使って試してみたらうまくいきました。ちなみに、Jersey が動くより前に独自の…
ずっとやろうと思って放置していましたが、Google Code から GitHub に移しました。https://github.com/seratch/junithelperシェルスクリプト、batファイルからの実行、maven プラグイン、Eclipse プラグインを提供しています。時間があるときに InjtelliJ I…
ScalaFlavor4Jは、シンプルなJavaで実装されたライブラリです。 Function,Seq,Range,Option,Map,ParSeqなどScalaのインタフェースと互換のAPIを実装しています。https://github.com/m3dev/scalaflavor4jここでは、もう少し実際に近い形の使い方の例をあげて…
少し前の話になりますが、こちらの連載で拙作のJUnit Helperを取り上げていただきました。イマドキのIDE事情(106) ユニットテストを支援するEclipseプラグイン | マイナビニュース公式のページはこちらです。GitHub - seratch/junithelper: JUnit testing wi…