Exemplo n.º 1
0
        private LseTestHarness.Model.ECA.PhasorCollection CreateECAPhasorCollection(TypeMapping typeMapping)
        {
            Dictionary <string, FieldMapping> fieldLookup = typeMapping.FieldMappings.ToDictionary(mapping => mapping.Field.Identifier);

            LseTestHarness.Model.ECA.PhasorCollection obj = new LseTestHarness.Model.ECA.PhasorCollection();

            {
                // Create LseTestHarness.Model.ECA.Phasor UDT array for "Phasors" field
                PushCurrentFrame();
                ArrayMapping arrayMapping = (ArrayMapping)fieldLookup["Phasors"];

                List <LseTestHarness.Model.ECA.Phasor> list = new List <LseTestHarness.Model.ECA.Phasor>();
                int count = GetUDTArrayTypeMappingCount(arrayMapping);

                for (int i = 0; i < count; i++)
                {
                    TypeMapping nestedMapping = GetUDTArrayTypeMapping(arrayMapping, i);
                    list.Add(CreateECAPhasor(nestedMapping));
                }

                obj.Phasors = list.ToArray();
                PopCurrentFrame();
            }

            return(obj);
        }
Exemplo n.º 2
0
        public override void Map(IDictionary <MeasurementKey, IMeasurement> measurements)
        {
            SignalLookup.UpdateMeasurementLookup(measurements);
            TypeMapping inputMapping = MappingCompiler.GetTypeMapping(InputMapping);

            LseTestHarness.Model.ECA.PhasorCollection inputData = CreateECAPhasorCollection(inputMapping);
            KeyIndex = 0;
            LseTestHarness.Model.ECA._PhasorCollectionMeta inputMeta = CreateECA_PhasorCollectionMeta(inputMapping);
            MainWindow.WriteMessage("Executing..");
            Algorithm.Output algorithmOutput = Algorithm.Execute(inputData, inputMeta);

            // TODO: Later versions will publish output to the openECA server
        }