Добавление ресурсов к плагинам

В большинстве случаев плагины AggreGate Server предоставляют различные ресурсы, такие как преднастроенные тревоги, отчеты, виджеты, инструментальные панели, модели, задачи планировщика, и т.д. Когда установлен этот плагин, предоставленные им ресурсы могут управляться, как любые другие ресурсы, включенные в AggreGate или коробочные решения на ее основе.

Используйте модуль Пакеты ресурсов, чтобы подготовить новый плагин ресурсов без какой-либо разработки на языке Java.

Создание плагина с ресурсами

Включать ресурсы в плагин несложно:

  • Разработайте и протестируйте ресурс (такой как инструментальная панель), используя любые визуальные инструменты, предоставляемые AggreGate
  • Откройте конфигурацию ресурса в Редакторе свойств, кликните по кнопке Экспортировать на панели инструментов () и сохраните конфигурацию ресурса в файл *.prs.
  • В исходном коде вашего плагина создайте новый пустой пакет программ ниже уровня главного пакета класса плагина. Назовите его, например, resources.
  • Создайте пустой класс в этом пакете, напр. ResourceAccessor. Этот класс будет использоваться для доступа к файлу ресурса из исходного кода.
  • Поместите ваш(и) файл(ы) ресурсов *.prs в папку уровнем выше.
  • Перезапишите метод install(ContextManager cm) главного класса вашего плагина. В методе перезаписи создайте экземпляр класса PropertiesResourceBuilder для каждого ресурса и зарегистрируйте их в хранилище ресурсов, вызвав RepositoryManager.add(ResourceBuilder builder).

Классы PropertiesResourceBuilder и RepositoryManager определены в архиве server-core.jar, доступном в любой инсталляции AggreGate Server.

Как только создан и зарегистрирован редакторы ресурсы, отредактируйте ваш плагин и перезапустите сервер. После этого вы должны увидеть новые ресурсы либо в таблице Create/Update Resources, либо в таблице Delete Resources (если ресурс с таким именем уже существует).

Различные конструкторы класса PropertiesResourceBuilder принимают некоторые или все следующие аргументы:

  • version - версия ресурса, целое число, начиная с 1, которое должно быть увеличено каждый раз, когда изменяется шаблон ресурса.
  • contextPattern - путь контекста контейнера, который будет содержать результирующий контекст ресурса. Так как в большинстве случаев ресурс может быть создан для различных пользователей, шаблон отличается этим от стандартного пути контекста, он может содержать символ %, который будет заменен именем пользователя, для которого создается/обновляется/удаляется данный ресурс. Можно легко создать путь с помощью вызова статичных методов класса ContextUtils, например, ContextUtils.dashboardsContextPath(ContextUtils.USERNAME_PATTERN).
  • name - имя контекста источника, который будет создан, например, networkDeviceOverview. Не советуем включать тип ресурса в его описание, например networkDeviceOverviewDashboard не рекомендуется в качестве имени.

Имя ресурса должно соответствовать имени файла-шаблона *.prs (без расширения).

  • typeDescription - удобное для чтения описание типа ресурса, например Dashboard.
  • category -  удобное для чтения описание категории, к которой будет принадлежать ресурс, например Network Management.
  • description -  удобное для чтения описание самого ресурса, например Network Device Overview. Не советуем включать тип ресурса в его описание, например Network Device Overview Dashboard не рекомендуется в качестве описания.
  • autoCreate - флажок, который определяет, должен ли быть создан ресурс при первом запуске сервера в стандартной инсталляции.
  • resourceClass - класс на один уровень выше, расположенный в том же пакете с файлом ресурса *.prs.
  • group - группа ресурсов, куда нужно поместить ресурс.