高度なカスタマイズ > ビジネスロジックのカスタマイズ > パッケージのカスタマイズ > コンテキストレプリケーションでのユーザーの識別とレプリケーション済みユーザーのアクティブ化 > サンプルコード
  
サンプルコード
カスタム委任の作成
カスタム委任は PrincipaMatchDelegate を実装し、match(…) API をオーバーライドして、いくつかのカスタムロジックを提供します。次の例は、ユーザー名による一致を見つけるためのロジックを示しています。
public WTPrincipal match(WTPrincipal querySpec) throws WTException {
if (querySpec == null || !(querySpec instanceof WTUser)) {
if (logger.isDebugEnabled()) logger.debug("Input principal is null");
return null;
}
// Clone right away to avoid auto-inflate when calling getters
WTUser querySpecClone = (WTUser) querySpec.cloneAsInflated();
String userName = ((WTUser) querySpecClone).getName();
if (userName == null || userName.trim().isEmpty()) return null;
WTPrincipal result = null;
String userNames[] = new String[] { userName };
result = OrganizationServicesHelper.manager.findPersistedUser
userNames, null /* email */, null /* fullName */, null /* surname
*/, null /* status */, null /* internal */, Boolean.FALSE /* disabled */);
return result;
}
Windchill コードでの使用例
<Windchill>\codebase\service.properties
<Windchill>\codebase\wt\org\delegate\PrincipalMatchDelegate.class
<Windchill>\codebase\wt\org\delegate\ImportedUserByUserNameMatchDelegate.class
<Windchill>\codebase\wt\org\delegate\ImportedUserByEmailIdMatchDelegate.class
<Windchill>\\codebase\wt\org\delegate\ImportedUserByUserNameMatchDelegate.class
<Windchill>\codebase\wt\org\delegate\ReplicatedUserForActivationByUserNameMatchDelegate.class
<Windchill>\codebase\wt\org\delegate\ReplicatedUserForActivationByEmailIdMatchDelegate.class
パッケージ化されたサンプル
<Windchill>\prog_examples\principal\principalmatchdelegate\ImportedUserByUserNameMatchDelegate.java
<Windchill>\prog_examples\principal\principalmatchdelegate\ReplicatedUserForActivationByUserNameMatchDelegate.java
関連パッケージ/クラスの Javadoc
wt.org.delegate