Задача [AI25, BPM1]: Обработчик реестра журналистов в Arta Synergy

Формулировка проблемы: для полного решения задачи «Реестр журналистов и Arta Intelligence» необходимо разработать обработчик реестра журналистов, который будет взаимодействовать с функциональностью «Журналисты» в Arta Intelligence (см. задачу AI22).

Решение: необходимо реализовать обработчик событий, которые будет генерировать процесс действия «Событие реестра» (неблокирующий процесс). Указанный процесс будет использоваться в 3-х случаях:

Действие над реестром Местонахождение процесса «Событие реестра» Название события

Добавление новой карточки журналиста

Маршрут активации записи реестра

event.registers.ai.journalists.add

Изменение карточки журналиста

Маршрут изменения записи реестра

event.registers.ai.journalists.change

Удаление карточки журналиста

Маршрут удаления записи реестра

event.registers.ai.journalists.remove

Обработчик должен использовать API Arta Intelligence для, соответственно, создания, изменения и удаления журналиста в Arta Intelligence, а также проставлением ссылки для доступа к функции «Просмотр всех новостей журналиста» (см. задачу AI20). Для того, чтобы просмотр новостей журналиста не был открыт в новом окне браузера и не вызвал перезагрузку имеющегося окна, необходимо, чтобы:

Параметры обработчика задаются в конфигурационном файле ${jboss.server.config.dir}/arta/ext/journalists.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<journalists> 
    <!-- Параметры доступа к API Arta Intelligence -->
    <ai>
            <url>http://synergy.arta.kz/news</url>
            <auth>
                <!-- Возможные типы аутентификации: login — аутентификация по логину и паролю -->
                <type>login</type>
                <login>user</login>
                <password>password</password>
            </auth>
    </ai>
    <!-- Идентификатор реестра журналистов -->
    <registry>83f57a98-cccc-4c30-8527-0c11127b52</registry>
    <!-- Идентификатор компонента формы реестра, где ФИО журналиста --> 
    <name>cmp-FIO</name>
    <!-- Идентификатор компонента для помещения ссылки на открытие новостей журналиста (cм. Просмотр всех новостей журналиста). Компонент должен быть типа "Ссылка" -->
    <link>cmp-JournalistNews</link>
    <!-- Набор пар "ник — источник (группа источников)". Источник или группа источников берется из компонента типа "Выбор из списка" , связанного со справочником, синхронизируемым с Arta Intelligence. Пары должны находиться внутри динамической таблицы -->
    <nicksourcepairs>
            <dyntable>cmp-NickSource</dyntable>
            <nick>cmp-Nick</nick>
            <source>cmp-Source</source>
    </nicksourcepairs>
</journalists>