示例#1
0
 protected internal virtual void invokeVariableLifecycleListenersUpdate(CoreVariableInstance variableInstance, AbstractVariableScope sourceScope, IList <VariableInstanceLifecycleListener <CoreVariableInstance> > lifecycleListeners)
 {
     foreach (VariableInstanceLifecycleListener <CoreVariableInstance> lifecycleListener in lifecycleListeners)
     {
         lifecycleListener.onUpdate(variableInstance, sourceScope);
     }
 }
示例#2
0
        public virtual void setVariableLocal(string variableName, TypedValue value, AbstractVariableScope sourceActivityExecution)
        {
            checkJavaSerialization(variableName, value);

            VariableStore <CoreVariableInstance> variableStore = VariableStore;

            if (variableStore.containsKey(variableName))
            {
                CoreVariableInstance existingInstance = variableStore.getVariable(variableName);
                existingInstance.Value = value;
                invokeVariableLifecycleListenersUpdate(existingInstance, sourceActivityExecution);
            }
            else if (variableStore.isRemoved(variableName))
            {
                CoreVariableInstance existingInstance = variableStore.getRemovedVariable(variableName);

                existingInstance.Value = value;
                VariableStore.addVariable(existingInstance);
                invokeVariableLifecycleListenersUpdate(existingInstance, sourceActivityExecution);

                DbEntityManager dbEntityManager = Context.CommandContext.DbEntityManager;
                dbEntityManager.undoDelete((VariableInstanceEntity)existingInstance);
            }
            else
            {
                CoreVariableInstance variableValue = VariableInstanceFactory.build(variableName, value, false);
                VariableStore.addVariable(variableValue);
                invokeVariableLifecycleListenersCreate(variableValue, sourceActivityExecution);
            }
        }
示例#3
0
 public virtual void initializeVariableStore(IDictionary <string, object> variables)
 {
     foreach (string variableName in variables.Keys)
     {
         TypedValue           value         = Variables.untypedValue(variables[variableName]);
         CoreVariableInstance variableValue = VariableInstanceFactory.build(variableName, value, false);
         VariableStore.addVariable(variableValue);
     }
 }
示例#4
0
        protected internal virtual void removeVariableLocal(string variableName, AbstractVariableScope sourceActivityExecution)
        {
            if (VariableStore.containsKey(variableName))
            {
                CoreVariableInstance variableInstance = VariableStore.getVariable(variableName);

                invokeVariableLifecycleListenersDelete(variableInstance, sourceActivityExecution);
                VariableStore.removeVariable(variableName);
            }
        }
示例#5
0
        /// <summary>
        /// Sets a variable in the local scope. In contrast to
        /// <seealso cref="setVariableLocal(string, object)"/>, the variable is transient that
        /// means it will not be stored in the data base. For example, a transient
        /// variable can be used for a result variable that is only available for
        /// output mapping.
        /// </summary>
        public virtual void setVariableLocalTransient(string variableName, object value)
        {
            TypedValue typedValue = Variables.untypedValue(value, true);

            checkJavaSerialization(variableName, typedValue);

            CoreVariableInstance coreVariableInstance = VariableInstanceFactory.build(variableName, typedValue, true);

            VariableStore.addVariable(coreVariableInstance);
        }
示例#6
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @SuppressWarnings("unchecked") private <T extends org.camunda.bpm.engine.variable.value.TypedValue> T getTypedValueFromVariableInstance(boolean deserializeValue, org.camunda.bpm.engine.impl.core.variable.CoreVariableInstance variableInstance)
        private T getTypedValueFromVariableInstance <T>(bool deserializeValue, CoreVariableInstance variableInstance) where T : org.camunda.bpm.engine.variable.value.TypedValue
        {
            if (variableInstance != null)
            {
                return((T)variableInstance.getTypedValue(deserializeValue));
            }
            else
            {
                return(null);
            }
        }
示例#7
0
        public virtual void setVariableLocalTransient(string variableName, object value, AbstractVariableScope sourceActivityVariableScope)
        {
            VariableStore <CoreVariableInstance> variableStore = VariableStore;

            if (variableStore.containsKey(variableName))
            {
                CoreVariableInstance existingInstance = variableStore.getVariable(variableName);
                existingInstance.Value = (TypedValue)value;
                invokeVariableLifecycleListenersUpdate(existingInstance, sourceActivityVariableScope);
            }
            else
            {
                setVariableLocalTransient(variableName, value);
                invokeVariableLifecycleListenersCreate(variableStore.getVariable(variableName), sourceActivityVariableScope);
            }
        }
示例#8
0
        public virtual CoreVariableInstance getVariableInstance(string variableName)
        {
            CoreVariableInstance variableInstance = getVariableInstanceLocal(variableName);

            if (variableInstance != null)
            {
                return(variableInstance);
            }
            AbstractVariableScope parentScope = ParentVariableScope;

            if (parentScope != null)
            {
                return(parentScope.getVariableInstance(variableName));
            }
            return(null);
        }
示例#9
0
 protected internal virtual void invokeVariableLifecycleListenersUpdate(CoreVariableInstance variableInstance, AbstractVariableScope sourceScope)
 {
     invokeVariableLifecycleListenersUpdate(variableInstance, sourceScope, VariableInstanceLifecycleListeners);
 }
示例#10
0
 protected internal virtual object getValueFromVariableInstance(bool deserializeObjectValue, CoreVariableInstance variableInstance)
 {
     if (variableInstance != null)
     {
         TypedValue typedValue = variableInstance.getTypedValue(deserializeObjectValue);
         if (typedValue != null)
         {
             return(typedValue.Value);
         }
     }
     return(null);
 }