Определение и реализация действий
При определении действий контекста вашего сервера необходимо задать свойства определений, т.е. имя, описание, формат, уровень прав доступа, текст справки и группу.
![]() | Многие классы, которые относятся к действиям, чаще являются частями SberMobile Server, нежели Java SDK с открытым исходным кодом. Эти классы недоступны в исходном коде. Чтобы получить доступ к этим классам, необходимо добавить следующие файлы JAR к пути класса:
Эти файлы JAR можно найти в подпапке /jar установочной папки SberMobile Server. |
Для объявления нового действия создайте экземпляр объекта ServerActionDefinition и задайте его свойства. Пример:
|
После завершения добавьте определение действия к контексту путем вызова метода Context.addActionDefinition(). Плагины и драйверы сервера должны добавлять действия из методов install() и start().
Реализация действий
Реализация действий - это класс, включенный в класс ServerAction. Он должен заменить метод execute(), выполняющий данное действие, т.е. скомбинировать операции сервера и взаимодействия с человеком-оператором.
Как только действие запускается оператором (или в автономном режиме), создается новый экземпляр объекта реализации действия и вызывается его метод execute().
У иерархии ServerAction есть следующие методы предоставления доступа в среду действий, доступных во время выполнения:
getDefiningContext()возвращаетContextдействие, которое было вызвано.getActionDefintion()возвращаетActionDefinitionдействия.getActionContext()возвращает экземплярServerActionContext, который содержит расширенную информацию о среде выполнения.
Вот пример простой реализации действия:
|
Взаимодействие с оператором
Когда запускается действие, оно произвольно решает "общаться" с человеком-оператором, который его запустил. Эти взаимодействия называются процедуры пользовательского интерфейса.
Все процедуры пользовательского интерфейса начинаются при помощи вызова различных методов объекта ServerActionCommandProcessor, который доступен из действия через метод getProcessor().
Вот неполный список доступных вызовов процедур пользовательского интерфейса:
Метод ServerActionCommandProcessor | Процедура пользовательского интерфейса |
browse() | |
confirm() | |
editCode() | |
editData() | |
editProperties() | |
editText() | |
launchWidget() | |
selectContext() | Выбрать объекты (только выбор контекста активен) |
selectEntities() | |
showEventLog() | |
showError() | |
showGuide() | |
showMessage() | |
showReport() | |
showSystemTree() |
