示例#1
0
        //---------------------------------------------------------------------
        private void DisplayMamlKnowledgeArticle(ManagementPackKnowledgeArticle article)
        {
            try
            {
                NameTable            nt                = new NameTable();
                XmlNamespaceManager  nsmgr             = new XmlNamespaceManager(nt);
                XslCompiledTransform transform         = new XslCompiledTransform();
                XmlDocument          xsltDocument      = new XmlDocument();
                XmlReaderSettings    settings          = new XmlReaderSettings();
                TextWriter           articleTextWriter = new StringWriter();

                nsmgr.AddNamespace("maml", "http://schemas.microsoft.com/maml/2004/10");

                XmlParserContext context = new XmlParserContext(null, nsmgr, null, XmlSpace.None);

                settings.ConformanceLevel = ConformanceLevel.Fragment;

                XmlReader reader = XmlReader.Create(new StringReader(article.MamlContent), settings, context);

                xsltDocument.LoadXml(xslt);

                XmlTextWriter articleWriter = new XmlTextWriter(articleTextWriter);

                transform.Load(xsltDocument);

                transform.Transform(reader, articleWriter);

                knowledgeBrowser.DocumentText = articleTextWriter.ToString();
            }
            catch (Exception)
            {
            }
        }
示例#2
0
        //---------------------------------------------------------------------
        private void DisplayKnowledgeArticle(ManagementPackElement element)
        {
            knowledgeBrowser.DocumentText = string.Empty;

            ManagementPackKnowledgeArticle article = element.GetKnowledgeArticle("ENU");

            if (article == null)
            {
                return;
            }

            if (article.HtmlContent != null && article.HtmlContent.Length > 0)
            {
                knowledgeBrowser.DocumentText = article.HtmlContent;
            }
            else if (article.MamlContent != null && article.MamlContent.Length > 0)
            {
                DisplayMamlKnowledgeArticle(article);
            }
        }
        public NewTestDialog(ManagementGroup managementGroup, ManagementPackClass managementPackClass, MonitoringObject baseDestinationObject, Guid existingTestObjectId)
        {
            InitializeComponent();
            ManagementGroup = managementGroup;

            if (existingTestObjectId == Guid.Empty)
            {
                if (baseDestinationObject == null)
                {
                    throw new ArgumentNullException(nameof(baseDestinationObject));
                }
                TargetClass = managementPackClass ?? throw new ArgumentNullException(nameof(managementPackClass));
            }
            else
            {
                ExistingObject = ManagementGroup.EntityObjects.GetObject <MonitoringObject>(existingTestObjectId, ObjectQueryOptions.Default);
                TargetClass    = ExistingObject.GetMostDerivedClasses().First();
            }
            rtbDescription.Text = TargetClass.Description;
            try
            {
                ManagementPackKnowledgeArticle kb = TargetClass.GetKnowledgeArticle(Thread.CurrentThread.CurrentUICulture);
                btDocumentation.Enabled = kb != null;
                llLearnMore.Enabled     = kb != null;
            }
            catch (ObjectNotFoundException)
            {
                btDocumentation.Enabled = false;
                llLearnMore.Enabled     = false;
            }

            if (existingTestObjectId == Guid.Empty)
            {
                Text = $"New {(string.IsNullOrWhiteSpace(TargetClass.DisplayName) ? TargetClass.Name : TargetClass.DisplayName)}";
            }
            else
            {
                Text = $"Edit {(string.IsNullOrWhiteSpace(TargetClass.DisplayName) ? TargetClass.Name : TargetClass.DisplayName)}";
            }

            CreatableEnterpriseManagementObject testObject = new CreatableEnterpriseManagementObject(managementGroup, TargetClass);

            // initialize or load other properties
            if (existingTestObjectId == Guid.Empty)
            {
                testObject[IDs.TestBaseClassProperties.TestIdPropertyId].Value         = Guid.NewGuid();
                testObject[SystemId.EntityClassProperties.DisplayNamePropertyId].Value = string.IsNullOrWhiteSpace(TargetClass.DisplayName) ? TargetClass.Name : TargetClass.DisplayName;
                // bind to host object -- from explicit parent
                testObject[IDs.FullyQualifiedDomainNameClassProperties.FullyQualifiedDomainNamePropertyId].Value = baseDestinationObject[IDs.FullyQualifiedDomainNameClassProperties.FullyQualifiedDomainNamePropertyId].Value; // parent key 1
                testObject[IDs.FullyQualifiedDomainNameClassProperties.TargetIndexPropertyId].Value = baseDestinationObject[IDs.FullyQualifiedDomainNameClassProperties.TargetIndexPropertyId].Value;                           // parent key 2
            }
            else
            {
                // host object binding will be done automatically as a part of property copying
                foreach (ManagementPackProperty mpProperty in ExistingObject.GetProperties())
                {
                    testObject[mpProperty].Value = ExistingObject[mpProperty].Value;
                }
            }
            CreatableObjectAdapter        = new CreatableObjectAdapter(testObject);
            pgObjectEditor.SelectedObject = CreatableObjectAdapter;
        }
示例#4
0
        //---------------------------------------------------------------------
        private void DisplayMamlKnowledgeArticle(ManagementPackKnowledgeArticle article)
        {
            try
            {
                NameTable               nt                  = new NameTable();
                XmlNamespaceManager     nsmgr               = new XmlNamespaceManager(nt);
                XslCompiledTransform    transform           = new XslCompiledTransform();
                XmlDocument             xsltDocument        = new XmlDocument();
                XmlReaderSettings       settings            = new XmlReaderSettings();
                TextWriter              articleTextWriter   = new StringWriter();

                nsmgr.AddNamespace("maml", "http://schemas.microsoft.com/maml/2004/10");

                XmlParserContext context = new XmlParserContext(null, nsmgr, null, XmlSpace.None);

                settings.ConformanceLevel = ConformanceLevel.Fragment;

                XmlReader reader = XmlReader.Create(new StringReader(article.MamlContent), settings, context);

                xsltDocument.LoadXml(xslt);

                XmlTextWriter articleWriter = new XmlTextWriter(articleTextWriter);

                transform.Load(xsltDocument);

                transform.Transform(reader, articleWriter);

                knowledgeBrowser.DocumentText = articleTextWriter.ToString();
            }
            catch (Exception)
            {
            }
        }