Определение и реализация действий
При определении действий контекста вашего сервера необходимо задать свойства определений, т.е. имя, описание, формат, уровень прав доступа, текст справки и группу.
Многие классы, которые относятся к действиям, чаще являются частями 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() |