예제 #1
0
        public virtual void testSetSerializedVariableValueMismatchingTypeName()
        {
            ProcessInstance  instance   = runtimeService.startProcessInstanceByKey("oneTaskProcess");
            JsonSerializable bean       = new JsonSerializable("a String", 42, true);
            string           beanAsJson = bean.toExpectedJsonString();

            SerializedObjectValueBuilder serializedValue = serializedObjectValue(beanAsJson).serializationDataFormat(JSON_FORMAT_NAME).objectTypeName("Insensible type name.");     // < not a valid type name

            runtimeService.setVariable(instance.Id, "simpleBean", serializedValue);

            try
            {
                runtimeService.getVariable(instance.Id, "simpleBean");
                fail("Exception expected.");
            }
            catch (Exception)
            {
                // happy path
            }

//JAVA TO C# CONVERTER WARNING: The .NET Type.FullName property will not always yield results identical to the Java Class.getName method:
            serializedValue = serializedObjectValue(beanAsJson).serializationDataFormat(JSON_FORMAT_NAME).objectTypeName(typeof(JsonSerializationTest).FullName);     // < not the right type name

            runtimeService.setVariable(instance.Id, "simpleBean", serializedValue);

            try
            {
                runtimeService.getVariable(instance.Id, "simpleBean");
                fail("Exception expected.");
            }
            catch (Exception)
            {
                // happy path
            }
        }
예제 #2
0
        public virtual SerializableValue createValueFromSerialized(string serializedValue, IDictionary <string, object> valueInfo)
        {
            SerializedObjectValueBuilder builder = Variables.serializedObjectValue(serializedValue);

            if (valueInfo != null)
            {
                applyValueInfo(builder, valueInfo);
            }

            return(builder.create());
        }
예제 #3
0
        public virtual void testRemoveVariable()
        {
            // given a serialized json variable
            ProcessInstance  instance   = runtimeService.startProcessInstanceByKey("oneTaskProcess");
            JsonSerializable bean       = new JsonSerializable("a String", 42, true);
            string           beanAsJson = bean.toExpectedJsonString();

//JAVA TO C# CONVERTER WARNING: The .NET Type.FullName property will not always yield results identical to the Java Class.getCanonicalName method:
            SerializedObjectValueBuilder serializedValue = serializedObjectValue(beanAsJson).serializationDataFormat(JSON_FORMAT_NAME).objectTypeName(bean.GetType().FullName);

            runtimeService.setVariable(instance.Id, "simpleBean", serializedValue);

            // when
            runtimeService.removeVariable(instance.Id, "simpleBean");

            // then
            assertNull(runtimeService.getVariable(instance.Id, "simpleBean"));
            assertNull(runtimeService.getVariableTyped(instance.Id, "simpleBean"));
            assertNull(runtimeService.getVariableTyped(instance.Id, "simpleBean", false));
        }
예제 #4
0
        public virtual void testSetSerializedVariableValueNoTypeName()
        {
            ProcessInstance  instance   = runtimeService.startProcessInstanceByKey("oneTaskProcess");
            JsonSerializable bean       = new JsonSerializable("a String", 42, true);
            string           beanAsJson = bean.toExpectedJsonString();

            SerializedObjectValueBuilder serializedValue = serializedObjectValue(beanAsJson).serializationDataFormat(JSON_FORMAT_NAME);

            // no type name

            try
            {
                runtimeService.setVariable(instance.Id, "simpleBean", serializedValue);
                fail("Exception expected.");
            }
            catch (Exception e)
            {
                assertTextPresent("no 'objectTypeName' provided for non-null value", e.Message);
            }
        }
예제 #5
0
        public virtual void testSetSerializedVariableValueMismatchingTypeName()
        {
            ProcessInstance instance  = runtimeService.startProcessInstanceByKey("oneTaskProcess");
            XmlSerializable bean      = new XmlSerializable("a String", 42, true);
            string          beanAsXml = bean.toExpectedXmlString();

            SerializedObjectValueBuilder serializedValue = serializedObjectValue(beanAsXml).serializationDataFormat(XML_FORMAT_NAME).objectTypeName("Insensible type name.");     // < not a valid type name

            runtimeService.setVariable(instance.Id, "simpleBean", serializedValue);

            try
            {
                runtimeService.getVariable(instance.Id, "simpleBean");
                fail("Exception expected.");
            }
            catch (ProcessEngineException)
            {
                // happy path
            }
        }
예제 #6
0
        public virtual void testSetSerializedVariableValueNullNoTypeName()
        {
            ProcessInstance instance = runtimeService.startProcessInstanceByKey("oneTaskProcess");

            SerializedObjectValueBuilder serializedValue = serializedObjectValue().serializationDataFormat(JSON_FORMAT_NAME);

            // no objectTypeName specified

            runtimeService.setVariable(instance.Id, "simpleBean", serializedValue);

            // null can be retrieved
            JsonSerializable returnedBean = (JsonSerializable)runtimeService.getVariable(instance.Id, "simpleBean");

            assertNull(returnedBean);

            // validate typed value metadata
            ObjectValue typedValue = runtimeService.getVariableTyped(instance.Id, "simpleBean");

            assertNull(typedValue.Value);
            assertNull(typedValue.ValueSerialized);
            assertEquals(JSON_FORMAT_NAME, typedValue.SerializationDataFormat);
            assertNull(typedValue.ObjectTypeName);
        }
예제 #7
0
        public virtual void testSetSerializedVariableValueNull()
        {
            ProcessInstance instance = runtimeService.startProcessInstanceByKey("oneTaskProcess");

//JAVA TO C# CONVERTER WARNING: The .NET Type.FullName property will not always yield results identical to the Java Class.getCanonicalName method:
            SerializedObjectValueBuilder serializedValue = serializedObjectValue().serializationDataFormat(JSON_FORMAT_NAME).objectTypeName(typeof(JsonSerializable).FullName);

            runtimeService.setVariable(instance.Id, "simpleBean", serializedValue);

            // null can be retrieved
            JsonSerializable returnedBean = (JsonSerializable)runtimeService.getVariable(instance.Id, "simpleBean");

            assertNull(returnedBean);

            // validate typed value metadata
            ObjectValue typedValue = runtimeService.getVariableTyped(instance.Id, "simpleBean");

            assertNull(typedValue.Value);
            assertNull(typedValue.ValueSerialized);
            assertEquals(JSON_FORMAT_NAME, typedValue.SerializationDataFormat);
//JAVA TO C# CONVERTER WARNING: The .NET Type.FullName property will not always yield results identical to the Java Class.getCanonicalName method:
            assertEquals(typeof(JsonSerializable).FullName, typedValue.ObjectTypeName);
        }
예제 #8
0
        public virtual void testSetSerializedVariableValue()
        {
            ProcessInstance instance  = runtimeService.startProcessInstanceByKey("oneTaskProcess");
            XmlSerializable bean      = new XmlSerializable("a String", 42, true);
            string          beanAsXml = bean.toExpectedXmlString();

//JAVA TO C# CONVERTER WARNING: The .NET Type.FullName property will not always yield results identical to the Java Class.getCanonicalName method:
            SerializedObjectValueBuilder serializedValue = serializedObjectValue(beanAsXml).serializationDataFormat(XML_FORMAT_NAME).objectTypeName(bean.GetType().FullName);

            runtimeService.setVariable(instance.Id, "simpleBean", serializedValue);

            // java object can be retrieved
            XmlSerializable returnedBean = (XmlSerializable)runtimeService.getVariable(instance.Id, "simpleBean");

            assertEquals(bean, returnedBean);

            // validate typed value metadata
            ObjectValue typedValue = runtimeService.getVariableTyped(instance.Id, "simpleBean");

            assertEquals(bean, typedValue.Value);
            assertEquals(XML_FORMAT_NAME, typedValue.SerializationDataFormat);
//JAVA TO C# CONVERTER WARNING: The .NET Type.FullName property will not always yield results identical to the Java Class.getCanonicalName method:
            assertEquals(bean.GetType().FullName, typedValue.ObjectTypeName);
        }