예제 #1
0
//JAVA TO C# CONVERTER WARNING: 'final' parameters are not available in .NET:
//ORIGINAL LINE: public void performOperation(final org.camunda.bpm.engine.impl.cmmn.operation.CmmnAtomicOperation executionOperation, final org.camunda.bpm.engine.impl.cmmn.entity.runtime.CaseExecutionEntity execution)
        public virtual void performOperation(CmmnAtomicOperation executionOperation, CaseExecutionEntity execution)
        {
            ProcessApplicationReference targetProcessApplication = getTargetProcessApplication(execution);

            if (requiresContextSwitch(targetProcessApplication))
            {
                Context.executeWithinProcessApplication(new CallableAnonymousInnerClass(this, executionOperation, execution)
                                                        , targetProcessApplication, new InvocationContext(execution));
            }
            else
            {
                try
                {
                    Context.ExecutionContext = execution;
                    LOG.debugExecutingAtomicOperation(executionOperation, execution);

                    executionOperation.execute(execution);
                }
                finally
                {
                    Context.removeExecutionContext();
                }
            }
        }
예제 #2
0
 public CallableAnonymousInnerClass(CommandContext outerInstance, CmmnAtomicOperation executionOperation, CaseExecutionEntity execution)
 {
     this.outerInstance      = outerInstance;
     this.executionOperation = executionOperation;
     this.execution          = execution;
 }