Sun Identity Manager 8.1 リソースリファレンス

getAccountIterator アクション

既存ユーザーの繰り返しの実行に使用されるアダプタにオブジェクトを返すには、getAccountIterator アクションを使用します。

アカウントの反復処理 (調整、「リソースから読み込み」) を実行するには、このアクションまたは listAll アクションを定義してください。getAccountIterator アクションが定義されていない場合は、listAll を呼び出してから listAll のリスト内の ID ごとに getUser を呼び出すことによって、アカウントの反復処理が実行されます。

さらに、getAccountIterator アクションまたは listAll アクションが定義されていない場合は、アカウントの反復処理はサポートされません。

コンテキスト

actionContext マップには次のエントリが含まれます。

キー  

値の型  

値の説明  

conn

java.sql.Connection 

顧客のデータベースへの JDBC 接続。 

adapter

com.wavset.adapter.ScriptedJdbcResourceAdapter 

アダプタインスタンス 

action

java.lang.String 

getAccountIterator」という文字列。

result

java.util.Map 

後述の result の説明を参照してください。 

errors

java.util.List 

最初は、この値は空のリストです。 

処理中にエラーが発生した場合、スクリプトによってこのリストに java.lang.String オブジェクトを追加できます。

trace

com.waveset.adapter.Trace 

実行のトレースに使用されるオブジェクト。 

スクリプトは、このクラスのメソッドを使用することで、顧客の環境でデバッグ可能なものとなります。 

アダプタは、result マップに次のエントリが入力されることを想定しています。

キー  

値の型  

値の説明  

iterator

com.waveset.adapter.script.ScriptedIterator 

スクリプトによって、この値を ScriptedIterator インタフェースの生成インスタンスに設定する必要があります。 

 

public interface ScriptedIterator { public boolean hasNext(); public void next(java.util.Map nextObj); public void close();}

nextObj マップについては、次の表を参照してください。

オブジェクトは、顧客のデータベース内のすべてのユーザーを反復処理できる必要があります。 

サンプルは、BeanShell および Javascript でこれを行う方法を示しています。 

アダプタは、next メソッドに渡される nextObj マップに、iterator によって各繰り返しユーザーの属性が入力されることを想定しています。

キー  

値の型  

値の説明  

attrMap

java.util.Map 

スクリプトがユーザー属性を直接取得できる場合は、ユーザー属性のマップでこのエントリを設定できます。属性名は、リソースのスキーママップの「リソースユーザー属性」列で定義されます。 

isDisabled

java.lang.Boolean または java.lang.String 

スクリプトによって Boolean.TRUE または true の文字列に設定されている場合、そのユーザーは無効とみなされます。

エラー処理

スクリプト内から例外がスローされた場合は、失敗とみなされます。

スクリプトでエラーが発生した場合、スクリプトによって errors キーに適切な文字列を追加することもできます。errors リストに項目が存在する場合は、失敗とみなされます。