public string ToMSILCode()
        {
            var commandCode = ResourceManager.GetVariableDeclarationOperatorResouce();
            var commandBody = "";

            foreach (var name in _names)
            {
                commandBody += $"{VariableTypeHelper.GetMSILRepresentation( _type )} {name},";
            }
            commandBody = commandBody.Remove(commandBody.Length - 1);
            return(commandCode.Replace(Constants.RESOURCE_FUNCTION_BODY, commandBody));
        }
        public string ToMSILCode()
        {
            var commandCode = ResourceManager.GetWriteLineFunctionResource();

            commandCode = !string.IsNullOrEmpty(_value)
                ? commandCode.Replace(Constants.RESOURCE_COMMAND, "ldstr")
                : commandCode.Replace(Constants.RESOURCE_COMMAND, "ldloc");

            commandCode = !string.IsNullOrEmpty(_value)
                ? commandCode.Replace(Constants.RESOURCE_TYPE, VariableTypeHelper.GetMSILRepresentation(VariableType.String))
                : commandCode.Replace(Constants.RESOURCE_TYPE, VariableTypeHelper.GetMSILRepresentation(_variable.Type));

            return(!string.IsNullOrEmpty(_value)
                ? commandCode.Replace(Constants.RESOURCE_VALUE_PARAMETER, $"\"{_value}\"")
                : commandCode.Replace(Constants.RESOURCE_VALUE_PARAMETER, _variable.Name));
        }
Example #3
0
        private void InitializeProbabilities()
        {
            var probabilitiesList = new Probabilities();

            foreach (var probabilityElementConfiguration in _configuration.AlgorithmConfiguration.ProbabilitiesConfiguration)
            {
                var variableType     = VariableTypeHelper.ConvertStringToType(probabilityElementConfiguration.VariableType);
                var parseTableMethod = ReflectionHelper.GetGenerecMethod(variableType, typeof(ProbabilityTableParser), "Parse");

                dynamic table = parseTableMethod.Invoke(null, new object[] { probabilityElementConfiguration.FilePath, probabilityElementConfiguration.WithHeader });

                var addToListMethod =
                    ReflectionHelper.GetGenerecMethod(variableType, typeof(Probabilities), "AddProbabilityTable");

                addToListMethod.Invoke(probabilitiesList, new object[] { probabilityElementConfiguration.Variable, table });
            }

            probabilities = probabilitiesList;
        }
Example #4
0
 private void InitializeProbabilities()
 {
     _log.WriteLine("  SosielHarvestAlgorithm: Initializing probabilities...");
     foreach (var probabilityElementConfiguration in
              _configuration.AlgorithmConfiguration.ProbabilitiesConfiguration)
     {
         var variableType = VariableTypeHelper.ConvertStringToType(
             probabilityElementConfiguration.VariableType);
         var parseTableMethod = ReflectionHelper.GetGenericMethod(
             variableType, typeof(ProbabilityTableParser), "Parse");
         // Debugger.Launch();
         dynamic table = parseTableMethod.Invoke(null,
                                                 new object[]
         {
             probabilityElementConfiguration.FilePath,
             probabilityElementConfiguration.WithHeader
         });
         var addToListMethod =
             ReflectionHelper.GetGenericMethod(variableType, typeof(Probabilities), "AddProbabilityTable");
         addToListMethod.Invoke(
             probabilities, new object[] { probabilityElementConfiguration.Variable, table });
     }
 }
Example #5
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testVariableInstanceRetrievalAsPost()
        public virtual void testVariableInstanceRetrievalAsPost()
        {
            string queryVariableName = "aVariableInstanceName";
            IDictionary <string, string> queryParameter = new Dictionary <string, string>();

            queryParameter["variableName"] = queryVariableName;

            Response response = given().contentType(POST_JSON_CONTENT_TYPE).body(queryParameter).then().expect().statusCode(Status.OK.StatusCode).and().body("size()", @is(1)).body("[0].id", equalTo(mockInstanceBuilder.Id)).body("[0].name", equalTo(mockInstanceBuilder.Name)).body("[0].type", equalTo(VariableTypeHelper.toExpectedValueTypeName(mockInstanceBuilder.TypedValue.Type))).body("[0].value", equalTo(mockInstanceBuilder.TypedValue.Value)).body("[0].processInstanceId", equalTo(mockInstanceBuilder.ProcessInstanceId)).body("[0].executionId", equalTo(mockInstanceBuilder.ExecutionId)).body("[0].caseInstanceId", equalTo(mockInstanceBuilder.CaseInstanceId)).body("[0].caseExecutionId", equalTo(mockInstanceBuilder.CaseExecutionId)).body("[0].taskId", equalTo(mockInstanceBuilder.TaskId)).body("[0].activityInstanceId", equalTo(mockInstanceBuilder.ActivityInstanceId)).body("[0].tenantId", equalTo(mockInstanceBuilder.TenantId)).body("[0].errorMessage", equalTo(mockInstanceBuilder.ErrorMessage)).body("[0].serializedValue", nullValue()).when().post(VARIABLE_INSTANCE_QUERY_URL);

            // assert query invocation
            InOrder inOrder = Mockito.inOrder(mockedQuery);

            inOrder.verify(mockedQuery).variableName(queryVariableName);
            inOrder.verify(mockedQuery).list();

            string         content   = response.asString();
            IList <string> variables = from(content).getList("");

            Assert.assertEquals("There should be one process definition returned.", 1, variables.Count);
            Assert.assertNotNull("There should be one process definition returned", variables[0]);

            verify(mockedQuery).disableBinaryFetching();

            // requirement to not break existing API; should be:
            // verify(mockedQuery).disableCustomObjectDeserialization();
            verify(mockedQuery, never()).disableCustomObjectDeserialization();
        }
Example #6
0
        private void GenerateNode(Node node, XmlElement category)
        {
            // generate image
            SceneNode newNode = node.Clone(scriptingComponent.StateMachines[0].StartingState).CreateView();

            scriptingScreen.AddSceneNodeToCenter(newNode);
            newNode.Location = new PointF(20, 10);

            bool hasVariables = false;

            foreach (NodeSocket nodeSocket in node.Sockets)
            {
                if (nodeSocket is VariableNodeSocket && ((VariableNodeSocket)nodeSocket).Visible)
                {
                    hasVariables = true;
                    break;
                }
            }

            scriptingScreen.DrawToBitmap(image, screenRect);

            string filenameImage = Path.Combine(outputDir, node.NodeData.RealName + ".png");

            image.Clone(new RectangleF(0, 0, 20 + newNode.Bounds.Width + 20, 10 + newNode.Bounds.Height + (hasVariables ? 40 : 10)), image.PixelFormat).Save(filenameImage);

            ((NodeView)newNode).Node.Remove();

            // generate xml element for node
            XmlElement nodeElement = (XmlElement)category.AppendChild(doc.CreateElement("node"));

            nodeElement.SetAttribute("id", Guid.NewGuid().ToString());
            ElementAppendChild(nodeElement, "name", node.NodeData.Name);
            ElementAppendChild(nodeElement, "realName", node.NodeData.RealName);
            ElementAppendChild(nodeElement, "description", node.NodeData.Description);
            ElementAppendChild(nodeElement, "type", node.NodeData.Type.ToString());
            ElementAppendChild(nodeElement, "image", node.NodeData.RealName + ".png");

            XmlElement inSocketsElement          = null;
            XmlElement outSocketsElement         = null;
            XmlElement variableInSocketsElement  = null;
            XmlElement variableOutSocketsElement = null;

            // generate sockets
            foreach (NodeSocket nodeSocket in node.Sockets)
            {
                // in socket
                if (nodeSocket is SignalNodeSocket && nodeSocket.Type == NodeSocketType.SignalIn)
                {
                    if (inSocketsElement == null)
                    {
                        inSocketsElement = (XmlElement)nodeElement.AppendChild(doc.CreateElement("socketsIn"));
                    }
                    XmlElement socketElement = (XmlElement)inSocketsElement.AppendChild(doc.CreateElement("socket"));

                    SignalNodeSocket signalNodeSocket = nodeSocket as SignalNodeSocket;

                    ElementAppendChild(socketElement, "name", signalNodeSocket.NodeSocketData.Name);
                    ElementAppendChild(socketElement, "realName", signalNodeSocket.NodeSocketData.RealName);
                    ElementAppendChild(socketElement, "description", signalNodeSocket.NodeSocketData.Description);
                }
                // out socket
                else if (nodeSocket is SignalNodeSocket && nodeSocket.Type == NodeSocketType.SignalOut)
                {
                    if (outSocketsElement == null)
                    {
                        outSocketsElement = (XmlElement)nodeElement.AppendChild(doc.CreateElement("socketsOut"));
                    }
                    XmlElement socketElement = (XmlElement)outSocketsElement.AppendChild(doc.CreateElement("socket"));

                    SignalNodeSocket signalNodeSocket = nodeSocket as SignalNodeSocket;

                    ElementAppendChild(socketElement, "name", signalNodeSocket.NodeSocketData.Name);
                    ElementAppendChild(socketElement, "realName", signalNodeSocket.NodeSocketData.RealName);
                    ElementAppendChild(socketElement, "description", signalNodeSocket.NodeSocketData.Description);
                }
                // variable in socket
                else if (nodeSocket is VariableNodeSocket && nodeSocket.Type == NodeSocketType.VariableIn)
                {
                    if (variableInSocketsElement == null)
                    {
                        variableInSocketsElement = (XmlElement)nodeElement.AppendChild(doc.CreateElement("socketsVariableIn"));
                    }
                    XmlElement socketElement = (XmlElement)variableInSocketsElement.AppendChild(doc.CreateElement("socket"));

                    VariableNodeSocket variableNodeSocket = nodeSocket as VariableNodeSocket;

                    ElementAppendChild(socketElement, "name", variableNodeSocket.NodeSocketData.Name);
                    ElementAppendChild(socketElement, "realName", variableNodeSocket.NodeSocketData.RealName);
                    ElementAppendChild(socketElement, "description", variableNodeSocket.NodeSocketData.Description);
                    ElementAppendChild(socketElement, "isArray", variableNodeSocket.NodeSocketData.IsArray.ToString());
                    ElementAppendChild(socketElement, "type", VariableTypeHelper.FriendlyName(variableNodeSocket.NodeSocketData.VariableType));
                    ElementAppendChild(socketElement, "defaultValue", variableNodeSocket.Value.ToString());
                }
                // variable out socket
                else if (nodeSocket is VariableNodeSocket && nodeSocket.Type == NodeSocketType.VariableOut)
                {
                    if (variableOutSocketsElement == null)
                    {
                        variableOutSocketsElement = (XmlElement)nodeElement.AppendChild(doc.CreateElement("socketsVariableOut"));
                    }
                    XmlElement socketElement = (XmlElement)variableOutSocketsElement.AppendChild(doc.CreateElement("socket"));

                    VariableNodeSocket variableNodeSocket = nodeSocket as VariableNodeSocket;

                    ElementAppendChild(socketElement, "name", variableNodeSocket.NodeSocketData.Name);
                    ElementAppendChild(socketElement, "realName", variableNodeSocket.NodeSocketData.RealName);
                    ElementAppendChild(socketElement, "description", variableNodeSocket.NodeSocketData.Description);
                    ElementAppendChild(socketElement, "type", VariableTypeHelper.FriendlyName(variableNodeSocket.NodeSocketData.VariableType));
                }
                else
                {
                    Debug.Assert(true);
                }
            }
        }
Example #7
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testSpinVariableInstanceRetrieval()
        public virtual void testSpinVariableInstanceRetrieval()
        {
            MockHistoricVariableInstanceBuilder builder = MockProvider.mockHistoricVariableInstance().typedValue(Variables.serializedObjectValue("aSpinSerializedValue").serializationDataFormat("aDataFormat").objectTypeName("aRootType").create());

            IList <HistoricVariableInstance> mockInstances = new List <HistoricVariableInstance>();

            mockInstances.Add(builder.build());

            mockedQuery = setUpMockHistoricVariableInstanceQuery(mockInstances);

            given().then().expect().statusCode(Status.OK.StatusCode).and().body("size()", @is(1)).body("[0].type", equalTo(VariableTypeHelper.toExpectedValueTypeName(ValueType.OBJECT))).body("[0].value", equalTo("aSpinSerializedValue")).body("[0].valueInfo." + SerializableValueType.VALUE_INFO_OBJECT_TYPE_NAME, equalTo("aRootType")).body("[0].valueInfo." + SerializableValueType.VALUE_INFO_SERIALIZATION_DATA_FORMAT, equalTo("aDataFormat")).when().get(HISTORIC_VARIABLE_INSTANCE_RESOURCE_URL);
        }
Example #8
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testSerializableVariableInstanceRetrieval()
        public virtual void testSerializableVariableInstanceRetrieval()
        {
//JAVA TO C# CONVERTER WARNING: The .NET Type.FullName property will not always yield results identical to the Java Class.getName method:
            MockHistoricVariableInstanceBuilder builder = MockProvider.mockHistoricVariableInstance().typedValue(MockObjectValue.fromObjectValue(Variables.objectValue("a serialized value").serializationDataFormat(Variables.SerializationDataFormats.JAVA).create()).objectTypeName(typeof(string).FullName));

            IList <HistoricVariableInstance> mockInstances = new List <HistoricVariableInstance>();

            mockInstances.Add(builder.build());

            mockedQuery = setUpMockHistoricVariableInstanceQuery(mockInstances);

//JAVA TO C# CONVERTER WARNING: The .NET Type.FullName property will not always yield results identical to the Java Class.getName method:
            given().then().expect().statusCode(Status.OK.StatusCode).and().body("[0].type", equalTo(VariableTypeHelper.toExpectedValueTypeName(ValueType.OBJECT))).body("[0].value", equalTo("a serialized value")).body("[0].valueInfo." + SerializableValueType.VALUE_INFO_OBJECT_TYPE_NAME, equalTo(typeof(string).FullName)).body("[0].valueInfo." + SerializableValueType.VALUE_INFO_SERIALIZATION_DATA_FORMAT, equalTo(Variables.SerializationDataFormats.JAVA.Name)).when().get(HISTORIC_VARIABLE_INSTANCE_RESOURCE_URL);

            // should not resolve custom objects but existing API requires it
            //  verify(mockedQuery).disableCustomObjectDeserialization();
            verify(mockedQuery, never()).disableCustomObjectDeserialization();
        }
Example #9
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testSimpleHistoricVariableQuery()
        public virtual void testSimpleHistoricVariableQuery()
        {
            string processInstanceId = MockProvider.EXAMPLE_PROCESS_INSTANCE_ID;

            given().queryParam("processInstanceId", processInstanceId).then().expect().statusCode(Status.OK.StatusCode).and().body("size()", @is(1)).body("[0].id", equalTo(mockInstanceBuilder.Id)).body("[0].name", equalTo(mockInstanceBuilder.Name)).body("[0].type", equalTo(VariableTypeHelper.toExpectedValueTypeName(mockInstanceBuilder.TypedValue.Type))).body("[0].value", equalTo(mockInstanceBuilder.Value)).body("[0].processDefinitionKey", equalTo(mockInstanceBuilder.ProcessDefinitionKey)).body("[0].processDefinitionId", equalTo(mockInstanceBuilder.ProcessDefinitionId)).body("[0].processInstanceId", equalTo(mockInstanceBuilder.ProcessInstanceId)).body("[0].executionId", equalTo(mockInstanceBuilder.ExecutionId)).body("[0].errorMessage", equalTo(mockInstanceBuilder.ErrorMessage)).body("[0].activityInstanceId", equalTo(mockInstanceBuilder.ActivityInstanceId)).body("[0].caseDefinitionKey", equalTo(mockInstanceBuilder.CaseDefinitionKey)).body("[0].caseDefinitionId", equalTo(mockInstanceBuilder.CaseDefinitionId)).body("[0].caseInstanceId", equalTo(mockInstanceBuilder.CaseInstanceId)).body("[0].caseExecutionId", equalTo(mockInstanceBuilder.CaseExecutionId)).body("[0].taskId", equalTo(mockInstanceBuilder.TaskId)).body("[0].tenantId", equalTo(mockInstanceBuilder.TenantId)).body("[0].createTime", equalTo(MockProvider.EXAMPLE_HISTORIC_VARIABLE_INSTANCE_CREATE_TIME)).body("[0].removalTime", equalTo(MockProvider.EXAMPLE_HISTORIC_VARIABLE_INSTANCE_REMOVAL_TIME)).body("[0].rootProcessInstanceId", equalTo(mockInstanceBuilder.RootProcessInstanceId)).when().get(HISTORIC_VARIABLE_INSTANCE_RESOURCE_URL);

            InOrder inOrder = inOrder(mockedQuery);

            inOrder.verify(mockedQuery).processInstanceId(processInstanceId);
            inOrder.verify(mockedQuery).list();
        }