public void TestAddResourceAndPluginMap() { PluginResourceAction resourceAction = new PluginResourceAction(ConnectString); Resource resource = new Resource(); resource.ResourceType = "Plugin"; FileStream fileStream = new FileStream(@"D:\Crazywolf\Devops\DevopsSupportCenter\HP.TS.Devops.CentralConnect.Plugin.General\bin\Debug\HP.TS.Devops.CentralConnect.Plugin.General.dll", FileMode.Open, FileAccess.Read, FileShare.None); StreamReader streamReader = new StreamReader(fileStream); byte[] source = new byte[fileStream.Length]; fileStream.Read(source, 0, (int)fileStream.Length); fileStream.Close(); resource.ResourceType = "Plugin"; resource.FileName = @"HP.TS.Devops.CentralConnect.Plugin.General.dll"; resource.FileContent = source; resource.CreateBy = "UnitTest"; int result = resourceAction.AddResource(resource); PluginMap pluginMap = new PluginMap(); pluginMap.PluginClass = "CentralConnectMetrics"; pluginMap.PluginType = "MetricsV1"; pluginMap.Description = "Official Metrics Plugin"; pluginMap.FileName = resource.FileName; pluginMap.ClassFullName = "HP.TS.Devops.CentralConnect.Plugin.General.Metrics.MetricsV1"; result = resourceAction.AddPluginMap(pluginMap); }
/// <summary> /// Construct the repository using specific properties /// </summary> /// <param name="properties">the properties to set for this repository</param> /// <remarks> /// <para> /// Initializes the repository with specified properties. /// </para> /// </remarks> protected LoggerRepositorySkeleton(PropertiesDictionary properties) { m_properties = properties; m_rendererMap = new RendererMap(); m_pluginMap = new PluginMap(this); m_levelMap = new LevelMap(); m_configurationMessages = EmptyCollection.Instance; m_configured = false; AddBuiltinLevels(); m_threshold = Level.All; }
/// <summary> /// Construct the repository using specific properties /// </summary> /// <param name="properties">the properties to set for this repository</param> /// <remarks> /// <para> /// Initializes the repository with specified properties. /// </para> /// </remarks> protected LoggerRepositorySkeleton(PropertiesDictionary properties) { m_properties = properties; m_rendererMap = new RendererMap(); m_pluginMap = new PluginMap(this); m_levelMap = new LevelMap(); m_configured = false; AddBuiltinLevels(); // Don't disable any levels by default. m_threshold = Level.All; }
/// <summary> /// Initializes a new instance of the <see cref="LoggerRepositorySkeleton"/> class. /// Construct the repository using specific properties. /// </summary> /// <param name="properties">the properties to set for this repository.</param> /// <remarks> /// <para> /// Initializes the repository with specified properties. /// </para> /// </remarks> protected LoggerRepositorySkeleton(PropertiesDictionary properties) { this.m_properties = properties; this.m_rendererMap = new RendererMap(); this.m_pluginMap = new PluginMap(this); this.m_levelMap = new LevelMap(); this.m_configurationMessages = EmptyCollection.Instance; this.m_configured = false; this.AddBuiltinLevels(); // Don't disable any levels by default. this.m_threshold = Level.All; }
public PluginResponse InvokeMetrics(MetricsRequest metricsRequest, string metricsType) { PluginResourceAction pluginResourceAction = new PluginResourceAction(this.ConnectString); List <PluginMap> pluginMaps = pluginResourceAction.RetrievePluginMapByClassAndType(CentralConnectMetrics, metricsType); if (pluginMaps.Count != 1) { return(new PluginResponse() { IsSuccess = false, Message = Enum.GetName(typeof(CentralConnectCode), CentralConnectCode.PluginMapNotExist) }); } Logger.Write("PluginMaps", pluginMaps[0]); PluginMap pluginMap = pluginMaps[0]; Resource resource = pluginResourceAction.RetrieveResourceByTypeAndFileName(PluginResource, pluginMap.FileName); if (string.IsNullOrEmpty(resource.FileName)) { return(new PluginResponse() { IsSuccess = false, Message = Enum.GetName(typeof(CentralConnectCode), CentralConnectCode.ResourceFileNotExist) }); } System.Reflection.Assembly assembly = null; if (!LoadPluginResourceFile(resource, out assembly) || assembly == null) { return(new PluginResponse() { IsSuccess = false, Message = Enum.GetName(typeof(CentralConnectCode), CentralConnectCode.LoadResourceFileFail) }); } IMetrics iMetrics = (IMetrics)assembly.CreateInstance(pluginMap.ClassFullName); if (iMetrics == null) { return(new PluginResponse() { IsSuccess = false, Message = Enum.GetName(typeof(CentralConnectCode), CentralConnectCode.CreateMetricsInstanceFail) }); } DictionaryAction dictionaryAction = new DictionaryAction(this.ConnectString); string workspace = dictionaryAction.RetrieveValueByTypeAndKey("Settings", "Workspace"); metricsRequest.Workspace = System.IO.Path.Combine(workspace, CentralConnectMetrics); return(iMetrics.GenerateMetrics(metricsRequest)); }
/// <summary> /// Default Constructor /// </summary> /// <remarks> /// <para> /// Initializes the repository with default (empty) properties. /// </para> /// </remarks> protected LoggerRepositorySkeleton() { m_pluginMap = new PluginMap(this); m_Threshold = Level.ALL; }