承認申請完了プロセッサの開発
このトピックでは、既成の承認申請プロセッサクラスを拡張し、postComplete メソッドを機関固有の処理メソッドによってオーバーライドする方法について説明します。
ソリューション
既成の承認申請プロセッサを拡張するカスタムクラスを作成します。
カスタムクラスを登録する xconf エントリを作成します。
ソリューションエレメント
以下のテーブルで、ソリューションエレメントについて説明します。
エレメント
タイプ
説明
postComplete(RegulatorySubmission regulatorySubmission
API
申請プロセスが正常に完了した後で承認申請を処理します。
デフォルトの動作
デフォルトの実装では、「申請の段階」属性が「アクティブ」に設定されます。先行バージョンが存在する場合、そのバージョンの「申請の段階」が「履歴」に設定されます。
デフォルトの実装は、主にデモと説明を目的としています。ただし、これは多くの承認申請タイプに適した一般的なベストプラクティスです。要件に応じて、インプリメンターは提供されているドキュメンテーションと一致する申請固有のプロセッサを作成できます。
カスタムクラスの作成
確認処理をカスタマイズするには、SimpleRegulatorySubmissionProcessor または適切な改訂可能なサブタイププロセッサを拡張する Java クラス (独自のプロセッサ) を作成してから、postComplete メソッドをオーバーライドします。改訂可能なサブタイププロセッサには、AERSubmissionProcessorERSubmissionProcessorRPSSubmissionProcessorUDISubmissionProcessor などがあります。
オーバーライドされた postComplete メソッドの例を以下に示します。
@Override
public RegulatorySubmission postComplete(RegulatorySubmission regulatorySubmission) throws Exception {
if (!VersionControlHelper.isLatestIteration(regulatorySubmission)) {
Object[] errorMessageObjects = new Object[1];
errorMessageObjects[0] = regulatorySubmission.getDisplayIdentifier();
throw new WTException(vcResource.class.getName(), vcResource.OBJECT_IS_NOT_LATEST, errorMessageObjects);
}
regulatorySubmission = RegulatorySubmissionHelper.setSubmissionStage(regulatorySubmission, getCompleteStage());
RegulatorySubmission previousIteration = (RegulatorySubmission) VersionControlHelper.getPredecessor(regulatorySubmission).getObject();
if (previousIteration != null) {
previousIteration = RegulatorySubmissionHelper.setSubmissionStage(previousIteration, getHistoryStage());
}
return regulatorySubmission;
}
これは役に立ちましたか?