コード監査変換について

コード監査規則では、修正を提供することもできます。修正は、違反を修正するためにユーザーがコード監査レポートのログ・ウィンドウから起動できるプロシージャです。 通常の修正では、不足しているコードを提供するか、または監査したコードを編集します。 規則は、違反の原因である構成メンバーをTransformサブクラスのインスタンスにカプセル化することによって修正を提供します。 このサブクラスは、構成メンバーに対して実行されるapplyメソッドを定義する必要があります。 コード監査規則で修正を提供する必要はありません。 構成メンバーは、コード要素を表すJava Object Model(JOT)クラスのインスタンスです。 JOTメソッドを使用すると、構成メンバーを変更できます。変更するには通常、構成メンバーのテキストを変更します。

Transformのサブクラスは、修正用の名前を取得するコンストラクタ、および修正の名前をローカライズ可能なテキストに関連付けるリソース・ファイルを提供する必要があります。




public UnderscoreFix(String name, Localizer localizer) { super(name, localizer); }

修正はapplyメソッドによって実行されます。このメソッドは、ユーザーがコード監査レポートのログ・ウィンドウで修正を選択したときに、コード監査フレームワークによってコールされます。 applyメソッドは、その構成メンバーを必要に応じて変更する必要があります。 次の例では、修正によってフィールド名の前に"_"が付加されます。




public void apply() { Object o = this.getConstruct(); if (o instanceof JotField) { JotField jf = (JotField)o; String _old = jf.getName(); String _new = "_" + _old; jf.setName(_new); applied = true; } }

コード監査レポートが生成される時間と修正が適用される時間の合間に、違反をトリガーしたコードが変更される可能性があります。 つまり、別の違反に適用された修正内容によってコードが変更されたり、ユーザーがコードを編集する場合があります。 このような場合は、修正を適用できません。 予期しない変更または例外を回避するには、applyをコールする前に、フレームワークがコールする次のstatusメソッドをオーバーライドします。


カスタム・コード監査規則の追加
コード監査アナライザについて
コード監査規則プロジェクトの作成、ビルドおよびデプロイ

関連API

oracle.jdeveloper.audit.transform package
oracle.jdeveloper.jot package

 

Copyright © 1997, 2004, Oracle. All rights reserved.