protected internal override void UpdateTypedValue(IObjectValue value, string serializedStringValue)
        {
            string          objectTypeName = GetObjectTypeName(value, null);
            ObjectValueImpl objectValue    = (ObjectValueImpl)value;

            objectValue.ObjectTypeName          = objectTypeName;
            objectValue.SerializedValue         = serializedStringValue;
            objectValue.SerializationDataFormat = SerializationDataFormat;
        }
        public virtual void TestSetServiceResultToProcessVariables()
        {
            IDictionary <string, ITypedValue> variables = new Dictionary <string, ITypedValue>();

            variables["okReturningService"] = new ObjectValueImpl(new OkReturningService());

            var pi = runtimeService.StartProcessInstanceByKey("setServiceResultToProcessVariables", variables);

            Assert.AreEqual("ok", runtimeService.GetVariable(pi.Id, "result"));
        }
示例#3
0
        public virtual void TestJavaServiceMethodDelegation()
        {
            IDictionary <string, ITypedValue> vars = new Dictionary <string, ITypedValue>();

            vars["name"]       = new StringValueImpl("kermit");
            vars["gender"]     = new StringValueImpl("male");
            vars["genderBean"] = new ObjectValueImpl(new GenderBean());
            var pi        = runtimeService.StartProcessInstanceByKey("javaServiceMethodDelegation", vars);
            var execution =
                runtimeService.CreateExecutionQuery(c => c.ProcessInstanceId == pi.Id && c.ActivityId == "waitState")
                .FirstOrDefault();

            Assert.AreEqual("YOUR GENDER IS: MALE", runtimeService.GetVariable(execution?.Id, "result"));
        }
示例#4
0
        public virtual void TestVariableByteDelete()
        {
            IDictionary <string, ITypedValue> varMap = new Dictionary <string, ITypedValue>();

            varMap["variableObject"] = new ObjectValueImpl(new VaraibleObject()
            {
                Id = "test"
            });
            var pi = runtimeService.StartProcessInstanceByKey("simpleSubProcess", varMap);

            var subProcessTask = taskService.CreateTaskQuery(c => c.ProcessInstanceId == pi.Id)
                                 .First();//.Where(c=>c.ProcessInstanceId==pi.Id).First();

            Assert.AreEqual("Task in subprocess", subProcessTask.Name);
            taskService.Complete(subProcessTask.Id);
            AssertProcessEnded(pi.Id);
        }
示例#5
0
        public virtual void TestValueAndMethodExpression()
        {
            ConditionalSequenceFlowTestOrder order = new ConditionalSequenceFlowTestOrder(150);

            IDictionary <string, ITypedValue> variables = new Dictionary <string, ITypedValue>();

            variables["Order"] = new ObjectValueImpl(order);

            IProcessInstance processInstance = runtimeService.StartProcessInstanceByKey("uelExpressions", variables);
            var   pid  = processInstance.Id;
            ITask task = taskService.CreateTaskQuery(c => c.ProcessInstanceId == pid).First();

            Assert.AreEqual("Standard service", task.Name);

            order = new ConditionalSequenceFlowTestOrder(300);
            variables["Order"] = new ObjectValueImpl(order);
            processInstance    = runtimeService.StartProcessInstanceByKey("uelExpressions", variables);
            pid  = processInstance.Id;
            task = taskService.CreateTaskQuery(c => c.ProcessInstanceId == pid).First();
            Assert.AreEqual("Premium service", task.Name);
        }
示例#6
0
        public virtual void TestExpressionFieldInjection()
        {
            //IDictionary<string, object> vars = new Dictionary<string, object>();
            //vars["name"] = "kermit";
            //vars["gender"] = "male";
            //vars["genderBean"] = new GenderBean();

            IDictionary <string, ITypedValue> vars = new Dictionary <string, ITypedValue>();

            vars["name"]       = new StringValueImpl("kermit");
            vars["gender"]     = new StringValueImpl("male");
            vars["genderBean"] = new ObjectValueImpl(new GenderBean());

            // var pi = runtimeService.StartProcessInstanceByKey("simpleSubProcess", vars);

            var pi        = runtimeService.StartProcessInstanceByKey("expressionFieldInjection", vars);
            var execution =
                runtimeService.CreateExecutionQuery(c => c.ProcessInstanceId == pi.Id && c.ActivityId == "waitState")
                .First();

            Assert.AreEqual("timrek .rM olleH", runtimeService.GetVariable(execution.Id, "var2"));
            Assert.AreEqual("elam :si redneg ruoY", runtimeService.GetVariable(execution.Id, "var1"));
        }
示例#7
0
 public SerializedObjectValueBuilderImpl(ObjectValue value)
 {
     variableValue = (ObjectValueImpl)value;
 }
示例#8
0
 public SerializedObjectValueBuilderImpl()
 {
     variableValue = new ObjectValueImpl(null, null, null, null, false);
 }
 public ObjectVariableBuilderImpl(IObjectValue value)
 {
     VariableValue = (ObjectValueImpl)value;
 }
 public ObjectVariableBuilderImpl(object value)
 {
     VariableValue = new ObjectValueImpl(value);
 }