このセクションでは、既存の Extension Framework の拡張機能を参照している SOAtest の生成物 (.tst ファイル) および Virtualize の生成物 (.pva、.pvn ファイル) を、異なる GUI フィールドを含む新しいバージョンの拡張機能に適応させるアップデート方法について説明します。生成物を再生成することなく、新しいバージョンのカスタム拡張機能へアップデートさせることができます。このセクションの内容: 新しい GUI オプションを備えた、既存の拡張機能の新しいバージョンを作成した場合、Version Updater を使用して新しく追加されたフィールドへ値を移行したり設定することができます。このアップデートを構成するには、 IVersionUpdater を実装し、parasoft-extension.xml に 新しい GUI オプションを備えた、既存の拡張機能の新しいバージョンを作成した場合に提供されるオプション クラスです。アップデーターは新しく追加されたフィールドへ値を移行したり設定したりするのに使用されます。 新しいバージョンの拡張機能が、アップデーター クラスを提供せずに、 GUI オプションを追加または変更する場合、拡張 GUI フィールドは現在のバージョンの parasoft-extension.xml で定義されたフィールドだけを表示します。古いバージョンの parasoft-extension.xml だけに存在する古いフィールドは表示しません。これらの古いフィールド用に保存されたフィールド値も、次に拡張機能のフィールド値を保存する際に削除されます。 アップデーターは、そのオプションが最後に保存された時点の拡張機能のバージョンを示すバージョン番号を渡します。バージョンが parasoft-extension.xml であらかじめ指定されていない場合、バージョン番号はゼロとなります。受け取った構成クラスは、フィールド値の取得または設定や、不必要なフィールドの削除に使用します。XML にないフィールドは自動的に削除されるので、アップデーターで手動で削除する必要はありません。 たとえば、フィールドを 2 つから 1 つにするために、XML の中のオプションを変更したとします。さらに、この新しいフィールドはオリジナルの 2 つのフィールド値を連結したものを含むとします。このような設定をするには、次のように記載します。 これは以下を定義するためのオプション要素です。 2 つの属性が適用可能です。 section 要素の下のフィールド ID 値 は、 例: GUI に表示されるフィールド ラベルはこの XML に基づいて構成されます。それらはまた、.tst/.pva ファイルにユーザーが提供する値を維持するためにも使用されます。このセクション レイアウトはプログラムに影響を及ぼしません。エンドユーザーが使用しやすいように、さまざまな GUI フィールドを セクションまたはカテゴリに整理します。Version Updater とは
<version>
要素を含める必要があります。 IVersionUpdater の実装
updateVersion(int savedVersion, ICustomConfiguration config) {
if (savedVersion == 1) {
String valueOne = config.getString("oldId1");
String valueTwo = config.getString("oldId2");
config.setString(newKey, valueOne + valueTwo);
}
}
parasoft-extension.xml の <Version> 要素
ICustomXMLConverterConfiguration
オブジェクトから、変換メソッドに渡す値を読み出すキーとして使用されます。これはユーザーが提供した値がユーザーの実装に渡せるようにします。 IXMLMessage toXML(INativeMessage nativeMessage, IConversionContext context) throws CustomConversionException
{
String optionValue = context.getConfiguration().getString("fieldId");
}
Overview
Content Tools