private void persistVariable(String variableName, Object scopedObject) { ProcessInstance processInstance = Context.getExecutionContext().getProcessInstance(); ExecutionEntity executionEntity = (ExecutionEntity) processInstance; Assert.isTrue(scopedObject instanceof Serializable, "the scopedObject is not " + Serializable.class.getName() + "!"); executionEntity.setVariable(variableName, scopedObject); } }
@Override public void setVariable(String variableName, Object value) { ExecutionEntity execution = getExecutionFromContext(); if(execution != null) { execution.setVariable(variableName, value); execution.getVariable(variableName); } else { getScopedAssociation().setVariable(variableName, value); } }
@Override @SuppressWarnings("unchecked") public void initialize() { LOG.initializeExecution(this); ScopeImpl scope = getScopeActivity(); ensureParentInitialized(); List<VariableDeclaration> variableDeclarations = (List<VariableDeclaration>) scope.getProperty(BpmnParse.PROPERTYNAME_VARIABLE_DECLARATIONS); if (variableDeclarations != null) { for (VariableDeclaration variableDeclaration : variableDeclarations) { variableDeclaration.initialize(this, parent); } } if (isProcessInstanceExecution()) { String initiatorVariableName = (String) processDefinition.getProperty(BpmnParse.PROPERTYNAME_INITIATOR_VARIABLE_NAME); if (initiatorVariableName != null) { String authenticatedUserId = Context.getCommandContext().getAuthenticatedUserId(); setVariable(initiatorVariableName, authenticatedUserId); } } // create event subscriptions for the current scope for (EventSubscriptionDeclaration declaration : EventSubscriptionDeclaration.getDeclarationsForScope(scope).values()) { if(!declaration.isStartEvent()) { declaration.createSubscriptionForExecution(this); } } }
@Override @SuppressWarnings("unchecked") public void initialize() { LOG.initializeExecution(this); ScopeImpl scope = getScopeActivity(); ensureParentInitialized(); List<VariableDeclaration> variableDeclarations = (List<VariableDeclaration>) scope.getProperty(BpmnParse.PROPERTYNAME_VARIABLE_DECLARATIONS); if (variableDeclarations != null) { for (VariableDeclaration variableDeclaration : variableDeclarations) { variableDeclaration.initialize(this, parent); } } if (isProcessInstanceExecution()) { String initiatorVariableName = (String) processDefinition.getProperty(BpmnParse.PROPERTYNAME_INITIATOR_VARIABLE_NAME); if (initiatorVariableName != null) { String authenticatedUserId = Context.getCommandContext().getAuthenticatedUserId(); setVariable(initiatorVariableName, authenticatedUserId); } } // create event subscriptions for the current scope for (EventSubscriptionDeclaration declaration : EventSubscriptionDeclaration.getDeclarationsForScope(scope).values()) { if(!declaration.isStartEvent()) { declaration.createSubscriptionForExecution(this); } } }
@Override public void setVariable(String variableName, Object value) { ExecutionEntity execution = getExecutionFromContext(); if(execution != null) { execution.setVariable(variableName, value); execution.getVariable(variableName); } else { getScopedAssociation().setVariable(variableName, value); } }
@Override @SuppressWarnings("unchecked") public void initialize() { LOG.initializeExecution(this); ScopeImpl scope = getScopeActivity(); ensureParentInitialized(); List<VariableDeclaration> variableDeclarations = (List<VariableDeclaration>) scope.getProperty(BpmnParse.PROPERTYNAME_VARIABLE_DECLARATIONS); if (variableDeclarations != null) { for (VariableDeclaration variableDeclaration : variableDeclarations) { variableDeclaration.initialize(this, parent); } } if (isProcessInstanceExecution()) { String initiatorVariableName = (String) processDefinition.getProperty(BpmnParse.PROPERTYNAME_INITIATOR_VARIABLE_NAME); if (initiatorVariableName != null) { String authenticatedUserId = Context.getCommandContext().getAuthenticatedUserId(); setVariable(initiatorVariableName, authenticatedUserId); } } // create event subscriptions for the current scope for (EventSubscriptionDeclaration declaration : EventSubscriptionDeclaration.getDeclarationsForScope(scope).values()) { if(!declaration.isStartEvent()) { declaration.createSubscriptionForExecution(this); } } }