//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: protected void handle(org.camunda.bpm.engine.impl.pvm.delegate.ActivityExecution execution, String action) throws Exception protected internal virtual void handle(ActivityExecution execution, string action) { execution.setVariable(action, true); string type = (string)execution.getVariable("type"); if ("error".Equals(type, StringComparison.OrdinalIgnoreCase)) { throw new BpmnError("MyError"); } else if ("exception".Equals(type, StringComparison.OrdinalIgnoreCase)) { throw new MyBusinessException("MyException"); } else if ("leave".Equals(type, StringComparison.OrdinalIgnoreCase)) { execution.setVariable("type", null); leave(execution); } }
protected internal virtual void executeEscalationHandler(EscalationEventDefinition escalationEventDefinition, ActivityExecutionMappingCollector activityExecutionMappingCollector) { PvmActivity escalationHandler = escalationEventDefinition.EscalationHandler; PvmScope escalationScope = getScopeForEscalation(escalationEventDefinition); ActivityExecution escalationExecution = activityExecutionMappingCollector.getExecutionForScope(escalationScope); if (!string.ReferenceEquals(escalationEventDefinition.EscalationCodeVariable, null)) { escalationExecution.setVariable(escalationEventDefinition.EscalationCodeVariable, escalation.EscalationCode); } escalationExecution.executeActivity(escalationHandler); }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: @Override public Void call() throws Exception public override Void call() { ScriptInvocation invocation = new ScriptInvocation(outerInstance.script, execution); Context.ProcessEngineConfiguration.DelegateInterceptor.handleInvocation(invocation); object result = invocation.InvocationResult; if (result != null && !string.ReferenceEquals(outerInstance.resultVariable, null)) { execution.setVariable(outerInstance.resultVariable, result); } outerInstance.leave(execution); return(null); }
public override void execute(ActivityExecution execution) { readFields(execution); IList <string> argList = new List <string>(); argList.Add(commandStr); if (!string.ReferenceEquals(arg1Str, null)) { argList.Add(arg1Str); } if (!string.ReferenceEquals(arg2Str, null)) { argList.Add(arg2Str); } if (!string.ReferenceEquals(arg3Str, null)) { argList.Add(arg3Str); } if (!string.ReferenceEquals(arg4Str, null)) { argList.Add(arg4Str); } if (!string.ReferenceEquals(arg5Str, null)) { argList.Add(arg5Str); } ProcessBuilder processBuilder = new ProcessBuilder(argList); try { processBuilder.redirectErrorStream(redirectErrorFlag); if (cleanEnvBoolan.Value) { IDictionary <string, string> env = processBuilder.environment(); env.Clear(); } if (!string.ReferenceEquals(directoryStr, null) && directoryStr.Length > 0) { processBuilder.directory(new File(directoryStr)); } Process process = processBuilder.start(); if (waitFlag.Value) { int errorCode = process.waitFor(); if (!string.ReferenceEquals(resultVariableStr, null)) { string result = convertStreamToStr(process.InputStream); execution.setVariable(resultVariableStr, result); } if (!string.ReferenceEquals(errorCodeVariableStr, null)) { execution.setVariable(errorCodeVariableStr, Convert.ToString(errorCode)); } } } catch (Exception e) { throw LOG.shellExecutionException(e); } leave(execution); }