前へ | 次へ |
ParticipantProviderは「userData」と「XPDLのParticipant」の相互チェックの
ために必要なクラス。
ParticipantProviderインタフェースをimplementsする。
必要なメソッドは
boolean isUserInRole(Object userData,String participantName,String participantType);
userDataがXPDLで指定したparticipantNameに一致しているかをチェックする
String getUserIDString(Object userData,String participantType);
userDataから文字列のIDを取得する。文字列のIDが無いときはnullを返す
Long getUserIDNum(Object userData,String participantType);
userDataからLong型のIDを取得する。Long型のIDが無いときはnullを返す
Object getUserData(Long userIDNum,String userIDString);
上記二つのメソッドの戻り値からuserDataを再現する。
boolean hasRoleUser(ParticipantContext context);
ある権限のユーザが存在しているかどうかを確認する。
その時に使う情報はParticipantContextから取得可能です。
ぶりの場合にはBuriParticipantContextが渡されます
RoleInfo getSingleUser(ParticipantContext context);
ある権限の特定のユーザを取得する。RoleInfoはUserIDStringとUserIDNumが組み合わされたものです。
List getUser(ParticipantContext context);
ある権限の特定のユーザの一覧を取得する。リストの中身はRoleInfoです
buri2.dicon上に追加登録してreadWorkFlowFromResourceの3番目の引数に設定することで利用可能になります。
これらのコーディングディレクトリサーバ等を使用しないと意外と難易度の高いコードになると思います。それをなるべく軽減するためにExcelベースのParticipantProviderをぶりのライブラリとして提供しています。
権限情報が小規模で複雑さがそれほど無い場合にはExcelベースのParticipantProviderを選択することをお勧めします