Описание программы находится на Хабрахабре.
Скачать руководство пользователя и саму программу можно с
Bitbucket.
Данная статья содержит технические детали реализации
программы. Она будет полезна тем, кто захочет адаптировать
её для своей организации.
Необходимые библиотеки и файлы
Программа основана на web-api.
Поэтому для начала требуется его сгенерировать. Выполняем
скрипт:
cd %SD_CLIENTHOME%
mkdir webapi
jview /cp lib/servicepack.jar; lib/util.jar; lib/hotfix.jar; lib/common.jar; lib/ui.jar; lib/JClark.zip com.hp.util.AppGenWebApi webapi
, где webapi
- каталог для сгенерированных
исходных кодов.
В появившемся окне вводите свой логин и пароль и ждете
завершения операции.
Далее по инструкции itsm008292.
Для работы программы также понадобятся библиотеки: Log4j, JavaMail, SWT, Velocity.
В рабочем каталоге программы должны находится файлы:
conf/log4j.xml
— настройки логирования
conf/ovsd45notifier.properties
—
настройки программы conf/mail.vm
—
шаблон почтового уведомления log
—
каталог для логирования.
Структура программы
Программу можно разделить на четыре основные части.
-
Основной поток — это главный Shell программы. По его
части - иконка в области уведомлений, хранение
полученных и не просмотренных уведомлений, отображение
уведомлений. Сюда можно отнести классы:
TrayManager
,NoticeManager
,Notification
. -
Мониторы — отвечают за получение заявок. Передают заявки
для уведомления в
TrayManager
и в почту. - Модуль работы с почтой — работает с почтой.
- Классы для работы с Service Desk — управление сессией, получение данных по заявке.
Запуск программы происходит в классе
Notifier
. Он настраивает логирование, создает
TrayManager
, запускает потоки мониторов.
TrayManager создает иконку в области уведомлений и ждет появления заявок. Заявки передаются от монитора с помощью статического метода
static void flash(List<ServiceCall> serviceCalls)
TrayManager
сохраняет поступившие заявки и
при необходимости удаляет их. Для отображения заявок он
обращается к NoticeManager
.