Создайте функции, чтобы создать и затем обновить дерево фабрики тулбокса и затем протестировать это, обновление завершается успешно.
Функциональный createMyToolboxFactoryTree
создает дерево заводских настроек для тулбокса mytoolbox
.
Создайте функциональный createMyToolboxSettingsFileUpgraders
с пустым matlab.settings.SettingsFileUpgrader
объект.
Создайте settingsInfo.json
файл для тулбокса. Задайте mytoolbox
как корневое название группы настроек, createMyToolboxFactoryTree
как функция создания дерева настроек и createMyToolboxSettingsFileUpgraders
как дерево настроек обновляют функцию. Поместите settingsInfo.json
в тулбоксе resources
папка.
Добавьте папку, которая содержит функцию создания дерева настроек и папку ресурсов тулбокса к MATLAB® path. Затем загрузите дерево заводских настроек для mytoolbox
.
Используйте settings
функционируйте, чтобы получить доступ к корню дерева настроек и установить личностное значение для MyFontSize
установка.
Поменяйте имена настроек в createMyToolboxFactoryTree
от MyFontSize
и MyFontColor
к FontSize
и FontColor
.
Запишите переименовывание этих двух настроек в createMyToolboxSettingsFileUpgraders
функционируйте как изменения в дереве настроек для версии 2
из mytoolbox
. При записи переименовывания этих двух настроек введите ошибку в одном из путей. Например, удалите mytoolbox
от целевого пути первого записанного изменения.
Перезагрузите дерево заводских настроек для mytoolbox
.
Используйте settings
функционируйте, чтобы получить доступ к корню дерева настроек и проверить личностную ценность для FontSize
установка. Заметьте, что личностная ценность не была перемещена.
ans =
Setting 'mytoolbox.font.FontSize' with properties:
ActiveValue: 11
TemporaryValue: <no value>
PersonalValue: <no value>
FactoryValue: 11
Получите результаты обновления для версии 2
из mytoolbox
и проверяйте журнал исключения на первую операцию.
ans =
ReleaseCompatibilityException with properties:
ExceptionString: ''font.FontSize' is an invalid path for adding a new group.
The path needs to be relative to the master settings file
and cannot contain ".." between folder names.'
ExceptionID: "MATLAB:settings:config:PathNotRelativeToMasterFile"