Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Информация
iconfalse

Сервис для работы с мониторами процессов, их создания, получения, обновления, удаления.

Примечание
iconfalse

ru.intertrust.cmj.rest.tunable.object.processes.service.MonitorProcessingServiceImpl

Подсказка
iconfalse

extends: -

properties

Создание нового монитора для проесса, выполняющегося на сервере

processTitle

createMonitor(String processTitle, String currentStageTitle, String handlerName, TunableObjectREST.Resource data, Map<String, String> params, String httpSessionId, String clientId)

name

return value

description

createMonitor

get

ProcessMonitor

methods

name

return value

description

createMonitor

ProcessMonitor

 ProcessMonitor createMonitor(String processTitle, String currentStageTitle, String handlerName, TunableObjectREST.Resource data,
            Map<String, String> params, String httpSessionId, String clientId);

Создание нового монитора для проесса, выполняющегося на сервере

@param processTitle - - заголовок процесса
     * @param currentStageTitle заголовок первого этапа процесса
     * @param handlerName       имя обработчика, который стартует процесс
     * @param params            параметры, необходимые для работы, по умолчанию в них информация о клиентском контексте
     * @param httpSessionId     идентификатор http-сессии пользователя, в которой он запустил операцию
     * @param clientId          идентификатор вкладки пользователя, в которой он запустил операцию

@return монтитор процесса

deleteMonitorboolean

Удаляет монитор из хранилища

@param monitorId
     * @return - true, если монитор удалён

getMonitorIProcessMonitorgetAll  List<IProcessMonitor>MonitorProcessingServiceПолучения сервиса из JS-обработчика

getData

TunableObjectREST.Resource

Возвращает ресурс, необходимый клиенту для использования на текущем шаге процесса

Параметры:

  • monitorId - String - UNID монитора процесса

deleteMonitor

Boolean

Удаляет монитор из хранилища

Параметры:

  • monitorId - String - UNID монитора процесса

getMonitor

IProcessMonitorВозвращает монитор процесса

getAll

List<IProcessMonitor>Возвращает мониторы всех процессов в системе

getAllByPerson

IProcessMonitor    List<IProcessMonitor> getAllByPerson(SOPersonSystem person);List<IProcessMonitor>

Возвращает мониторы для всех запущенных процессов указанного пользователя

Параметры:@param

- person
  • - владелец процессов

     * @return - мониторы всех процесов, запущенных указанным ползователем

getAllByClientId

  List<IProcessMonitor> getAllByClientId(String clientId);
List<IProcessMonitor>

Возвращает все мониторы проессовпо процессов по идентификатору активной вкладки браузера     *
     * @param clientId

Параметры:

  • clientId - String - идентификатор сессии web-клиента. Привязан к вкладке браузера
     * @return
getParams(String monitorId)

getParams(String monitorId);

Возвращает патаметры процесса
     *
     * @param monitorId
     * @return параметры процесса

getData

    TunableObjectREST.Resource getData(String monitorId);

Возвращает ресурс, необходимый клиенту для испльзования на текущем шаге процесса
     *
     * @param monitorId
     * @return

setStatus

Установка опрдленного статуса процесса

setStatus(String monitorId, IProcessMonitor.Status status);

* @param monitorId
     * @param status    устанавливамый статус

setServerStatusУстановка опредленного статуса серверной обработки процесса.
     *
     * @param monitorId
     * @param serverStatus устанавливамый статус
     */
    void setServerStatus(String monitorId, IProcessMonitor.ServerStatus serverStatus);
prepareForHandlerProcessMonitor/**
     * Заполнение монитора данными перед запуском обработчика
     *
     * @param monitorId
     * @param currentStageTitle - заголовок текущего состояния процесса для отображения
     * @param handlerName       - название обработчика, который должен вызваться в рамках процесса
     * @param data              - ресурс, необходимый для следующего шаге процесса
     * @param httpSessionId     - дентификатор http-сессии пользователя
     * @param clientId          - идентификатор сессии web-клиента. Привязан к вкладке браузера
     */
    ProcessMonitor prepareForHandler(String monitorId, String currentStageTitle, String handlerName, TunableObjectREST.Resource data,
            String httpSessionId, String clientId);
updateByHandler/**
     *

getParams

Map<String, String>

Возвращает параметры процесса

Параметры:

  • monitorId - String - UNID монитора процесса

methods

name

return value

description

updateProgress


Обновление прогресса операции, выполняющейся на сервере и отправка её на клиент по WebSocket

Параметры:

  • monitorId - String - UNID монитора процесса
  • total - Integer - сколько необходимо для завершения операции, в %
  • done - Integer - сколько пройдено, в %

updateByHandler


Запись в монитор разультатов работы обработчика

     *
     * @param monitorId
     * @param command          

Параметры:

  • monitorId - String - UNID монитора процесса
  • command - IProcessMonitor.Command - команда для выполения веб-клиентом
     * @param currentStageTitle
  • currentStageTitle - String - заголовок текущего состояния процесса для отображения
     * @param data              
  • data  - TunableObjectREST.Resource - ресурс, необходимый для следующего шаге процесса
     * @param params            
  • params - Map<String,String> - параметры процесса, необходимые на следующих шагах проесса
     */
    void updateByHandler(String monitorId, IProcessMonitor.Command command, String currentStageTitle, TunableObjectREST.Resource data,
            Map<String, String> params);
notifyClients(String monitorId);  
 Отправка

updateStatus


Устанавливает статус в монитор с сохранением в базу

Параметры:

setStatus


Установка опредленного статуса процесса

Параметры:

setServerStatus


Установка опредленного статуса серверной обработки процесса

Параметры:

notifyClients


Отправка представления монитора всем клиентам по WebSocket с целью информирования о текущем состоянии процесса

Параметры:* @param monitorId

  • monitorId - String - UNID монитора процесса

sendToClient


Отправка представления монитора на клиент по WebSocket с целью выполнения действий на клиенте

     *
     * @param monitorId
     */
    void sendToClient(String monitorId);

Параметры:

  • monitorId - String - UNID монитора процесса

sendToClientForSelectNewActiveSession


Отправка предсталения монитора всем клиентам для выбора клиента, который будет стартовать автоматическую операцию.
     * <p>
     * Выбор клиента происходит по следующей логике:     * -

  • первому попавшемуся клиенту отправляется монитор с разрешением на выполнение клиентской операции

     *
  • без привлечения внимания пользовтеля. При этом SessionId этого клиента записывается в монитор.
     * -
  • всем остальным клиентам монитор отправляется без такого разрашения.

     * <p>
     *
  • При этом, если клиент с сохраненным SessionId отключится, то берется следующий первый попавшийся клиент.

     *
     * @param monitor                     Параметры:

     * @param person                           * @param needSendToNotActiveSessions
  • needSendToNotActiveSessions - Boolean - true, если необходимо ли рассылать монитор всем клиентам
,
     */  void sendToClientForSelectNewActiveSession(IProcessMonitor monitor, SOPersonSystem person, boolean needSendToNotActiveSessions);

setActiveSessionAndSentAutoStartCommand


Установка активной websocket-сессии и отправка клиенту по этой сессии команды для автозапуска операции на клиенте

Параметры:@param monitorId           - монитор процесса
     * @param person              

  • monitorId - String - UNID монитора процесса
  • person - SOPersonSystem - инициатор процесса
     * @param activeWSSessionId  
  • activeWSSessionId - String - id webSocket-сессии для которой надо выдать разрешение для авторзапуска клиентской операции
     * @param
  • activeHttpSessionId - String - id http-сессии для которой надо выдать разрешение для авторзапуска клиентской операции
     * @param activeClientId      
  • activeClientId - String - id клиента который подключился, однозначно идентифицирует вкладку браузера.

     */
    void setActiveSessionAndSentAutoStartCommand(String monitorId, SOPersonSystem person, String activeWSSessionId,
            String activeHttpSessionId, String activeClientId);
startClientOperationboolean  /**
     *

startClientOperation

Boolean

Выдача разрешения клиенту на обработку процесса, если процесс еще не занят другим клиентом.


     *

При этом статус меняется с WAIT_DATA_FROM_USER на CLIENT_PROCESSING

     *
     * @param monitorId

Параметры:

  • monitorId - String - UNID монитора процесса
     * @param clientId  - идентификатор клиента
     * @return true, если пазрешение выдано. false - если нет.
     */
    boolean startClientOperation(String monitorId, String clientId);
releaseClientOperation  /**
     *
  • clientId - String - идентификатор клиента

releaseClientOperation


Освобождение монитора клиентом, если пользователь отказался продолжать процесс прямо сейчас, но не превал её.


     *

При этом статус меняется с CLIENT_PROCESSING на WAIT_DATA_FROM_USER

     *
     * @param monitorId - UNID монитора процесса
     */
    void releaseClientOperation(String monitorId, boolean needNotify);
 
updateProgress  /**
     * Обновление прогресса операции, выполняющейся на сервере и отправка её на клиент по WebSocket
     *
     * @param monitorId

Параметры:

  • monitorId - String - UNID монитора процесса
     * @param total     - сколько необходимо для завершения операции, в %
     * @param done      - сколько пройдено, в %
     */
    void updateProgress(String monitorId, int total, int done);
writeErrorDialog  /**
     *

writeErrorDialog


Запись ошибки, блокирующей продолжение процесса.


     *

Формирование завершащего диалога для показа ошибки

     *
     * @param monitorId - id

Параметры:

  • monitorId - String - UNID монитора процесса
     * @param
  • errorText - String - текст ошибки
     */
    void writeErrorDialog(String monitorId, String errorText, String stacktrace);  markFinished
  • stacktrace - String - стек-трейс ошибки

 markFinished


Помечает процесс заверешённым  void markFinished(String monitorId);

Параметры:

  • monitorId - String - UNID монитора процесса

markAborted


Помечает процесс прерванным. Нужно для запуска отката изменений     *
     * @param monitorId - id монитора процесса

void markAborted(String monitorId);Параметры:

  • monitorId - String - UNID монитора процесса

markDeleted


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

 *
     * @param monitorId - id монитора процесса
     */
    void markDeleted(String monitorId);

updateStatus  /**
     * Устанавливает статус в монитор с сохранением в базу
     *
     * @param monitorId - id монитора процесса
     * @param status - статус монитора
     */
    void updateStatus(String monitorId, IProcessMonitor.Status status);
updateByHandler

Параметры:

  • monitorId - String - UNID монитора процесса
Свойства страницы
Статус

Статус
colour

Yellow

Green
title

В РАБОТЕ

ГОТОВО

Комментарий
панель

Методы, свойства, внутренние классы

Оглавление