[Seasar-user:12049] Re: 【s2directory】エンティティからフィルタを組み立てて検索時のDN指定

Jun Futagawa [E-MAIL ADDRESS DELETED]
2007年 12月 12日 (水) 13:18:33 JST


ふたがわです。

On 2007/12/11 20:59,鈴木 順 wrote:

> http://s2directory.sandbox.seasar.org/ja/documentation/directorydao.html#select
> の説明にある「エンティティからフィルタを組み立てて検索」を以下の様に宣言し使用しています。
> OrganizationUnit getByOu(OrganizationUnit ou)
> 
> 引数のouのdnがou=hoge,dc=xxx,dc=xxxxxxの場合に、
> ou=hoge,ou=xxxxx,dc=xxx,dc=xxxxxx
> と言うオブジェクトが検索されてしまっています。
> 推測するに、
> baseDN:dc=xxx,dc=xxxxxx
> filter:ou=hoge
> と検索されているような気がします。

ご指摘ありがとうございます。
[DIRECTORY-17] にて正しく動作するように修正しました。

下記にSNAPSHOTを置きました。
http://maven.seasar.org/maven2-snapshot/org/seasar/directory/s2-directory/0.6-SNAPSHOT/s2-directory-0.6-20071212.035953-4.jar

> 実現したい事は存在チェックをしてINSERTかDELETE+INSERT(もしくはUPDATE)を実施する事です。
> その際の存在チェックが上記でうまくいかずその後の処理でエラーとなったりしている現状です。
> DNを指定してOBJECTを取得できれば方法は問いません。

修正により、エンティティを利用した検索で問題無く動くようになると思います。

なお、存在しないDNを検索した場合はnullが返却されます。
また関連して、存在しないDNに対する更新・削除をしようとした場合は
例外NoSuchEntryRuntimeExceptionを発生させるようにしました。
こちらの修正があったので先に修正しました。

よろしくお願いします。

-- 
ふたがわ


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