@Override public Map<String, Serializable> getProcessInstanceExecutionContext(long processInstanceId) throws ProcessInstanceNotFoundException, ExpressionEvaluationException { TenantServiceAccessor tenantAccessor = getTenantAccessor(); try { SProcessInstance processInstance = getProcessInstanceService(tenantAccessor).getProcessInstance(processInstanceId); if (processInstance == null) { throw new ProcessInstanceNotFoundException("Process Instance not found " + processInstanceId); } SProcessDefinition processDefinition = tenantAccessor.getProcessDefinitionService().getProcessDefinition(processInstance.getProcessDefinitionId()); final SExpressionContext expressionContext = createExpressionContext(processInstanceId, processDefinition, CONTAINER_TYPE_PROCESS_INSTANCE, null); return evaluateContext(tenantAccessor.getExpressionResolverService(), expressionContext, processDefinition.getContext()); } catch (SProcessInstanceNotFoundException | SBonitaReadException | SProcessInstanceReadException | SProcessDefinitionNotFoundException e) { throw new ProcessInstanceNotFoundException(e); } catch (SInvalidExpressionException | SExpressionEvaluationException | SExpressionDependencyMissingException | SExpressionTypeUnknownException e) { throw new ExpressionEvaluationException(e); } }
@Override public Map<String, Serializable> getProcessInstanceExecutionContext(long processInstanceId) throws ProcessInstanceNotFoundException, ExpressionEvaluationException { TenantServiceAccessor tenantAccessor = getTenantAccessor(); try { SProcessInstance processInstance = getProcessInstanceService(tenantAccessor).getProcessInstance(processInstanceId); if (processInstance == null) { throw new ProcessInstanceNotFoundException("Process Instance not found " + processInstanceId); } SProcessDefinition processDefinition = tenantAccessor.getProcessDefinitionService().getProcessDefinition(processInstance.getProcessDefinitionId()); final SExpressionContext expressionContext = createExpressionContext(processInstanceId, processDefinition, CONTAINER_TYPE_PROCESS_INSTANCE, null); return evaluateContext(tenantAccessor.getExpressionResolverService(), expressionContext, processDefinition.getContext()); } catch (SProcessInstanceNotFoundException | SBonitaReadException | SProcessInstanceReadException | SProcessDefinitionNotFoundException e) { throw new ProcessInstanceNotFoundException(e); } catch (SInvalidExpressionException | SExpressionEvaluationException | SExpressionDependencyMissingException | SExpressionTypeUnknownException e) { throw new ExpressionEvaluationException(e); } }
@Override public Map<String, Serializable> getArchivedProcessInstanceExecutionContext(long archivedProcessInstanceId) throws ProcessInstanceNotFoundException, ExpressionEvaluationException { TenantServiceAccessor tenantAccessor = getTenantAccessor(); try { SAProcessInstance processInstance = getProcessInstanceService(tenantAccessor).getArchivedProcessInstance(archivedProcessInstanceId); if (processInstance == null) { throw new ProcessInstanceNotFoundException("Archived Process Instance not found " + archivedProcessInstanceId); } SProcessDefinition processDefinition = tenantAccessor.getProcessDefinitionService().getProcessDefinition(processInstance.getProcessDefinitionId()); final SExpressionContext expressionContext = createExpressionContext(processInstance.getSourceObjectId(), processDefinition, CONTAINER_TYPE_PROCESS_INSTANCE, processInstance.getArchiveDate()); return evaluateContext(tenantAccessor.getExpressionResolverService(), expressionContext, processDefinition.getContext()); } catch (SBonitaReadException | SProcessInstanceReadException | SProcessDefinitionNotFoundException e) { throw new ProcessInstanceNotFoundException(e); } catch (SInvalidExpressionException | SExpressionEvaluationException | SExpressionDependencyMissingException | SExpressionTypeUnknownException e) { throw new ExpressionEvaluationException(e); } }
@Override public Map<String, Serializable> getArchivedProcessInstanceExecutionContext(long archivedProcessInstanceId) throws ProcessInstanceNotFoundException, ExpressionEvaluationException { TenantServiceAccessor tenantAccessor = getTenantAccessor(); try { SAProcessInstance processInstance = getProcessInstanceService(tenantAccessor).getArchivedProcessInstance(archivedProcessInstanceId); if (processInstance == null) { throw new ProcessInstanceNotFoundException("Archived Process Instance not found " + archivedProcessInstanceId); } SProcessDefinition processDefinition = tenantAccessor.getProcessDefinitionService().getProcessDefinition(processInstance.getProcessDefinitionId()); final SExpressionContext expressionContext = createExpressionContext(processInstance.getSourceObjectId(), processDefinition, CONTAINER_TYPE_PROCESS_INSTANCE, processInstance.getArchiveDate()); return evaluateContext(tenantAccessor.getExpressionResolverService(), expressionContext, processDefinition.getContext()); } catch (SBonitaReadException | SProcessInstanceReadException | SProcessDefinitionNotFoundException e) { throw new ProcessInstanceNotFoundException(e); } catch (SInvalidExpressionException | SExpressionEvaluationException | SExpressionDependencyMissingException | SExpressionTypeUnknownException e) { throw new ExpressionEvaluationException(e); } }