Yoshihiro ICHIYANAGI
ichan****@im*****
2005年 10月 2日 (日) 05:40:40 JST
おはようございます。 > XDocletの書き方もメッセージとLaszloMessageクラスからの取得が1:1なので > > //@i18n.test.org-msg="TEST MESSAGE {1}" > LaszloMessage.getMessage("test_message",Params); TOGさん、ちょっとrubyでですがつくってみました。 original source側は // @laszlo-18n.test.begin // org-mes: "LPS requires a servlet container" +" that can implements ServletContent.getRealPath()" respondWithInitError(req, res, LaszloMessages.getMessage(PREFIX_NAME, "must_upper_ver2.3")); // @laszlo-i18n.test.end とコメントしてあれば package org.openlaszlo.i18n.test; import junit.framework.TestCase; public class LaszloMessagesTester extends TestCase { public LaszloMessagesTester() { super(LaszloMessagesTester.class.toString()); // TODO Auto-generated constructor stub } public LaszloMessagesTester(String name) { super(name); // TODO Auto-generated constructor stub } protected void setUp() throws Exception { } public void testLaszloMessages(){ asserts("LZServlet-1", "LPS requires a servlet container" +" that can implements ServletContent.getRealPath()", LaszloMessages,getMessage("org.openlaszlo.servlets.LZServlet", "must_upper_ver2.3")); } } を自動生成します。 #だたしまだ多少のソース修正をしないとコンパイルは通りません #またmessageの数に比例してtestLaszloMessages()メソッドが肥大化していきます このようなgeneratorの利点は、 1.original messageとpropertiesファイルとのメッセージチェックが行える 2.コピペと同じなので、実装された生source codeの稼動チェックが行える 3.コメント生成規約が生ずるため、かならずoriginalのmessageを残すようになる あと、もしLaszloMessages.getMessage()の実装はしたけど、コメントを書き忘れた ということもあるので "//@laszlo-i18n.test.begin"と"LaszloMessages.getMessage()"の 出現数をカウントしてそれが一致していればOK みたいなチェックもしてくれることです。 #XDocletの方が正道だと思います、がちょっと大変そうです (^^; #コメントをもうすこしXDoclet風にしといた方がカッコイイかもしれませんね #XDoctletへの移行も考慮して ichan