Exemple #1
0
        public void Can_Generate_Api_Xml()
        {
            //Arrange
            string expected =
                new XElement("ModifyRequest",
                             new XAttribute("name", "/foo/bar"),
                             new XElement("ModificationItem",
                                          new XAttribute("operation", "addValue"),
                                          new XElement("AttributeDetails",
                                                       new XElement("StructureAttribute",
                                                                    new XAttribute("id", "31"),
                                                                    new XElement("StructureValue",
                                                                                 new XAttribute("langId", "10"),
                                                                                 new XAttribute("scope", "global"),
                                                                                 new XCData("foo")))))).ToString();

            //Act
            var modReq = new ModifyRequest("/foo/bar", new List <ModificationItem> {
                ModificationItem.New(
                    Modifications.AddValue,
                    StructureAttribute.New(31, new StructureValue(10, "foo"))
                    )
            });

            var actual  = modReq.ToAdsml();
            var request = new BatchRequest(modReq);

            Console.WriteLine(actual.ToString());

            //Assert
            Assert.That(actual.ToString(), Is.EqualTo(expected));
            Assert.DoesNotThrow(() => request.ToAdsml().ValidateAdsmlDocument("adsml.xsd"));
        }
 private void modificationItem_Reloading(object sender, CancelEventArgs e)
 {
     if (!InvokeRequired)
     {
         modificationItemBeforeReloading = (ModificationItem)sender;
     }
 }
Exemple #3
0
        public void Can_Combine_All_Operations()
        {
            //Arrange
            var builder = new ModifyRequestBuilder();

            //Act
            builder.Context("/foo/bar")
            .ReturnNoAttributes()
            .FailOnError()
            .AddModification(Modifications.RemoveAttribute, SimpleAttribute.New(AttributeTypes.Integer, "objectId"))
            .AddModifications(() => new List <ModificationItem> {
                ModificationItem.New(
                    Modifications.AdvanceState, StructureAttribute.New(390, new StructureValue(10))
                    ),
                ModificationItem.New(
                    Modifications.RegressState, StructureAttribute.New(24, new StructureValue(10))
                    )
            })
            .ConfigureLookupControls()
            .ReturnAttributes(390, 24)
            .ReturnLanguages(10);

            var request = new BatchRequest(builder.Build());

            Console.WriteLine(builder.Build().ToAdsml().ToString());

            //Assert
            Assert.DoesNotThrow(() => builder.Build());
            Assert.DoesNotThrow(() => request.ToAdsml().ValidateAdsmlDocument("adsml.xsd"));
        }
 private void UnHookModificationItem(ModificationItem modificationItem)
 {
     modificationItem.Saved     -= ModificationItemListControl_Saved;
     modificationItem.Saving    -= ModificationItemListControl_Saving;
     modificationItem.Reloading -= modificationItem_Reloading;
     modificationItem.Reloaded  -= modificationItem_Reloaded;
 }
        /// <summary>
        /// Заполняет поля для редактирования ModificationItem
        /// </summary>
        /// <param name="sourceModificationItem"></param>
        public void UpdateInformation(ModificationItem sourceModificationItem)
        {
            if (sourceModificationItem == null)
            {
                throw new ArgumentNullException("sourceModificationItem");
            }
            SBSLNo                   = sourceModificationItem.SbNo;
            EngineeringOrderNo       = sourceModificationItem.EngineeringOrderNo;
            AirworthinessDirectiveNo = sourceModificationItem.AirworthinessDirectiveNo;
            Description              = sourceModificationItem.Description;
            DateOfPerform            = sourceModificationItem.DateOfPerform;
            StampPPCD                = sourceModificationItem.StampPPCD;
            NumberWorkPackage        = sourceModificationItem.NumberWorkPackage;
            Remarks                  = sourceModificationItem.Remarks;

            bool permission = currentItem.HasPermission(Users.CurrentUser, DataEvent.Update);

            textBoxSBSLNo.Enabled = permission;
            textboxEngineeringOrderNo.ReadOnly = !permission;
            textboxADNo.ReadOnly                = !permission;
            textBoxDescription.ReadOnly         = !permission;
            dateTimePickerDateOfPerform.Enabled = permission;
            textboxStampPPCD.ReadOnly           = !permission;
            textboxWorkPackage.ReadOnly         = !permission;
            textboxRemarks.ReadOnly             = !permission;
        }
 ///<summary>
 /// Создает элемент управления, для отображания информации о <see cref="ModificationItem"/>
 ///</summary>
 ///<param name="item">ModificationItem</param>
 public ModificationItemControl(ModificationItem item) : this()
 {
     if (null == item)
     {
         throw new ArgumentNullException("item", "Argument cannot be null");
     }
     currentItem = item;
 }
 private void HookModificationItem(ModificationItem directive)
 {
     UnHookModificationItem(directive);
     directive.Saving    += ModificationItemListControl_Saving;
     directive.Saved     += ModificationItemListControl_Saved;
     directive.Reloading += modificationItem_Reloading;
     directive.Reloaded  += modificationItem_Reloaded;
 }
Exemple #8
0
        public void Validate_Throws_ASVE_If_No_Attribute_Is_Specified()
        {
            //Arrange
            var modItem = new ModificationItem();

            //Act
            modItem.ToAdsml();
        }
Exemple #9
0
        public void Can_Instantiate_New_ModificationItem()
        {
            //Act
            var modItem = new ModificationItem();

            //Assert
            Assert.That(modItem, Is.Not.Null);
        }
        public IAddModificationsConfigLookupControls AddModification <TAttribute>(Modifications modificationType, TAttribute attribute)
            where TAttribute : class, IAdsmlAttribute
        {
            var modification = ModificationItem.New(modificationType, attribute);

            this.Modifications.Add(modification);

            return(this);
        }
Exemple #11
0
        public void Can_Instantiate_New_ModificationItem_With_FactoryMethod()
        {
            //Act
            var modItem = ModificationItem.New(Modifications.RemoveValue,
                                               SimpleAttribute.New(AttributeTypes.Text, "foo"));

            //Assert
            Assert.That(modItem, Is.Not.Null);
        }
        /// <summary>
        /// Данные у ModificationItem обновляются по введенным данным
        /// </summary>
        /// <param name="destinationModificationItem">ModificationItem</param>
        /// <param name="changePageName">Менять ли название вкладки</param>
        public void SaveData(ModificationItem destinationModificationItem, bool changePageName)
        {
            textboxEngineeringOrderNo.Focus();
            if (destinationModificationItem == null)
            {
                throw new ArgumentNullException("destinationModificationItem");
            }
            bool changeTitle = false;

            if (destinationModificationItem.SbNo != SBSLNo)
            {
                destinationModificationItem.SbNo = SBSLNo;
                changeTitle = true;
            }
            if (destinationModificationItem.EngineeringOrderNo != EngineeringOrderNo)
            {
                destinationModificationItem.EngineeringOrderNo = EngineeringOrderNo;
                changeTitle = true;
            }
            if (destinationModificationItem.AirworthinessDirectiveNo != AirworthinessDirectiveNo)
            {
                destinationModificationItem.AirworthinessDirectiveNo = AirworthinessDirectiveNo;
                changeTitle = true;
            }
            if (destinationModificationItem.Description != Description)
            {
                destinationModificationItem.Description = Description;
            }
            if (destinationModificationItem.DateOfPerform != DateOfPerform)
            {
                destinationModificationItem.DateOfPerform = DateOfPerform;
            }
            if (destinationModificationItem.StampPPCD != StampPPCD)
            {
                destinationModificationItem.StampPPCD = StampPPCD;
            }
            if (destinationModificationItem.NumberWorkPackage != NumberWorkPackage)
            {
                destinationModificationItem.NumberWorkPackage = NumberWorkPackage;
            }
            if (destinationModificationItem.Remarks != Remarks)
            {
                destinationModificationItem.Remarks = Remarks;
            }
            if (changeTitle && changePageName)
            {
                string caption = ((Aircraft)destinationModificationItem.Parent).RegistrationNumber + ". " +
                                 destinationModificationItem.SbNo + " " +
                                 destinationModificationItem.EngineeringOrderNo + " " +
                                 destinationModificationItem.AirworthinessDirectiveNo + " Record";
                if (DisplayerRequested != null)
                {
                    DisplayerRequested(this, new ReferenceEventArgs(null, ReflectionTypes.ChangeTextOfContainingDisplayer, caption));
                }
            }
        }
Exemple #13
0
        public void Can_Generate_Api_Xml_With_LookupControls()
        {
            //Arrange
            string expected =
                new XElement("ModifyRequest",
                             new XAttribute("name", "/foo/bar"),
                             new XElement("ModificationItem",
                                          new XAttribute("operation", "addValue"),
                                          new XElement("AttributeDetails",
                                                       new XElement("StructureAttribute",
                                                                    new XAttribute("id", "31"),
                                                                    new XElement("StructureValue",
                                                                                 new XAttribute("langId", "10"),
                                                                                 new XAttribute("scope", "global"),
                                                                                 new XCData("foo"))))),
                             new XElement("LookupControls",
                                          new XElement("AttributesToReturn",
                                                       new XElement("Attribute",
                                                                    new XAttribute("name", "Artikelnummer"))),
                                          new XElement("LanguagesToReturn",
                                                       new XElement("Language",
                                                                    new XAttribute("id", "10"))))).ToString();

            var lookupBuilder = new LookupControlBuilder();

            lookupBuilder.ReturnAttributes(AttributeToReturn.WithName("Artikelnummer"))
            .ReturnLanguages(LanguageToReturn.WithLanguageId(10));

            //Act
            var modReq = new ModifyRequest("/foo/bar", new List <ModificationItem> {
                ModificationItem.New(
                    Modifications.AddValue,
                    StructureAttribute.New(31, new StructureValue(10, "foo"))
                    )
            })
            {
                LookupControl = lookupBuilder.Build()
            };

            var actual  = modReq.ToAdsml();
            var request = new BatchRequest(modReq);

            Console.WriteLine(actual.ToString());

            //Assert
            Assert.That(actual.ToString(), Is.EqualTo(expected));
            Assert.DoesNotThrow(() => request.ToAdsml().ValidateAdsmlDocument("adsml.xsd"));
        }
Exemple #14
0
        public void Validate_Throws_ApiSerializationValidationException_When_Context_Is_Empty()
        {
            //Arrange
            var modReq = new ModifyRequest(string.Empty, new List <ModificationItem> {
                ModificationItem.New(
                    Modifications.AddValue,
                    StructureAttribute.New(31, new StructureValue(10, "foo"))
                    )
            });

            //Act
            modReq.ToAdsml();

            //Assert
            Assert.Fail("Expected exception not thrown.");
        }
Exemple #15
0
        // ===== Helpers =====

//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: private void modifyLDAPAttribute(String username, Object credentials, String attribute, Object value) throws Throwable
        private void ModifyLDAPAttribute(string username, object credentials, string attribute, object value)
        {
            string principal  = string.Format("cn={0},ou=users,dc=example,dc=com", username);
            string principal1 = string.Format("cn={0},ou=users,dc=example,dc=com", username);
            JndiLdapContextFactory contextFactory = new JndiLdapContextFactory();

            contextFactory.Url = "ldaps://localhost:10636";
            LdapContext ctx = contextFactory.getLdapContext(principal1, credentials);

            ModificationItem[] mods = new ModificationItem[1];
            mods[0] = new ModificationItem(DirContext.REPLACE_ATTRIBUTE, new BasicAttribute(attribute, value));

            // Perform the update
            ctx.modifyAttributes(principal, mods);
            ctx.close();
        }
Exemple #16
0
        public void Can_Add_ModificationItems_With_ListFactory()
        {
            //Arrange
            var builder = new ModifyRequestBuilder();

            //Act
            builder.AddModifications(() => new List <ModificationItem> {
                ModificationItem.New(
                    Modifications.ReplaceAttribute,
                    SimpleAttribute.New(AttributeTypes.Integer, "foo", "bar")
                    ),
                ModificationItem.New(
                    Modifications.AddAttribute,
                    RelationAttribute.New("foo", "bar")
                    )
            });

            //Assert
            Assert.That(builder.Modifications.Count(), Is.EqualTo(2));
        }
Exemple #17
0
        public void Can_Generate_Api_Xml()
        {
            //Arrange
            var expected = new XElement("ModificationItem",
                                        new XAttribute("operation", "replaceValue"),
                                        new XElement("AttributeDetails",
                                                     new XElement("StructureAttribute",
                                                                  new XAttribute("id", "421"),
                                                                  new XAttribute("name", "yy Artikelstatus MMS001"),
                                                                  new XElement("StructureValue",
                                                                               new XAttribute("langId", "10"),
                                                                               new XAttribute("scope", "global"),
                                                                               new XCData("60"))))).ToString();


            //Act
            var actual = ModificationItem.New(Modifications.ReplaceValue,
                                              StructureAttribute.New("yy Artikelstatus MMS001", 421, new StructureValue(10, "60"))).ToAdsml().ToString();

            Console.WriteLine(actual);

            //Assert
            Assert.That(actual, Is.EqualTo(expected));
        }
 private void ModificationItemListControl_Saving(object sender, CancelEventArgs e)
 {
     modificationItemBeforeSaving = (ModificationItem)sender;
 }
 private void ClearFields()
 {
     addedModificationItem = new ModificationItem(parentAircraft);
     modificationItemControl.ClearFields();
 }
 /// <summary>
 /// Создает элемент управления для отображения <see cref="ModificationItem"/>
 /// </summary>
 /// <param name="item">Сам ModofocationItem</param>
 ///// <param name="parentAircraft">ВС, которому принадлежит ModificationItem</param>
 public DispatcheredModificationItemScreen(ModificationItem item) : base(item)//, Aircraft parentAircraft) : base(item, parentAircraft)
 {
     Dock = DockStyle.Fill;
 }
        //, Aircraft parentAircraft)
        ///<summary>
        /// Создает страницу для отображения информации об одной директиве
        ///</summary>
        /// <param name="item">ModificationItem</param>
        ///// <param name="parentAircraft">ВС, которому принадлежит ModificationItem</param>
        public ModificationItemScreen(ModificationItem item)
        {
            if (item == null)
                throw new ArgumentNullException("item", "Argument cannot be null");
            //this.parentAircraft = parentAircraft;
            currentItem = item;
            BackColor = Css.CommonAppearance.Colors.BackColor;
            Dock = DockStyle.Fill;

            footerControl = new FooterControl();
            headerControl = new HeaderControl();
            aircraftHeader = new AircraftHeaderControl((Aircraft)item.Parent, true);
            modificationItemContainer = new ExtendableRichContainer();
            modificationItemControl = new ModificationItemControl(currentItem);
            mainPanel = new Panel();
            panelHeader = new Panel();
            buttonDeleteDirective = new RichReferenceButton();
            //
            // aircraftHeader
            //
            aircraftHeader.AircraftClickable = true;
            //
            // headerControl
            //
            headerControl.Controls.Add(aircraftHeader);
            headerControl.ButtonEdit.TextMain = "Save";
            headerControl.ButtonEdit.Icon = icons.Save;
            headerControl.ButtonEdit.IconNotEnabled = icons.SaveGray;
            headerControl.TabIndex = 0;
            headerControl.ContextActionControl.ShowPrintButton = false;
            headerControl.ButtonEdit.DisplayerRequested += ButtonSave_DisplayerRequested;
            headerControl.ReloadRised += headerControl_ReloadRised;
            //
            // footerControl
            //
            footerControl.TabIndex = 2;
            //
            // mainPanel
            //
            mainPanel.AutoScroll = true;
            mainPanel.Dock = DockStyle.Fill;
            mainPanel.TabIndex = 1;
            mainPanel.Controls.Add(containedPanel);
            //
            // containedPanel
            //
            containedPanel.AutoSize = true;
            containedPanel.AutoSizeMode = AutoSizeMode.GrowAndShrink;
            containedPanel.FlowDirection = FlowDirection.TopDown;
            containedPanel.TabIndex = 1;
            //
            // modificationItemContainer
            //
            modificationItemContainer.BackColor = Css.CommonAppearance.Colors.BackColor;
            modificationItemContainer.LabelCaption.Text = "Modification Item";
            modificationItemContainer.MainControl = modificationItemControl;
            modificationItemContainer.UpperLeftIcon = icons.GrayArrow;
            modificationItemContainer.TabIndex = 1;
            //
            // panelHeader
            //
            panelHeader.Size = new Size(1250, 50);
            panelHeader.TabIndex = 0;
            panelHeader.Controls.Add(buttonDeleteDirective);
            //
            // buttonDeleteDirective
            //
            buttonDeleteDirective.Anchor = AnchorStyles.Right | AnchorStyles.Top;
            buttonDeleteDirective.BackColor = Color.Transparent;
            buttonDeleteDirective.FontMain = Css.HeaderControl.Fonts.PrimaryFont;
            buttonDeleteDirective.FontSecondary = Css.HeaderControl.Fonts.PrimaryFont;
            buttonDeleteDirective.ForeColorMain = Css.HeaderControl.Colors.PrimaryColor;
            buttonDeleteDirective.ForeColorSecondary = Css.HeaderControl.Colors.PrimaryColor;
            buttonDeleteDirective.Location = new Point(panelHeader.Right - 160, 0);
            buttonDeleteDirective.Icon = icons.Delete;
            buttonDeleteDirective.IconNotEnabled = icons.DeleteGray;
            buttonDeleteDirective.IconLayout = ImageLayout.Center;
            buttonDeleteDirective.PaddingMain = new Padding(3, 0, 0, 0);
            buttonDeleteDirective.ReflectionType = ReflectionTypes.CloseSelected;
            buttonDeleteDirective.Size = new Size(160, 50);
            buttonDeleteDirective.TabIndex = 16;
            buttonDeleteDirective.TextAlignMain = ContentAlignment.MiddleLeft;
            buttonDeleteDirective.TextAlignSecondary = ContentAlignment.TopLeft;
            buttonDeleteDirective.TextMain = "Delete";
            buttonDeleteDirective.TextSecondary = "record";
            buttonDeleteDirective.DisplayerRequested += buttonDeleteDirective_DisplayerRequested;

            containedPanel.Controls.Add(panelHeader);
            containedPanel.Controls.Add(modificationItemContainer);

            Controls.Add(mainPanel);
            Controls.Add(footerControl);
            Controls.Add(headerControl);

            UpdateItem();
        }
Exemple #22
0
        /// <summary>
        ///
        /// Get top one peptide list from xtandem xml file
        ///
        /// </summary>
        /// <param name="fileName">xtandem xml filename</param>
        /// <returns>List of IIdentifiedSpectrum</returns>
        public List <IIdentifiedSpectrum> ReadFromFile(string fileName)
        {
            string sourceFilename = GetSourceFile(fileName);

            List <IIdentifiedSpectrum> result = new List <IIdentifiedSpectrum>();

            XmlDocument doc = new XmlDocument();

            doc.Load(fileName);

            this.xmlHelper = new XmlHelper(doc);

            XmlNode root = doc.DocumentElement;

            Match mSource = Regex.Match(sourceFilename, @"(.+)\.(?:RAW)", RegexOptions.IgnoreCase);

            if (mSource.Success)
            {
                sourceFilename = mSource.Groups[1].Value;
            }
            else
            {
                mSource = Regex.Match(sourceFilename, @"(.+?)\.");
                if (mSource.Success)
                {
                    sourceFilename = mSource.Groups[1].Value;
                }
            }

            XmlNode parameters = xmlHelper.GetFirstChildByNameAndAttribute(root, "group", "label", "input parameters");

            ParseParameters(parameters);

            int pos = sourceFilename.LastIndexOfAny(new char[] { '/', '\\' });

            string rawFileName;

            if (pos > 0)
            {
                rawFileName = sourceFilename.Substring(pos + 1);
            }
            else
            {
                rawFileName = sourceFilename;
            }
            rawFileName = FileUtils.ChangeExtension(rawFileName, "");

            List <XmlNode> groupNodes = xmlHelper.GetChildrenByNameAndAttribute(root, "group", "type", "model");

            foreach (XmlNode groupNode in groupNodes)
            {
                Dictionary <string, IIdentifiedPeptide> pepmap = new Dictionary <string, IIdentifiedPeptide>();

                IIdentifiedSpectrum spectrum = new IdentifiedSpectrum();

                List <XmlNode> proteins = xmlHelper.GetChildren(groupNode, "protein");

                foreach (XmlNode proteinNode in proteins)
                {
                    XmlNode domainNode = xmlHelper.GetValidChild(xmlHelper.GetValidChild(proteinNode, "peptide"), "domain");

                    int numMissedCleavages = int.Parse(domainNode.Attributes["missed_cleavages"].Value);

                    string preSeq = domainNode.Attributes["pre"].Value;
                    if (preSeq.Equals("["))
                    {
                        preSeq = "-";
                    }

                    string postSeq = domainNode.Attributes["post"].Value;
                    if (postSeq.Equals("]"))
                    {
                        postSeq = "-";
                    }

                    StringBuilder pepSeqSB = new StringBuilder(domainNode.Attributes["seq"].Value);

                    int start = int.Parse(domainNode.Attributes["start"].Value);
                    int end   = int.Parse(domainNode.Attributes["end"].Value);

                    List <XmlNode> modifications = xmlHelper.GetChildren(domainNode, "aa");
                    if (modifications.Count > 0)
                    {
                        List <ModificationItem> items = new List <ModificationItem>();
                        foreach (XmlNode modification in modifications)
                        {
                            int at = int.Parse(modification.Attributes["at"].Value);
                            if (at < start || at > end)
                            {
                                continue;
                            }

                            ModificationItem item = new ModificationItem();
                            item.Type     = modification.Attributes["type"].Value;
                            item.At       = at;
                            item.Modified = MyConvert.ToDouble(modification.Attributes["modified"].Value);
                            if (!staticModifications.ContainsKey(item.Type[0]))
                            {
                                items.Add(item);
                            }
                        }

                        spectrum.Modifications = "";
                        if (items.Count > 0)
                        {
                            items.Sort((m1, m2) => m1.At - m2.At);

                            var mod = "";
                            foreach (ModificationItem item in items)
                            {
                                mod = mod + MyConvert.Format(",{0}({1:0.0000})", item.Type, item.Modified);
                            }
                            spectrum.Modifications = mod.Substring(1);

                            items.Sort((m1, m2) => m2.At - m1.At);
                            foreach (ModificationItem item in items)
                            {
                                var key = GetModifiedKey(item.Modified);
                                if (!dynamicModificationChars.ContainsKey(key))
                                {
                                    AddDynamicModificationChar(key);
                                }
                                char modificationChar = dynamicModificationChars[key];
                                pepSeqSB.Insert(item.At - start + 1, modificationChar.ToString());
                            }

                            spectrum.Modifications = mod.Substring(1);
                        }
                    }

                    StringBuilder sb = new StringBuilder();
                    sb.Append(preSeq.Substring(preSeq.Length - 1));
                    sb.Append(".");
                    sb.Append(pepSeqSB.ToString());
                    sb.Append(".");
                    sb.Append(postSeq[0]);

                    string pepSeq = sb.ToString();

                    if (!pepmap.ContainsKey(pepSeq))
                    {
                        IdentifiedPeptide pep = new IdentifiedPeptide(spectrum);
                        pep.Sequence           = pepSeq;
                        pepmap[pepSeq]         = pep;
                        spectrum.TheoreticalMH = MyConvert.ToDouble(domainNode.Attributes["mh"].Value);
                        spectrum.Score         = MyConvert.ToDouble(domainNode.Attributes["hyperscore"].Value);

                        double nextScore = MyConvert.ToDouble(domainNode.Attributes["nextscore"].Value);
                        spectrum.DeltaScore         = (spectrum.Score - nextScore) / spectrum.Score;
                        spectrum.NumMissedCleavages = int.Parse(domainNode.Attributes["missed_cleavages"].Value);
                    }

                    var    noteNode    = xmlHelper.GetValidChild(proteinNode, "note");
                    string proteinName = noteNode.InnerText.StringBefore(" ").StringBefore("\t");
                    pepmap[pepSeq].AddProtein(proteinName);
                }

                if (spectrum.Peptides.Count > 0)
                {
                    spectrum.DigestProtease = protease;
                    result.Add(spectrum);

                    spectrum.Query.QueryId  = int.Parse(groupNode.Attributes["id"].Value);
                    spectrum.ExperimentalMH = MyConvert.ToDouble(groupNode.Attributes["mh"].Value);
                    spectrum.ExpectValue    = MyConvert.ToDouble(groupNode.Attributes["expect"].Value);

                    XmlNode spectrumNode = xmlHelper.GetFirstChildByNameAndAttribute(groupNode, "group", "label", "fragment ion mass spectrum");
                    XmlNode labelNode    = xmlHelper.GetFirstChildByNameAndAttribute(spectrumNode, "note", "label", "Description");
                    string  title        = labelNode.InnerText.Trim();
                    if (title.StartsWith("RTINSECONDS"))
                    {
                        var rtvalue = title.StringAfter("=").StringBefore(" ").StringBefore("-");
                        spectrum.Query.FileScan.RetentionTime = double.Parse(rtvalue);
                        title = title.StringAfter(" ").Trim();
                    }

                    SequestFilename sf = this.TitleParser.GetValue(title);
                    if (sf.Experimental == null || sf.Experimental.Length == 0)
                    {
                        sf.Experimental = sourceFilename;
                    }
                    spectrum.Query.FileScan.LongFileName = sf.LongFileName;
                    if (sf.RetentionTime > 0 && spectrum.Query.FileScan.RetentionTime == 0)
                    {
                        spectrum.Query.FileScan.RetentionTime = sf.RetentionTime;
                    }

                    spectrum.Query.Charge = int.Parse(groupNode.Attributes["z"].Value);
                    spectrum.Query.Title  = title;
                }
            }
            return(result);
        }