[Seasar-user:14163] Re: DBFlute LikeSearchOptionでの半角スペース処理
宇枝 祐樹
[E-MAIL ADDRESS DELETED]
2008年 5月 14日 (水) 17:06:19 JST
久保様
お世話になっております。
上田です。
現状の回避方法で質問させていただきたくメールいたしました。
>A. テンプレートを修正してしまう。
>上記3つのクラスのgenerateRealValue()の引数チェックを
>まるごと削除して自動生成し直します。
こちらの回避方法ですが、修正するテンプレートがわかりませんで
自動生成されるクラス(LikeSearchOptionなど)の内部処理を
調整できるファイルがあるのでしょうか?
(自動生成されたクラスに手を加えても認識されないのですね。)
>B. LikeSearchOptionを継承した独自クラスを作成する。
こちら作成してみました。
LikeSearchOptionで利用していたメソッドを独自作成クラスで
再定義し、
LikeSearchOption#generateRealValue(String value)にあった
value = super.generateRealValue(value);
を再定義したメソッドで削除する形にすることで、
回避はできているようです。
上田
kubo さんは書きました:
> 久保です。
>
>
>> 申し訳ありません。こちらDBFluteのバグです。
>> そもそもここに引数はチェック不要です。
>> 次バージョンでは直したものを反映させます。
>>
>
> 新バージョンで直して、検証テストも追加しました。
> 今週末あたりでリリースいたします。
>
> 2008/5/13 kubo <[E-MAIL ADDRESS DELETED]>:
>
>> 久保です。
>>
>> 上田さん、こんばんわ
>>
>>
>> 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 mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
>
>
>
Seasar-user メーリングリストの案内