Coldfusion で SVN エントリのログを取得するために SVNKit を使用しようとしています。最新の SVNKit jar ファイルをダウンロードし、WEB-INF/lib の下の lib フォルダーに入れました。
これは、ログ エントリの配列を返すコードですが、このコードは Coldfusion 9.0.2 で Null Pointer 例外を返しています。
SVNURL = createObject('java','org.tmatesoft.svn.core.SVNURL').parseURIEncoded(svnurl);
drf = createObject("java","org.tmatesoft.svn.core.internal.io.dav.DAVRepositoryFactory");
drf.setup();
rf = drf.create(SVNURL);
SVNWCUtil = createObject("java","org.tmatesoft.svn.core.wc.SVNWCUtil");
authManager = SVNWCUtil.createDefaultAuthenticationManager(user,pass);
rf.setAuthenticationManager(authManager);
log = rf.log(JavaCast("String[]",[]),JavaCast("null",""),JavaCast("long",10),JavaCast("long",15),true,true);
rf.closeSession();
このコードを実行すると、次のエラーが表示されます。
システムが未定義の値を使用しようとしました。これは通常、コードまたはシステム コードのプログラミング エラーを示します。Null ポインターは、未定義の値の別名です。
この行を指している..
log = rf.log(JavaCast("String[]",[]),JavaCast("null",""),JavaCast("long",10),JavaCast("long",15),true,true);
この同じコードを Railo に移行したところ、すべて正常に動作しています。ACF が log() メソッドで詰まる理由がわかりません。
私はSVNKit WikiのPrinting Out Repository Historyの例を使って始めました。
Adobe Coldfusion で動作させるための提案は大歓迎です。CF10ではテストしていません。