Пример #1
0
 protected virtual void OnTestDescriptionChanged( TestDescription testdescription )
 {
     ProjectTestDescriptionChangedDeligate handler = TestDescriptionChanged;
     if (handler != null) handler( testdescription );
 }
Пример #2
0
 private void OnProjectClosed()
 {
     _testDescription = null;
     _xmlDocument = null;
     _requiredSignals.Clear();
     //_selectedTestStations.Clear();
     _sensors.Clear();
     _monitors.Clear();
     _sources.Clear();
     OnClosed();
 }
        private void OnTestDescriptionChanged( TestDescription testDescription )
        {
            lvSignals.Items.Clear();
            lvSignals.ShowGroups = true;
            Dictionary<string, ListViewGroup> groups = new Dictionary<string, ListViewGroup>();
            if (testDescription != null)
            {
                foreach (SignalRequirementsSignalRequirement signalRequirement in testDescription.SignalRequirements)
                {
                    if (signalRequirement.TsfClass != null && !"SHORT".Equals(signalRequirement.TsfClass.tsfClassName ))
                    {
                        ListViewGroup grp;
                        if (groups.ContainsKey( signalRequirement.TsfClass.tsfClassName ))
                        {
                            grp = groups[signalRequirement.TsfClass.tsfClassName];
                        }
                        else
                        {
                            grp = new ListViewGroup( signalRequirement.TsfClass.tsfClassName );
                            groups.Add( signalRequirement.TsfClass.tsfClassName, grp );
                            lvSignals.Groups.Add( grp );
                        }

                        ListViewItem lvi = new ListViewItem(signalRequirement.TsfClass.tsfLibraryID);
                        lvi.SubItems.Add( signalRequirement.TsfClass.tsfClassName );
                        StringBuilder sb = new StringBuilder();
                        foreach (SignalRequirementsSignalRequirementTsfClassAttribute attribute in signalRequirement.TsfClassAttribute)
                        {
                            sb.Append( string.Format( "{0}={1}, ", attribute.Name.Value, attribute.Value ) );
                        }
                        if (sb.ToString().EndsWith( ", " ))
                            sb.Length = sb.Length - 2;
                        lvi.SubItems.Add(sb.ToString());
                        lvi.Tag = signalRequirement;
                        lvi.Group = grp;
                        lvSignals.Items.Add( lvi );
                    }
                }

                foreach (ActionType actionType in testDescription.DetailedTestInformation.Actions)
                {
                    foreach (ActionTypeLocalSignal localSignal in actionType.LocalSignals)
                    {

                    }
                }

                lvSignals.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);

            }
        }
Пример #4
0
        public void LoadXML( string xmlDocument )
        {
            try
            {
                _xmlDocument = xmlDocument;
                XNamespace ad = "urn:IEEE-1671.1:2009:TestDescription";
                _document = XDocument.Load( new StringReader( _xmlDocument ) );

                _testDescription = TestDescription.Deserialize( _xmlDocument );

                _sources.AddRange( _document.Descendants( ad + "Source" ) );
                _sensors.AddRange( _document.Descendants( ad + "Sensor" ) );
                _monitors.AddRange( _document.Descendants( ad + "Monitor" ) );

                foreach (SignalRequirementsSignalRequirement signalRequirement in _testDescription.SignalRequirements)
                {
                    _requiredSignals.Add( signalRequirement.TsfClass );
                }

                foreach (ActionType action in _testDescription.DetailedTestInformation.Actions)
                {
                    var operations = action.Behavior.Item as Operations1;
                    if (operations != null)
                    {
                        foreach (OperationType operation in operations.Operation)
                        {
                            var setup = operation as OperationSetup;
                            if (setup != null)
                            {
                                var source = setup.Item as OperationSetupSource;
                                if (source != null)
                                {
                                    LogManager.SourceTrace(ATMLAllocator.SOURCE, HttpUtility.HtmlEncode(source.Any.InnerXml.Trim()));
                                    XElement signal = XElement.Parse( source.Any.InnerXml.Trim() );
                                    LogManager.SourceTrace(ATMLAllocator.SOURCE, "{0}:{1}", signal.GetPrefixOfNamespace(signal.Name.Namespace),
                                                      signal.Name.NamespaceName );
                                }
                            }
                        }
                    }
                }
                OnTestDescriptionChanged( _testDescription );
            }
            catch (Exception e)
            {
                LogManager.SourceError(ATMLAllocator.SOURCE, e);
            }
        }
Пример #5
0
 private void LoadTestDescriptionFile( string fileName )
 {
     if (File.Exists( fileName ))
     {
         byte[] content = FileManager.ReadFile( fileName );
         var fi = new FileInfo( fileName );
         OnAtmlFileOpened( fi, content );
         try
         {
             _currentTestDescription = TestDescription.Deserialize(Encoding.UTF8.GetString(content));
             //OnTestDescriptionCreated( testDescription );
             OnTestDescriptionOpened(_currentTestDescription, Encoding.UTF8.GetString(content));
         }
         catch (Exception e)
         {
             LogManager.SourceWarn( ATMLTranslator.SOURCE, "Failed to Deserialize Test Description \"{0}\"", fileName );
         }
     }
 }
Пример #6
0
 protected virtual void OnTestDescriptionOpened(TestDescription testdescription, string xml)
 {
     TranslatedInputDocumentDelegate handler = TestDescriptionOpened;
     if (handler != null) handler(testdescription, xml);
 }
Пример #7
0
 protected virtual void OnTestDescriptionCreated( TestDescription td, string xml )
 {
     LogManager.SourceInfo(ATMLTranslator.SOURCE, "The Test Description has been created and is ready for use.");
     TranslatedInputDocumentDelegate handler = InputDocumentTranslated;
     if (handler != null) handler( td, xml );
     OnAixmlTranslationCompleted(xml);
 }
Пример #8
0
 protected virtual void OnDocumentParsed( TestDescription td, string xml )
 {
     TranslatedInputDocumentDelegate handler = InputDocumentTranslated;
     if (handler != null) handler( td, xml );
 }
        public Dictionary<SignalRequirementsSignalRequirement, ICollection<object>> Build(TestDescription testDescription)
        {
            var requiredSignals = new Dictionary<SignalRequirementsSignalRequirement, ICollection<object>>();

            foreach (SignalRequirementsSignalRequirement signalRequirement in testDescription.SignalRequirements)
            {
                var attributes = new List<Tuple<string, object, string>>();
                var dao = new InstrumentDAO();
                TsfClass tsfClass = signalRequirement.TsfClass;
                if (tsfClass.tsfClassName.Equals("SHORT"))
                    continue;
                if (string.IsNullOrWhiteSpace(tsfClass.tsfClassName))
                    continue;
                foreach (SignalRequirementsSignalRequirementTsfClassAttribute attribute in
                    signalRequirement.TsfClassAttribute)
                {
                    TsfClassAttributeName name = attribute.Name;
                    if (attribute.Value != null)
                    {
                        if (attribute.Value.Item is DatumType)
                        {
                            DatumType datum = attribute.Value.Item as DatumType;
                            Object value = Datum.GetNominalDatumValue(datum);
                            if (value != null)
                            {
                                attributes.Add(new Tuple<string, object, string>(name.Value, value, datum.unitQualifier));
                            }
                        }
                    }
                }

                try
                {
                    ICollection<object> capableEquipment = dao.FindCapableEquipment(attributes);
                    requiredSignals.Add(signalRequirement, capableEquipment );
                }
                catch (Exception e2)
                {
                    LogManager.SourceError(ATMLAllocator.SOURCE, "Error In TSF Class: {0} - ERROR: {1}", tsfClass.tsfClassName, e2.Message );
                    LogManager.Debug( e2 );
                    foreach (var tuple in attributes)
                    {
                        LogManager.SourceError(ATMLAllocator.SOURCE, "     {0} = {1}", tuple.Item1, tuple.Item2);
                    }
                }
            }

            return requiredSignals;
        }