//--------------------------------------------------------------------- private void DisplayAlertDescriptionIfApplicable(ManagementPackElement element) { if (!(element is ManagementPackMonitor)) { return; } ManagementPackMonitor monitor = (ManagementPackMonitor)element; m_alertDescriptionTextBox.DocumentText = @"<HTML></HTML>"; if (monitor.AlertSettings != null && monitor.AlertSettings.AlertMessage != null) { string alertDescription; alertDescription = m_managementPack.GetStringResource(monitor.AlertSettings.AlertMessage.Name).Description; if (alertDescription == null) { return; } if (alertDescription.IndexOf("\r\n") == 0) { alertDescription = alertDescription.Remove(0, 2); alertDescription = alertDescription.TrimStart(new char[] { ' ' }); } m_alertDescriptionTextBox.DocumentText = string.Format(@"<HTML><BODY>{0}</BODY></HTML>", alertDescription); } }
//--------------------------------------------------------------------- private void DisplayImageIfApplicable(ManagementPackElement element) { if (!(element is ManagementPackResource)) { return; } ManagementPackResource resource = (ManagementPackResource)element; if (resource.FileName != null) { if (resource.XmlTag.Equals("Image", StringComparison.InvariantCultureIgnoreCase)) { IDictionary <string, Stream> streams = m_bundle.GetStreams(m_managementPack); foreach (var stream in streams) { if (stream.Key.Equals(resource.Name, StringComparison.InvariantCultureIgnoreCase)) { Image pic = Image.FromStream(stream.Value); m_ImageResourcePictureBox.BackColor = Color.White; m_ImageResourcePictureBox.Image = pic; m_ImageResourcePictureBox.Visible = true; } } } else { m_ImageResourcePictureBox.Visible = false; } } }
//--------------------------------------------------------------------- private string GetOverridenWorkflowType( ManagementPackElement managementPackElement ) { string workflowType; if (managementPackElement is ManagementPackMonitor) { workflowType = "Monitor"; } else if (managementPackElement is ManagementPackRule) { workflowType = "Rule"; } else if (managementPackElement is ManagementPackDiscovery) { workflowType = "Discovery"; } else if (managementPackElement is ManagementPackDiagnostic) { workflowType = "Diagnostic"; } else if (managementPackElement is ManagementPackRecovery) { workflowType = "Recovery"; } else { workflowType = managementPackElement.GetType().ToString(); } return(workflowType); }
//--------------------------------------------------------------------- internal void AddOverride( ManagementPackOverride mpOverride, ManagementPackElement overridenElement ) { if (!m_mpWorkflows.ContainsKey(overridenElement.Id)) { m_mpWorkflows.Add(overridenElement.Id, new MPWorkflow(overridenElement)); } m_mpWorkflows[overridenElement.Id].AddOverride(mpOverride); }
//--------------------------------------------------------------------- internal static string GetBestElementName( ManagementPackElement element ) { if (element.DisplayName != null && element.DisplayName.Length > 0) { return(element.DisplayName); } else { return(element.Name); } }
//--------------------------------------------------------------------- internal static string GetBestElementName( ManagementPackElement element ) { if (element.DisplayName != null && element.DisplayName.Length > 0) { return (element.DisplayName); } else { return (element.Name); } }
//--------------------------------------------------------------------- private void DisplayAdvisorQueryIfApplicable(ManagementPackElement element) { if (!(element is ManagementPackRule)) { return; } ManagementPackRule rule = (ManagementPackRule)element; DataTable t = m_dataset.Tables["Rules"]; m_QueryResourceTextBox.Text = String.Empty; }
//--------------------------------------------------------------------- private void DisplayRawXml(ManagementPackElement element) { StringWriter stringWriter = new StringWriter(); XmlTextWriter xmlTextWriter = new System.Xml.XmlTextWriter(stringWriter); string tempFileName = GetTempFileName(); StreamWriter writer = File.CreateText(tempFileName); mpElementXml.DocumentText = string.Empty; element.WriteXml(xmlTextWriter); writer.Write(stringWriter.ToString()); writer.Flush(); writer.Close(); mpElementXml.Url = new Uri(tempFileName); }
//--------------------------------------------------------------------- internal void AddOverride( ManagementPackClass mpClass, ManagementPackElement overridenElement, ManagementPackOverride mpOverride ) { Debug.Assert(mpClass != null); Debug.Assert(overridenElement != null); Debug.Assert(mpOverride != null); if (!m_classCollection.ContainsKey(mpClass.Id)) { m_classCollection.Add(mpClass.Id, new MPClass(mpClass)); } m_classCollection[mpClass.Id].AddOverride(mpOverride, overridenElement); }
//--------------------------------------------------------------------- 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); } }
//--------------------------------------------------------------------- private void DisplayScriptIfApplicable(ManagementPackElement element) { if (!(element is ManagementPackResource)) { return; } ManagementPackResource resource = (ManagementPackResource)element; m_ScriptResourceTextBox.Text = String.Empty; if (resource.FileName != null) { // works for now... maybe with "config" files (or "deployableresource"s) we might want to show in browser control since it is XML... if (resource.FileName.EndsWith(".sql", StringComparison.InvariantCultureIgnoreCase) || resource.FileName.EndsWith(".ps1", StringComparison.InvariantCultureIgnoreCase) || resource.FileName.EndsWith(".config", StringComparison.InvariantCultureIgnoreCase)) { string ScriptBody = String.Empty; IDictionary <string, Stream> streams = m_bundle.GetStreams(m_managementPack); foreach (var stream in streams) { if (stream.Key.Equals(resource.Name, StringComparison.InvariantCultureIgnoreCase)) { StreamReader reader = new StreamReader(stream.Value); ScriptBody = reader.ReadToEnd(); } } if (String.IsNullOrEmpty(ScriptBody)) { return; } m_ScriptResourceTextBox.Text = ScriptBody; } } }
//--------------------------------------------------------------------- internal static string GetBestMPElementName( ManagementPackElement element ) { if (element.DisplayName == null || element.DisplayName.Length == 0) { return(element.Name); } else { string elementName = element.DisplayName; elementName = elementName.Replace("\r\n", ""); elementName = elementName.TrimStart(new char[] { ' ' }); elementName = elementName.Replace("\t", ""); return(elementName); } }
//--------------------------------------------------------------------- internal static string GetBestMPElementName( ManagementPackElement element ) { if (element.DisplayName == null || element.DisplayName.Length == 0) { return (element.Name); } else { string elementName = element.DisplayName; elementName = elementName.Replace("\r\n", ""); elementName = elementName.TrimStart(new char[] { ' ' }); elementName = elementName.Replace("\t", ""); return (elementName); } }
//--------------------------------------------------------------------- private void DisplayAlertDescriptionIfApplicable(ManagementPackElement element) { if (!(element is ManagementPackMonitor)) { return; } ManagementPackMonitor monitor = (ManagementPackMonitor)element; m_alertDescriptionTextBox.DocumentText = @"<HTML></HTML>"; if (monitor.AlertSettings != null && monitor.AlertSettings.AlertMessage != null) { string alertDescription = null; foreach (ManagementPack mp in m_managementPack.Values) { if (mp.Name == monitor.GetManagementPack().Name) { try { alertDescription = mp.GetStringResource(monitor.AlertSettings.AlertMessage.Name).Description; } catch { } if (alertDescription == null) { return; } if (alertDescription.IndexOf("\r\n") == 0) { alertDescription = alertDescription.Remove(0, 2); alertDescription = alertDescription.TrimStart(new char[] { ' ' }); } m_alertDescriptionTextBox.DocumentText = string.Format(@"<HTML><BODY>{0}</BODY></HTML>", alertDescription); } } } }
//--------------------------------------------------------------------- internal static string GetBestMPElementInternalName( ManagementPackElement element ) { return(element.Name); }
//--------------------------------------------------------------------- private void DisplayScriptIfApplicable(ManagementPackElement element) { /* if (!(element is ManagementPackResource)) { return; } ManagementPackResource resource = (ManagementPackResource)element; m_ScriptResourceTextBox.Text = String.Empty; if (resource.FileName != null) { // works for now... maybe with "config" files (or "deployableresource"s) we might want to show in browser control since it is XML... if (resource.FileName.EndsWith(".sql", StringComparison.InvariantCultureIgnoreCase) || resource.FileName.EndsWith(".ps1", StringComparison.InvariantCultureIgnoreCase) || resource.FileName.EndsWith(".config", StringComparison.InvariantCultureIgnoreCase)) { string ScriptBody = String.Empty; IDictionary<string, Stream> streams = m_bundle.GetStreams(m_managementPack); foreach (var stream in streams) { if (stream.Key.Equals(resource.Name, StringComparison.InvariantCultureIgnoreCase)) { StreamReader reader = new StreamReader(stream.Value); ScriptBody = reader.ReadToEnd(); } } if (String.IsNullOrEmpty(ScriptBody)) { return; } m_ScriptResourceTextBox.Text = ScriptBody; } } */ }
//--------------------------------------------------------------------- private string GetOverridenWorkflowType( ManagementPackElement managementPackElement ) { string workflowType; if (managementPackElement is ManagementPackMonitor) { workflowType = "Monitor"; } else if (managementPackElement is ManagementPackRule) { workflowType = "Rule"; } else if (managementPackElement is ManagementPackDiscovery) { workflowType = "Discovery"; } else if (managementPackElement is ManagementPackDiagnostic) { workflowType = "Diagnostic"; } else if (managementPackElement is ManagementPackRecovery) { workflowType = "Recovery"; } else { workflowType = managementPackElement.GetType().ToString(); } return (workflowType); }
//--------------------------------------------------------------------- private void DisplayImageIfApplicable(ManagementPackElement element) { /* if (!(element is ManagementPackResource)) { return; } ManagementPackResource resource = (ManagementPackResource)element; if (resource.FileName != null) { if (resource.XmlTag.Equals("Image", StringComparison.InvariantCultureIgnoreCase)) { IDictionary<string, Stream> streams = m_bundle.GetStreams(m_managementPack); foreach (var stream in streams) { if (stream.Key.Equals(resource.Name, StringComparison.InvariantCultureIgnoreCase)) { Image pic = Image.FromStream(stream.Value); m_ImageResourcePictureBox.BackColor = Color.White; m_ImageResourcePictureBox.Image = pic; m_ImageResourcePictureBox.Visible = true; } } } else { m_ImageResourcePictureBox.Visible = false; } } */ }
//--------------------------------------------------------------------- internal MPWorkflow(ManagementPackElement mpElement) { m_overrides = new List <ManagementPackOverride>(); m_mpElement = mpElement; }
//--------------------------------------------------------------------- private void DisplayKnowledgeArticle(ManagementPackElement element) { ManagementPackKnowledgeArticle article = null; knowledgeBrowser.DocumentText = string.Empty; try { article = element.GetKnowledgeArticle("ENU"); } catch { } 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); } }
//--------------------------------------------------------------------- internal MPWorkflow(ManagementPackElement mpElement) { m_overrides = new List<ManagementPackOverride>(); m_mpElement = mpElement; }