Search in sources :

Example 1 with DelegateVariableMapping

use of org.camunda.bpm.engine.delegate.DelegateVariableMapping in project camunda-bpm-platform by camunda.

the class CallableElementActivityBehavior method passOutputVariables.

@Override
public void passOutputVariables(final ActivityExecution execution, final VariableScope subInstance) {
    // only data. no control flow available on this execution.
    VariableMap variables = filterVariables(getOutputVariables(subInstance));
    VariableMap localVariables = getOutputVariablesLocal(subInstance);
    execution.setVariables(variables);
    execution.setVariablesLocal(localVariables);
    final DelegateVariableMapping varMapping = resolveDelegation(execution);
    if (varMapping != null) {
        invokeVarMappingDelegation(new DelegateInvocation(execution, null) {

            @Override
            protected void invoke() throws Exception {
                varMapping.mapOutputVariables(execution, subInstance);
            }
        });
    }
}
Also used : DelegateVariableMapping(org.camunda.bpm.engine.delegate.DelegateVariableMapping) VariableMap(org.camunda.bpm.engine.variable.VariableMap) DelegateInvocation(org.camunda.bpm.engine.impl.delegate.DelegateInvocation) ProcessEngineException(org.camunda.bpm.engine.ProcessEngineException)

Example 2 with DelegateVariableMapping

use of org.camunda.bpm.engine.delegate.DelegateVariableMapping in project camunda-bpm-platform by camunda.

the class CallableElementActivityBehavior method execute.

@Override
public void execute(final ActivityExecution execution) throws Exception {
    final VariableMap variables = getInputVariables(execution);
    final DelegateVariableMapping varMapping = resolveDelegation(execution);
    if (varMapping != null) {
        invokeVarMappingDelegation(new DelegateInvocation(execution, null) {

            @Override
            protected void invoke() throws Exception {
                varMapping.mapInputVariables(execution, variables);
            }
        });
    }
    String businessKey = getBusinessKey(execution);
    startInstance(execution, variables, businessKey);
}
Also used : DelegateVariableMapping(org.camunda.bpm.engine.delegate.DelegateVariableMapping) VariableMap(org.camunda.bpm.engine.variable.VariableMap) DelegateInvocation(org.camunda.bpm.engine.impl.delegate.DelegateInvocation) ProcessEngineException(org.camunda.bpm.engine.ProcessEngineException)

Aggregations

ProcessEngineException (org.camunda.bpm.engine.ProcessEngineException)2 DelegateVariableMapping (org.camunda.bpm.engine.delegate.DelegateVariableMapping)2 DelegateInvocation (org.camunda.bpm.engine.impl.delegate.DelegateInvocation)2 VariableMap (org.camunda.bpm.engine.variable.VariableMap)2