public HistoricFormPropertyEntity( ExecutionEntity execution, String propertyId, String propertyValue, String taskId) { this.processInstanceId = execution.getProcessInstanceId(); this.executionId = execution.getId(); this.taskId = taskId; this.propertyId = propertyId; this.propertyValue = propertyValue; this.time = Context.getProcessEngineConfiguration().getClock().getCurrentTime(); HistoricActivityInstanceEntity historicActivityInstance = Context.getCommandContext().getHistoryManager().findActivityInstance(execution); if (historicActivityInstance != null) { this.activityInstanceId = historicActivityInstance.getId(); } }
@SuppressWarnings("unchecked") public Map<String, Object> getActivityInstanceVariables() { if (execution != null) { return execution.getVariables(); } return Collections.EMPTY_MAP; }
public void cancelTimers(ExecutionEntity execution) { List<TimerEntity> timers = Context.getCommandContext().getJobManager().findTimersByExecutionId(execution.getId()); for (TimerEntity timer : timers) { timer.delete(); } }
public void complete() { fireEvent(TaskListener.EVENTNAME_COMPLETE); if (Authentication.getAuthenticatedUserId() != null && processInstanceId != null) { getProcessInstance() .involveUser(Authentication.getAuthenticatedUserId(), IdentityLinkType.PARTICIPANT); } Context.getCommandContext() .getTaskEntityManager() .deleteTask(this, TaskEntity.DELETE_REASON_COMPLETED, false); if (executionId != null) { ExecutionEntity execution = getExecution(); execution.removeTask(this); execution.signal(null, null); } }
public void insert(ExecutionEntity execution) { CommandContext commandContext = Context.getCommandContext(); DbSqlSession dbSqlSession = commandContext.getDbSqlSession(); dbSqlSession.insert(this); if (execution != null) { execution.addTask(this); } commandContext.getHistoryManager().recordTaskCreated(this, execution); }
public void setProcessInstance(ExecutionEntity processInstance) { this.processInstance = processInstance; this.processInstanceId = processInstance.getId(); }
public ExecutionEntity createProcessInstance(String businessKey, ActivityImpl initial) { ExecutionEntity processInstance = null; if (initial == null) { processInstance = (ExecutionEntity) super.createProcessInstance(); } else { processInstance = (ExecutionEntity) super.createProcessInstanceForInitial(initial); } CommandContext commandContext = Context.getCommandContext(); processInstance.setExecutions(new ArrayList<ExecutionEntity>()); processInstance.setProcessDefinition(processDefinition); // Do not initialize variable map (let it happen lazily) if (businessKey != null) { processInstance.setBusinessKey(businessKey); } // reset the process instance in order to have the db-generated process instance id available processInstance.setProcessInstance(processInstance); String initiatorVariableName = (String) getProperty(BpmnParse.PROPERTYNAME_INITIATOR_VARIABLE_NAME); if (initiatorVariableName != null) { String authenticatedUserId = Authentication.getAuthenticatedUserId(); processInstance.setVariable(initiatorVariableName, authenticatedUserId); } int historyLevel = Context.getProcessEngineConfiguration().getHistoryLevel(); // TODO: This smells bad, as the rest of the history is done via the ParseListener if (historyLevel >= ProcessEngineConfigurationImpl.HISTORYLEVEL_ACTIVITY) { HistoricProcessInstanceEntity historicProcessInstance = new HistoricProcessInstanceEntity(processInstance); commandContext.getSession(DbSqlSession.class).insert(historicProcessInstance); // do basically the same as in ActivityInstanceStanrtHandler IdGenerator idGenerator = Context.getProcessEngineConfiguration().getIdGenerator(); String processDefinitionId = processInstance.getProcessDefinitionId(); String processInstanceId = processInstance.getProcessInstanceId(); String executionId = processInstance.getId(); HistoricActivityInstanceEntity historicActivityInstance = new HistoricActivityInstanceEntity(); historicActivityInstance.setId(idGenerator.getNextId()); historicActivityInstance.setProcessDefinitionId(processDefinitionId); historicActivityInstance.setProcessInstanceId(processInstanceId); historicActivityInstance.setExecutionId(executionId); historicActivityInstance.setActivityId(processInstance.getActivityId()); historicActivityInstance.setActivityName( (String) processInstance.getActivity().getProperty("name")); historicActivityInstance.setActivityType( (String) processInstance.getActivity().getProperty("type")); Date now = ClockUtil.getCurrentTime(); historicActivityInstance.setStartTime(now); commandContext.getDbSqlSession().insert(historicActivityInstance); } return processInstance; }
@Override protected InterpretableExecution newProcessInstance(ActivityImpl activityImpl) { ExecutionEntity processInstance = new ExecutionEntity(activityImpl); processInstance.insert(); return processInstance; }
public void setExecutionVariables(Map<String, Object> parameters) { if (getExecution() != null) { execution.setVariables(parameters); } }