Поток удаления активов¶
Поток выполнения удаления активов выполняет базовую проверку параметров актива и исходного контекста.
Описание сегментов потока¶
Стартовый сегмент [ASSET_DELETE_START] – обеспечивает базовую валидацию исходного контекста и выполняет его настройку для дальнейшего исполнения в потоке:
Идентификация актива в контексте должна быть корректной. Удаляемый актив должен существовать в системе.
Контекст должен иметь только один активный флаг: логическое удаление исходной записи (incativateOrigin); логическое удаление эталонной записи (inactivateEtalon) или физическое удаление записи (wipe).
Физическое удаление актива в режиме черновика невозможно.
Удаляемый актив должен иметь корректный статус. Повторное логическое удаление эталона актива приведет к ошибке.
Point сегмент [ASSET_DELETE_MEASURED] – нормализует измеряемые атрибуты исходной записи для вставки. Выполняет валидацию измеряемых атрибутов – проверяет измеряемые величины и их категории на наличие в списке существующих величин. Необходим для нормализации изменений записи перед удалением (если изменения переданы в контекст).
Selector сегмент [СASSET_DELETE_SELECTOR] – обеспечивает ветвление потока. Если выполняется удаление актива в режиме черновика, то запускается ветвь [DRAFT]; в обычном режиме – ветвь [REGULAR].
Финишный сегмент [ASSET_DELETE_FINISH] – возвращает ключи удаленного актива.
Ветвь потока [DRAFT]:
Point сегмент [ASSET_DELETE_MODBOX] – выполняет подготовку внесенных изменений из исходного контекста перед вычислением обновленного состояния актива.
Point сегмент [ASSET_DELETE_STATE] – вычисляет обновленное состояние актива. Применяет внесенные изменения к текущему состоянию актива, создает эталонную запись.
Point сегмент [ASSET_DELETE_DRAFT] – выполняет сохранение черновика актива.
Ветвь потока [REGULAR]:
Point сегмент [ASSET_DELETE_MODBOX] – выполняет подготовку внесенных изменений из исходного контекста перед вычислением обновленного состояния актива.
Point сегмент [ASSET_DELETE_STATE] – вычисляет обновленное состояние актива. Применяет внесенные изменения к текущему состоянию актива, создает эталонную запись.
Point сегмент [ASSET_DELETE_INDEXING] – вычисляет изменения актива для поискового индекса.
Point сегмент [ASSET_DELETE_PERSISTENCE] – выполняет сохранение внесенных изменений в базу данных, поисковый индекс и хранилище графа.