チケット #22909

Mirage SqlManagerImpl#executeUpdate の第2引数にMapで渡したパラメーターの値がnullだとNPEが発生する

登録: 2010-08-24 10:40 最終更新: 2010-08-26 08:02

報告者:
担当者:
チケットの種類:
状況:
完了
コンポーネント:
マイルストーン:
(未割り当て)
優先度:
5 - 中
重要度:
5 - 中
解決法:
なし
ファイル:
なし

詳細

以下のようにMapに値がnullのパラメータをputしてexecuteUpdateを行うと・・・

  1. Map<String, Object> param = new HashMap<String, Object>();
  2. param.put("param1", "foo");
  3. param.put("param2", null);
  4. sqlManager.executeUpdate("some.sql", param);

MapPropertyDescImpl#getPropertyType でNPEが発生しますので、nullチェックを行うべきと思います。

Index: src/main/java/jp/sf/amateras/mirage/bean/MapPropertyDescImpl.java
===================================================================
--- src/main/java/jp/sf/amateras/mirage/bean/MapPropertyDescImpl.java	(revision 195)
+++ src/main/java/jp/sf/amateras/mirage/bean/MapPropertyDescImpl.java	(working copy)
@@ -31,7 +31,7 @@
 
 	@Override
 	public Class<?> getPropertyType() {
-		return value.getClass();
+		return (null == value) ? null : value.getClass();
 	}
 
 	@Override

チケットの履歴 (2 件中 2 件表示)

2010-08-24 10:40 更新者: bcohimei
  • 新しいチケット "[Mirage] SqlManagerImpl#executeUpdate の第2引数にMapで渡したパラメーターの値がnullだとNPEが発生する" が作成されました
2010-08-26 08:02 更新者: takezoe
  • チケット完了時刻2010-08-26 08:02 に更新されました
  • 状況オープン から 完了 に更新されました
コメント

修正しました。Mirage 1.0.4でリリースされます。

添付ファイルリスト

添付ファイルはありません

編集

このチケットにコメントを追加するには、ログインが必要です » ログインする