Доступ к переменным процесса
Здравствуйте!
Задача стоит следующая: надо вытащить из существующего активного процесса его переменные и переустановить их значения. Речь идет именно о переменных процесса (workflow), а не задачи (task), т е о тех переменных, которые создаются в execution как execution.setVariable(variable)
Через Alfresco API переустановить значения переменных задачи тривиально:
Может быть, у кого-то есть опыт? Подскажите, пожалуйста
UPDATE:
Вся проблема упиралась в доступе к объекту ProcessEngine. А его легко вытащить через runtimeService, который в альфреске обозначен как
Задача стоит следующая: надо вытащить из существующего активного процесса его переменные и переустановить их значения. Речь идет именно о переменных процесса (workflow), а не задачи (task), т е о тех переменных, которые создаются в execution как execution.setVariable(variable)
Через Alfresco API переустановить значения переменных задачи тривиально:
... activeWorkflowTaskQuery = new WorkflowTaskQuery(); activeWorkflowTaskQuery.setWorkflowDefinitionName("activitiID"); activeWorkflowTaskQuery.setActive(null); activeWorkflowTaskQuery.setTaskName(performTaskPooled); activeWorkflowTaskQuery.setTaskState(WorkflowTaskState.IN_PROGRESS); activeTasks = wsi.queryTasks(activeWorkflowTaskQuery); for (WorkflowTask task : activeTasks) { Map<QName, Serializable> props = new HashMap<QName, Serializable>(); props.put(performOutcome, "conform"); WorkflowTask updatedTask = wsi.updateTask(task.getId(), props, null, null); } ...А вот выйти на переменные процесса я не понимаю как. Все, что нахожу - это как подставить свой execution через Activiti API, но мне надо работать уже с историей процессов, т е с процессом уже запущенным.
Может быть, у кого-то есть опыт? Подскажите, пожалуйста
UPDATE:
Вся проблема упиралась в доступе к объекту ProcessEngine. А его легко вытащить через runtimeService, который в альфреске обозначен как
<property name="runtimeService" ref="activitiRuntimeService" />