Контекстные переменные

Описание

Механизм контекстных переменных позволяет получить контекст данных по определенному объекту, используя id объекта и его тип. Контекст представляет из себя словарь с заранее определенными строковыми ключами, в качестве значения выступает строка.

Типы объектов:

Процессы:

process:id
process:title
process:type
process:status (название статуса)
process:description
process:priority
process:createTime (дата в формате dd.MM.yyyy HH:mm:ss)
process:createUserId
process:createUserTitle
process:closeTime (дата в формате dd.MM.yyyy HH:mm:ss)
process:closeUser
process:initiateGroups (группы исполнения с ролью инициация через запятую)
process:executeGroups (группы исполнения с ролью выполнение через запятую)
process:executors (исполнители с ролью выполнение через запятую)
process:param (параметры, имеющиеся по типу процесса; пример переменной: param1212)

Пользователи:

user:id
user:title
user:login
user:description
user:roles
user:email
user:queueIds
user:groupIds
user:param (все параметры, имеющиеся у пользователей)

Контрагенты:

customer:id
customer:title
customer:param (все параметры, имеющиеся у контрагентов)

Единые договора:

bgbilling-commonContract:id
bgbilling-commonContract:title (formatted number)
bgbilling-commonContract:password
bgbilling-commonContract:param (все параметры, имеющиеся у единых договоров)

Дома:

house:id
house:houseAndFrac
house:street
house:area
house:quarter
house:city
house:country
house:postIndex
house:comment
house:param (все параметры, имеющиеся у домов)

Улицы:

street:id
street:title
street:param (все параметры, имеющиеся у улиц)

Города:

city:id
city:title
city:param (все параметры, имеющиеся у городов)
Возможно использование комбинированного поиска контекстных переменных (См. пример 2).
Пример 1: использование контекстных переменных
    ContextVariableBuilderFactory variables = ServerContext.lookup(ContextVariableBuilderFactory.class);

    Map<String, String> process = variables.buildContext(1000, "process");
    String processTitle = process.get("process:title");
    String processParam1212 = process.get("process:param1212");

    Map<String, String> user = variables.buildContext(100, "user");
    String userTitle = user.get("user:title");
    String userParam1799 = user.get("user:param1799");
Пример 2: использование комбинированных контекстных переменных
    CombinedContextVariableBuilderFactory combinedVariablesFactory = CombinedContextVariableBuilderFactory();
    Map<String, String> combinedProcessVariables = combinedVariablesFactory.buildContext(1000, "process");
    String processTitle = combinedProcessVariables.get("process:title");
    String customerTitle = combinedProcessVariables.get("customer:title");