本主题介绍如何更新已保存的引用已有 Extension Framework 扩展的 SOAtest 工件(.tst 文件)和 Virtualize 工件(.pva 和 .pvn 文件),以使它们适应包含一组不同 GUI 字段的新版本扩展。这使得这些构件可以无缝地升级到自定义扩展的新版本,而无需对它们进行重建。章节目录:
如果创建具有新 GUI 选项的现有扩展的新版本,可以使用版本更新器向已添加的新字段传输或设置值。为配置该更新,您需要实现 IVersionUpdater
并在 parasoft-extension.xml 中包含 <version>
元素。
如果您创建了具有新 GUI 选项的现有扩展的新版本,则可以提供这个可选类。更新器可用于向已添加的新字段传输或设置值。
如果新版本的扩展程序在未提供更新类的情况下添加或修改了 GUI 选项,那么扩展程序的 GUI 字段将仅显示当前版本的 parasoft-extension.xml 中定义的字段,而不会显示仅存在于旧版本 parasoft-extension.xml 中的任何旧字段。这些字段保存的所有字段值也将在下次保存扩展的字段值时被删除。
更新器传递保存的版本号,该版本号表示上次保存选项时扩展的版本。如果以前未在 parasoft-extension.xml 中指定版本,则预期的版本号为 0。传递的配置类可以用来获取字段值和设置字段值,也可以删除任何不必要的字段。需注意的是,XML 中不再存在的字段将自动删除,不需要手动在更新器中删除。
例如,假设您更改了 XML 中的选项,让一个字段代替两个字段。此外,假设这个新字段包含原来两个字段值的相关内容。下面是一个例子:
updateVersion(int savedVersion, ICustomConfiguration config) { if (savedVersion == 1) { String valueOne = config.getString("oldId1"); String valueTwo = config.getString("oldId2"); config.setString(newKey, valueOne + valueTwo); } } |
这是一个可包含的可选元素,用于定义:
有两个可用的属性:
IVersionUpdater
的类。 IVersionUpdater
的类的完全限定名。section 元素下的字段 ID 值用作键,用于从传递给转换方法的 ICustomXMLConverterConfiguration
对象检索值。这允许将用户提供的值传递给实现类中。
例如:
IXMLMessage toXML(INativeMessage nativeMessage, IConversionContext context) throws CustomConversionException { String optionValue = context.getConfiguration().getString("fieldId"); } |
GUI 中出现的字段标签是基于此 XML 构建的。它们还可用于在保存值时,将用户提供的值保留到 .tst 或 .pva 文件中。section 布局不存在编程影响;它只是帮助将各种 GUI 字段整理为不同的部分或分类,以便最终用户方便地访问和使用。