[Seasar-user:14145] Re: DBFlute LikeSearchOptionでの半角スペース処理

kubo [E-MAIL ADDRESS DELETED]
2008年 5月 13日 (火) 23:32:33 JST


久保です。

上田さん、こんばんわ


ToUpperLowerCaseOptionParts
ToSingleByteOptionParts
JapaneseOptionPartsAgent
のgenerateRealValue()の引数チェックですね。

if (value == null || value.trim().length() == 0) {

申し訳ありません。こちらDBFluteのバグです。
そもそもここに引数はチェック不要です。
次バージョンでは直したものを反映させます。

ご利用のバージョンのままでの回避方法ですが、

A. テンプレートを修正してしまう。

上記3つのクラスのgenerateRealValue()の引数チェックを
まるごと削除して自動生成し直します。

B. LikeSearchOptionを継承した独自クラスを作成する。

LikeSearchOptionさえ継承していれば動きますので、
サブクラスでオーバーライドして動きを変えてしまえば
回避できるかもしれません。



2008/5/13 宇枝 祐樹 <[E-MAIL ADDRESS DELETED]>:
> いつもお世話になっております。
>  上田と申します。
>
>  DBFluteのLikeSearchOptionで質問させていただきたいです。
>
>  ------------------
>  環境
>  Seasar2 2.4.22
>  dbflute-0.6.4
>  --------------------
>
>  検索条件に半角スペースのみ入力した場合にExceptionが発生してしまい
>  回避方法が見つからずにおります。
>
>  Exceptionは
>  java.lang.IllegalArgumentException: The argument[value] should not be null.
>  と出ております。
>
>  内部でjava.lang.String.trim()がかかっており、その為だとは思うのですが、
>  これを回避する方法をご存知の方、いらっしゃらないでしょうか?
>
>  外だしSQLですと、現在の実装方法とだいぶ異なってしまうので
>  避けたいところではあるのですが。
>
>  恐れ入りますが、ご教授のほど、宜しくお願い致します。
>
>  上田
>
>
>
>  _______________________________________________
>  Seasar-user mailing list
>  [E-MAIL ADDRESS DELETED]
>  https://ml.seasar.org/mailman/listinfo/seasar-user
>


Seasar-user メーリングリストの案内