Exemplo n.º 1
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: public Void call() throws Exception
                public Void call()
                {
                    ScriptingEngines scriptingEngines = outerInstance.outerInstance.processEngineConfiguration.ScriptingEngines;
                    ScriptEngine     scriptEngine     = scriptingEngines.getScriptEngineForLanguage(SCRIPT_LANGUAGE);

                    SourceExecutableScript script = outerInstance.outerInstance.createScript(SCRIPT_LANGUAGE, SCRIPT);

                    ScriptingEnvironment scriptingEnvironment = outerInstance.outerInstance.processEngineConfiguration.ScriptingEnvironment;

                    scriptingEnvironment.execute(script, null, null, scriptEngine);

                    return(null);
                }
        public override void Execute(IExecutionEntity execution)
        {
            ScriptingEngines scriptingEngines = Context.ProcessEngineConfiguration.ScriptingEngines;

            if (Context.ProcessEngineConfiguration.EnableProcessDefinitionInfoCache)
            {
                JToken taskElementProperties = Context.GetBpmnOverrideElementProperties(scriptTaskId, execution.ProcessDefinitionId);
                if (taskElementProperties != null && taskElementProperties[DynamicBpmnConstants.SCRIPT_TASK_SCRIPT] != null)
                {
                    string overrideScript = taskElementProperties[DynamicBpmnConstants.SCRIPT_TASK_SCRIPT].ToString();
                    if (!string.IsNullOrWhiteSpace(overrideScript) && !overrideScript.Equals(script))
                    {
                        script = overrideScript;
                    }
                }
            }

            bool noErrors = true;

            try
            {
                object result = scriptingEngines.Evaluate(script, execution);

                if (!(resultVariable is null))
                {
                    execution.SetVariable(resultVariable, result);
                }
            }
            catch (ActivitiException e)
            {
                logger.LogWarning("Exception while executing " + execution.CurrentFlowElement.Id + " : " + e.Message);

                noErrors = false;
                if (e is BpmnError)
                {
                    ErrorPropagation.PropagateError((BpmnError)e, execution);
                }
                else
                {
                    throw e;
                }
            }
            if (noErrors)
            {
                Leave(execution);
            }
        }
Exemplo n.º 3
0
 public ScriptingEnvironment(ScriptFactory scriptFactory, IList <IScriptEnvResolver> scriptEnvResolvers, ScriptingEngines scriptingEngines)
 {
     this.scriptFactory    = scriptFactory;
     this.envResolvers     = scriptEnvResolvers;
     this.scriptingEngines = scriptingEngines;
 }