Exemple #1
0
        public override void XmlParse(XmlNode aNode)
        {
            XmlAttributeCollection attribs = aNode.Attributes;

            if (attribs.Count < 1 || attribs["name"] == null)
            {
                throw new ArgumentException("Mandatory name node missing");
            }

            XmlAttribute nameAttrib = attribs["name"];
            string       name       = nameAttrib.Value.Trim();

            SXILElementExtension.TType type = SXILElementExtension.TType.ETypeSuccess;
            if (attribs["type"] != null)
            {
                string typeName = attribs["type"].Value.Trim().ToUpper();
                if (typeName == "FAILED")
                {
                    type = SXILElementExtension.TType.ETypeFailure;
                }
            }

            SXILElementExtension entry = new SXILElementExtension(name, type);

            base.Document.CurrentNode.Add(entry);
        }
        private void ExtractParameters(SXILElementCategory aCategory)
        {
            foreach (SXILElement element in aCategory)
            {
                if (element is SXILElementExtension)
                {
                    SXILElementExtension entry = (SXILElementExtension)element;
                    //
                    string extension = entry.Name;
                    if (!extension.StartsWith("."))
                    {
                        extension = "." + extension;
                    }
                    //
                    if (entry.Type == SXILElementExtension.TType.ETypeFailure)
                    {
                        Trace("[CmdInput] ExtractFileList() - failed extension: " + extension);
                        iSinkParams.FileExtensionFailed = extension;
                    }
                    else if (entry.Type == SXILElementExtension.TType.ETypeSuccess)
                    {
                        Trace("[CmdInput] ExtractFileList() - success extension: " + extension);
                        iSinkParams.FileExtensionSuccess = extension;
                    }
                }
                else if (element is SXILElementCommand)
                {
                    SXILElementCommand entry = (SXILElementCommand)element;
                    //
                    if (entry.Name == KInputFileCommandNameAnalysis)
                    {
                        string type = entry.Details.Trim().ToUpper();
                        Trace("[CmdInput] ExtractFileList() - command: " + type);
                        switch (type)
                        {
                        case KInputFileCommandNameAnalysisFull:
                            iSinkParams.DetailLevel = CISinkSerializationParameters.TDetailLevel.EFull;
                            break;

                        case KInputFileCommandNameAnalysisSummary:
                            iSinkParams.DetailLevel = CISinkSerializationParameters.TDetailLevel.ESummary;
                            break;

                        default:
                            throw new NotSupportedException("Unsupported analysis type");
                        }
                    }
                    else
                    {
                        throw new NotSupportedException("Unsupported command: " + entry.Name);
                    }
                }
            }
        }