public MockSectionWithMultipleChildCollections()
 {
     this[childrenProperty]            = new NamedElementCollection <TestHandlerData>();
     this[moreChildrenProperty]        = new NamedElementCollection <TestHandlerDataWithChildren>();
     this[polymorphicChildrenProperty] =
         new NameTypeConfigurationElementCollection <TestHandlerData, CustomTestHandlerData>();
 }
Beispiel #2
0
 /// <summary>
 /// <para>Initialize a new named instance of the <see cref="CategoryFilterData"/> class.</para>
 /// </summary>
 /// <param name="name">The name.</param>
 /// <param name="categoryFilters">The collection of category names to filter.</param>
 /// <param name="categoryFilterMode">The mode of filtering.</param>
 public CategoryFilterData(string name, NamedElementCollection<CategoryFilterEntry> categoryFilters,
                           CategoryFilterMode categoryFilterMode)
     : base(name, typeof(CategoryFilter))
 {
     CategoryFilters = categoryFilters;
     CategoryFilterMode = categoryFilterMode;
 }
 /// <summary>
 /// <para>Initialize a new named instance of the <see cref="CategoryFilterData"/> class.</para>
 /// </summary>
 /// <param name="name">The name.</param>
 /// <param name="categoryFilters">The collection of category names to filter.</param>
 /// <param name="categoryFilterMode">The mode of filtering.</param>
 public CategoryFilterData(string name, NamedElementCollection <CategoryFilterEntry> categoryFilters,
                           CategoryFilterMode categoryFilterMode)
     : base(name, typeof(CategoryFilter))
 {
     CategoryFilters    = categoryFilters;
     CategoryFilterMode = categoryFilterMode;
 }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="context"></param>
        /// <param name="provider"></param>
        /// <param name="value"></param>
        /// <returns></returns>
        public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
        {
            Debug.Assert(provider != null, "No service provider; we cannot edit the value");
            if (provider != null)
            {
                IWindowsFormsEditorService edSvc = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService));

                Debug.Assert(edSvc != null, "No editor service; we cannot edit the value");
                if (edSvc != null)
                {
                    IWindowsFormsEditorService service = (IWindowsFormsEditorService) provider.GetService(typeof(IWindowsFormsEditorService));

                    CategoryFilterEditorUI dialog = new CategoryFilterEditorUI();
                    CategoryFilterNode currentSettings = (CategoryFilterNode)context.Instance;
                    InitializeDialog(dialog, currentSettings);

                    service.ShowDialog(dialog);

                    CategoryFilterMode categoryFilterMode = dialog.FilterMode;

                    NamedElementCollection<CategoryFilterEntry> categoryFilters = new NamedElementCollection<CategoryFilterEntry>();
                    foreach (string category in dialog.SelectedCategoryNames)
                    {
                        CategoryFilterEntry categoryFilter = new CategoryFilterEntry();
                        categoryFilter.Name = category;
                        categoryFilters.Add(categoryFilter);
                    }

                    return new CategoryFilterSettings(categoryFilterMode, categoryFilters);
                }
            }
            return value;
        }
Beispiel #5
0
        public void CanReadWrittenFilterConfiguration()
        {
            ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();

            fileMap.ExeConfigFilename = "test.exe.config";
            System.Configuration.Configuration rwConfiguration = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
            rwConfiguration.Sections.Remove(LoggingSettings.SectionName);
            LoggingSettings rwLoggingSettings = new LoggingSettings();

            rwConfiguration.Sections.Add(LoggingSettings.SectionName, rwLoggingSettings);
            rwLoggingSettings.LogFilters.Add(new LogEnabledFilterData("enabled", true));
            NamedElementCollection <CategoryFilterEntry> categoryEntries = new NamedElementCollection <CategoryFilterEntry>();

            categoryEntries.Add(new CategoryFilterEntry("foo"));
            categoryEntries.Add(new CategoryFilterEntry("bar"));
            categoryEntries.Add(new CategoryFilterEntry("baz"));
            rwLoggingSettings.LogFilters.Add(new CategoryFilterData("category", categoryEntries, CategoryFilterMode.DenyAllExceptAllowed));
            rwLoggingSettings.LogFilters.Add(new PriorityFilterData("priority", 5));
            File.SetAttributes(fileMap.ExeConfigFilename, FileAttributes.Normal);
            rwConfiguration.Save();
            System.Configuration.Configuration roConfiguration = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
            LoggingSettings roLoggingSettings = (LoggingSettings)roConfiguration.Sections[LoggingSettings.SectionName];

            Assert.AreEqual(3, roLoggingSettings.LogFilters.Count);
            Assert.AreEqual(roLoggingSettings.LogFilters.Get("enabled").GetType(), typeof(LogEnabledFilterData));
            Assert.AreEqual(true, ((LogEnabledFilterData)roLoggingSettings.LogFilters.Get("enabled")).Enabled);
            Assert.AreEqual(roLoggingSettings.LogFilters.Get("category").GetType(), typeof(CategoryFilterData));
            Assert.AreEqual(3, ((CategoryFilterData)roLoggingSettings.LogFilters.Get("category")).CategoryFilters.Count);
            Assert.IsNotNull(((CategoryFilterData)roLoggingSettings.LogFilters.Get("category")).CategoryFilters.Get("foo"));
            Assert.IsNotNull(((CategoryFilterData)roLoggingSettings.LogFilters.Get("category")).CategoryFilters.Get("bar"));
            Assert.IsNotNull(((CategoryFilterData)roLoggingSettings.LogFilters.Get("category")).CategoryFilters.Get("baz"));
            Assert.AreEqual(CategoryFilterMode.DenyAllExceptAllowed, ((CategoryFilterData)roLoggingSettings.LogFilters.Get("category")).CategoryFilterMode);
            Assert.AreEqual(roLoggingSettings.LogFilters.Get("priority").GetType(), typeof(PriorityFilterData));
            Assert.AreEqual(5, ((PriorityFilterData)roLoggingSettings.LogFilters.Get("priority")).MinimumPriority);
        }
 public MockSectionWithMultipleChildCollections()
 {
     this[childrenProperty] = new NamedElementCollection<TestHandlerData>();
     this[moreChildrenProperty] = new NamedElementCollection<TestHandlerDataWithChildren>();
     this[polymorphicChildrenProperty] =
         new NameTypeConfigurationElementCollection<TestHandlerData, CustomTestHandlerData>();
 }
        public static ErrorType GetErrorType(string exceptionType, string opCoCode, string policyName)
        {
            ErrorType errorType = null;

            //read the config details from file or other source (db) to find the error handling section

            //find all the exception policies
            NamedElementCollection <ExceptionPolicyData> policies =
                ((ExceptionHandlingSettings)ConfigurationSourceFactory.Create().GetSection("exceptionHandling")).ExceptionPolicies;

            //find just the one specified
            if (policies != null)
            {
                ExceptionPolicyData specifiedPolicy = policies.Get(policyName);

                if (specifiedPolicy != null)
                {
                    specifiedPolicy.ExceptionTypes.ForEach(delegate(ExceptionTypeData currentExceptionType)
                    {
                        if (currentExceptionType.Type.ToString() == exceptionType)
                        {
                            errorType = PopulateErrorType(specifiedPolicy.Name, opCoCode, currentExceptionType);
                        }
                    }

                                                           );
                }
            }

            return(errorType);
        }
Beispiel #8
0
 public void AddDropDownListPartForNamedElementCollection <T>(String partName, String valueName,
                                                              NamedElementCollection <T> elements, String defaultElementName, bool allowNone)
     where T : NamedConfigurationElement, new()
 {
     AddDropDownListPartForNamedElementCollection <T>(partName, null, valueName,
                                                      elements, defaultElementName, allowNone);
 }
 public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
 {
     Debug.Assert(provider != null, "No service provider; we cannot edit the value");
     if (provider != null)
     {
         IWindowsFormsEditorService edSvc = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService));
         Debug.Assert(edSvc != null, "No editor service; we cannot edit the value");
         if (edSvc != null)
         {
             IWindowsFormsEditorService service         = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService));
             CategoryFilterEditorUI     dialog          = new CategoryFilterEditorUI();
             CategoryFilterNode         currentSettings = (CategoryFilterNode)context.Instance;
             InitializeDialog(dialog, currentSettings);
             if (DialogResult.OK == service.ShowDialog(dialog))
             {
                 CategoryFilterMode categoryFilterMode = dialog.FilterMode;
                 NamedElementCollection <CategoryFilterEntry> categoryFilters = new NamedElementCollection <CategoryFilterEntry>();
                 foreach (string category in dialog.SelectedCategoryNames)
                 {
                     CategoryFilterEntry categoryFilter = new CategoryFilterEntry();
                     categoryFilter.Name = category;
                     categoryFilters.Add(categoryFilter);
                 }
                 return(new CategoryFilterSettings(categoryFilterMode, categoryFilters));
             }
         }
     }
     return(value);
 }
        void OverrideWithGroupPoliciesForCacheManagers(NamedElementCollection <CacheManagerDataBase> cacheManagers,
                                                       bool readGroupPolicies,
                                                       IRegistryKey machineKey,
                                                       IRegistryKey userKey)
        {
            List <CacheManagerDataBase> elementsToRemove = new List <CacheManagerDataBase>();

            IRegistryKey machineCacheManagersKey = null;
            IRegistryKey userCacheManagersKey    = null;

            try
            {
                LoadRegistrySubKeys(CacheManagersKeyName,
                                    machineKey, userKey,
                                    out machineCacheManagersKey, out userCacheManagersKey);

                foreach (CacheManagerDataBase data in cacheManagers)
                {
                    IRegistryKey machineCacheManagerKey = null;
                    IRegistryKey userCacheManagerKey    = null;

                    try
                    {
                        LoadRegistrySubKeys(data.Name,
                                            machineCacheManagersKey, userCacheManagersKey,
                                            out machineCacheManagerKey, out userCacheManagerKey);

                        if (data is CustomCacheManagerData)
                        {
                            if (!customManageabilityProvider.
                                OverrideWithGroupPolicies(data, readGroupPolicies, machineCacheManagerKey, userCacheManagerKey))
                            {
                                elementsToRemove.Add(data);
                            }
                        }
                        else
                        {
                            if (!OverrideWithGroupPoliciesAndGenerateWmiObjectsForCacheManager(data, readGroupPolicies, machineCacheManagerKey, userCacheManagerKey))
                            {
                                elementsToRemove.Add(data);
                            }
                        }
                    }
                    finally
                    {
                        ReleaseRegistryKeys(machineCacheManagerKey, userCacheManagerKey);
                    }
                }
            }
            finally
            {
                ReleaseRegistryKeys(machineCacheManagersKey, userCacheManagersKey);
            }

            foreach (CacheManagerDataBase data in elementsToRemove)
            {
                cacheManagers.Remove(data.Name);
            }
        }
        protected void OverrideWithGroupPoliciesForElementCollection <T>(NamedElementCollection <T> elements,
                                                                         String keyName,
                                                                         bool readGroupPolicies,
                                                                         IRegistryKey machineKey,
                                                                         IRegistryKey userKey)
            where T : NamedConfigurationElement, new()
        {
            List <T> elementsToRemove = new List <T>();

            IRegistryKey machineElementsKey = null;
            IRegistryKey userElementsKey    = null;

            try
            {
                LoadRegistrySubKeys(keyName,
                                    machineKey, userKey,
                                    out machineElementsKey, out userElementsKey);

                foreach (T element in elements)
                {
                    IRegistryKey machineElementKey = null;
                    IRegistryKey userElementKey    = null;

                    try
                    {
                        LoadRegistrySubKeys(element.Name,
                                            machineElementsKey, userElementsKey,
                                            out machineElementKey, out userElementKey);

                        ConfigurationElementManageabilityProvider subProvider = GetSubProvider(element.GetType());

                        if (subProvider != null && !OverrideWithGroupPolicies <T>(element,
                                                                                  subProvider,
                                                                                  readGroupPolicies, machineElementKey, userElementKey))
                        {
                            elementsToRemove.Add(element);
                        }
                    }
                    finally
                    {
                        ReleaseRegistryKeys(machineElementKey, userElementKey);
                    }
                }
            }
            finally
            {
                ReleaseRegistryKeys(machineElementsKey, userElementsKey);
            }

            // remove disabled elements
            foreach (T element in elementsToRemove)
            {
                elements.Remove(element.Name);
            }
        }
Beispiel #12
0
        private static String GenerateRulesString(NamedElementCollection <AuthorizationRuleData> rules)
        {
            KeyValuePairEncoder encoder = new KeyValuePairEncoder();

            foreach (AuthorizationRuleData ruleData in rules)
            {
                encoder.AppendKeyValuePair(ruleData.Name, ruleData.Expression);
            }

            return(encoder.GetEncodedKeyValuePairs());
        }
Beispiel #13
0
        private static string[] GenerateRulesArray(NamedElementCollection <AuthorizationRuleData> rules)
        {
            String[] rulesArray = new String[rules.Count];
            int      i          = 0;

            foreach (AuthorizationRuleData rule in rules)
            {
                rulesArray[i++] = KeyValuePairEncoder.EncodeKeyValuePair(rule.Name, rule.Expression);
            }
            return(rulesArray);
        }
Beispiel #14
0
        private static String GenerateRulesString(NamedElementCollection <OraclePackageData> packages)
        {
            KeyValuePairEncoder encoder = new KeyValuePairEncoder();

            foreach (OraclePackageData packageData in packages)
            {
                encoder.AppendKeyValuePair(packageData.Name, packageData.Prefix);
            }

            return(encoder.GetEncodedKeyValuePairs());
        }
Beispiel #15
0
        private static String[] GeneratePackagesArray(NamedElementCollection <OraclePackageData> packages)
        {
            String[] packagesArray = new String[packages.Count];
            int      i             = 0;

            foreach (OraclePackageData package in packages)
            {
                packagesArray[i++] = KeyValuePairEncoder.EncodeKeyValuePair(package.Name, package.Prefix);
            }
            return(packagesArray);
        }
Beispiel #16
0
        public void CanCreateCategoryFilterFromEmptyCategoryConfiguration()
        {
            NamedElementCollection <CategoryFilterEntry> categoryEntries = new NamedElementCollection <CategoryFilterEntry>();
            CategoryFilterData   filterData = new CategoryFilterData("category", categoryEntries, CategoryFilterMode.DenyAllExceptAllowed);
            MockLogObjectsHelper helper     = new MockLogObjectsHelper();
            ILogFilter           filter     = LogFilterCustomFactory.Instance.Create(context, filterData, helper.configurationSource, reflectionCache);

            ;
            Assert.IsNotNull(filter);
            Assert.AreEqual(filter.GetType(), typeof(CategoryFilter));
            Assert.AreEqual(0, ((CategoryFilter)filter).CategoryFilters.Count);
            Assert.AreEqual(CategoryFilterMode.DenyAllExceptAllowed, ((CategoryFilter)filter).CategoryFilterMode);
        }
        public void CanCreateCategoryFilterFromEmptyCategoryConfiguration()
        {
            NamedElementCollection<CategoryFilterEntry> categoryEntries = new NamedElementCollection<CategoryFilterEntry>();
            CategoryFilterData filterData = new CategoryFilterData("category", categoryEntries, CategoryFilterMode.DenyAllExceptAllowed);

            MockLogObjectsHelper helper = new MockLogObjectsHelper();
            ILogFilter filter = LogFilterCustomFactory.Instance.Create(context, filterData, helper.configurationSource, reflectionCache); ;

            Assert.IsNotNull(filter);
            Assert.AreEqual(filter.GetType(), typeof(CategoryFilter));
            Assert.AreEqual(0, ((CategoryFilter)filter).CategoryFilters.Count);
            Assert.AreEqual(CategoryFilterMode.DenyAllExceptAllowed, ((CategoryFilter)filter).CategoryFilterMode);
        }
        private void OverrideWithGroupPoliciesAndGenerateWmiObjectsForCacheManagers(NamedElementCollection <CacheManagerData> cacheManagers,
                                                                                    bool readGroupPolicies, IRegistryKey machineKey, IRegistryKey userKey,
                                                                                    bool generateWmiObjects, ICollection <ConfigurationSetting> wmiSettings)
        {
            List <CacheManagerData> elementsToRemove = new List <CacheManagerData>();

            IRegistryKey machineCacheManagersKey = null;
            IRegistryKey userCacheManagersKey    = null;

            try
            {
                LoadRegistrySubKeys(CacheManagersKeyName,
                                    machineKey, userKey,
                                    out machineCacheManagersKey, out userCacheManagersKey);

                foreach (CacheManagerData data in cacheManagers)
                {
                    IRegistryKey machineCacheManagerKey = null;
                    IRegistryKey userCacheManagerKey    = null;

                    try
                    {
                        LoadRegistrySubKeys(data.Name,
                                            machineCacheManagersKey, userCacheManagersKey,
                                            out machineCacheManagerKey, out userCacheManagerKey);

                        if (!OverrideWithGroupPoliciesAndGenerateWmiObjectsForCacheManager(data,
                                                                                           readGroupPolicies, machineCacheManagerKey, userCacheManagerKey,
                                                                                           generateWmiObjects, wmiSettings))
                        {
                            elementsToRemove.Add(data);
                        }
                    }
                    finally
                    {
                        ReleaseRegistryKeys(machineCacheManagerKey, userCacheManagerKey);
                    }
                }
            }
            finally
            {
                ReleaseRegistryKeys(machineCacheManagersKey, userCacheManagersKey);
            }

            foreach (CacheManagerData data in elementsToRemove)
            {
                cacheManagers.Remove(data.Name);
            }
        }
        public void CanCreateCategoryFilterFromEmptyCategoryConfiguration()
        {
            var categoryEntries = new NamedElementCollection<CategoryFilterEntry>();
            var filterData = new CategoryFilterData("category", categoryEntries, CategoryFilterMode.DenyAllExceptAllowed);

            var helper = new MockLogObjectsHelper();
            helper.loggingSettings.LogFilters.Add(filterData);

            ILogFilter filter = GetFilter(filterData.Name, helper.configurationSource);

            Assert.IsNotNull(filter);
            Assert.AreEqual(filter.GetType(), typeof(CategoryFilter));
            Assert.AreEqual(0, ((CategoryFilter)filter).CategoryFilters.Count);
            Assert.AreEqual(CategoryFilterMode.DenyAllExceptAllowed, ((CategoryFilter)filter).CategoryFilterMode);
        }
Beispiel #20
0
        public static ErrorType GetErrorType(string exceptionType, string opCoCode, string policyName)
        {
            ErrorType errorType = null;

            //read the config details from file or other source (db) to find the error handling section

            //find the configuration source section
            ConfigurationSourceSection section = ConfigurationSourceSection.GetConfigurationSourceSection();

            //find the selected source where our config sections are stored
            string selectedSource = section.SelectedSource;
            NameTypeConfigurationElementCollection <ConfigurationSourceElement> sources = section.Sources;

            ConfigurationSourceElement element = sources.Get(selectedSource);

            if (element is SqlConfigurationSourceElement)
            {
                SqlConfigurationSourceElement sqlElement = element as SqlConfigurationSourceElement;

                SqlConfigurationSource configurationSource =
                    new SqlConfigurationSource(sqlElement.ConnectionString, sqlElement.GetStoredProcedure, sqlElement.SetStoredProcedure,
                                               sqlElement.RefreshStoredProcedure, sqlElement.RemoveStoredProcedure);

                //find all the exception policies
                NamedElementCollection <ExceptionPolicyData> policies =
                    ExceptionHandlingSettings.GetExceptionHandlingSettings(configurationSource).ExceptionPolicies;

                //find just the one specified
                if (policies != null)
                {
                    ExceptionPolicyData specifiedPolicy = policies.Get(policyName);

                    if (specifiedPolicy != null)
                    {
                        specifiedPolicy.ExceptionTypes.ForEach(delegate(ExceptionTypeData currentExceptionType)
                        {
                            if (currentExceptionType.Type.ToString() == exceptionType)
                            {
                                errorType = PopulateErrorType(policyName, opCoCode, currentExceptionType);
                            }
                        }

                                                               );
                    }
                }
            }
            return(errorType);
        }
        public void CanCreateCategoryFilterFromEmptyCategoryConfiguration()
        {
            var categoryEntries = new NamedElementCollection <CategoryFilterEntry>();
            var filterData      = new CategoryFilterData("category", categoryEntries, CategoryFilterMode.DenyAllExceptAllowed);

            var helper = new MockLogObjectsHelper();

            helper.loggingSettings.LogFilters.Add(filterData);

            ILogFilter filter = GetFilter(filterData.Name, helper.configurationSource);

            Assert.IsNotNull(filter);
            Assert.AreEqual(filter.GetType(), typeof(CategoryFilter));
            Assert.AreEqual(0, ((CategoryFilter)filter).CategoryFilters.Count);
            Assert.AreEqual(CategoryFilterMode.DenyAllExceptAllowed, ((CategoryFilter)filter).CategoryFilterMode);
        }
Beispiel #22
0
        public void AddDropDownListPartForNamedElementCollection <T>(String partName, String keyName, String valueName,
                                                                     NamedElementCollection <T> elements, String defaultElementName, bool allowNone)
            where T : NamedConfigurationElement, new()
        {
            List <AdmDropDownListItem> items = new List <AdmDropDownListItem>();

            if (allowNone)
            {
                items.Add(new AdmDropDownListItem(Resources.NoneListItem, NoneListItem));
            }
            foreach (T element in elements)
            {
                items.Add(new AdmDropDownListItem(element.Name, element.Name));
            }

            AddDropDownListPart(partName, keyName, valueName, items,
                                !String.IsNullOrEmpty(defaultElementName) ? defaultElementName : Resources.NoneListItem);
        }
        public static List <ExceptionPolicyData> GetPolicies()
        {
            List <ExceptionPolicyData> allPolicies = new List <ExceptionPolicyData>();
            //read the config details from file or other source (db) to find the error handling section

            ////find the configuration source section
            //ConfigurationSourceSection section = ConfigurationSourceSection.GetConfigurationSourceSection();

            ////find the selected source where our config sections are stored
            //string selectedSource = section.SelectedSource;
            //NameTypeConfigurationElementCollection<ConfigurationSourceElement> sources = section.Sources;

            //ConfigurationSourceElement element = sources.Get(selectedSource);

            //if (element is SqlConfigurationSourceElement)
            //{
            //    SqlConfigurationSourceElement sqlElement = element as SqlConfigurationSourceElement;

            //    SqlConfigurationSource configurationSource =
            //        new SqlConfigurationSource(sqlElement.ConnectionString, sqlElement.GetStoredProcedure, sqlElement.SetStoredProcedure,
            //                                   sqlElement.RefreshStoredProcedure, sqlElement.RemoveStoredProcedure);

            //find all the exception policies
            NamedElementCollection <ExceptionPolicyData> policies =
                ((ExceptionHandlingSettings)ConfigurationSourceFactory.Create().GetSection("exceptionHandling")).ExceptionPolicies;

            //find just the one specified
            if (policies != null)
            {
                policies.ForEach(delegate(ExceptionPolicyData currentPolicy)
                {
                    allPolicies.Add(currentPolicy);
                }
                                 );
            }
            //}

            allPolicies.Sort(new UniversalComparer <ExceptionPolicyData>("Name"));
            return(allPolicies);
        }
        public void CanReadWrittenFilterConfiguration()
        {
            ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
            fileMap.ExeConfigFilename = "test.exe.config";
            System.Configuration.Configuration rwConfiguration = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
            rwConfiguration.Sections.Remove(LoggingSettings.SectionName);
            LoggingSettings rwLoggingSettings = new LoggingSettings();
            rwConfiguration.Sections.Add(LoggingSettings.SectionName, rwLoggingSettings);

            rwLoggingSettings.LogFilters.Add(new LogEnabledFilterData("enabled", true));

            NamedElementCollection<CategoryFilterEntry> categoryEntries = new NamedElementCollection<CategoryFilterEntry>();
            categoryEntries.Add(new CategoryFilterEntry("foo"));
            categoryEntries.Add(new CategoryFilterEntry("bar"));
            categoryEntries.Add(new CategoryFilterEntry("baz"));
            rwLoggingSettings.LogFilters.Add(new CategoryFilterData("category", categoryEntries, CategoryFilterMode.DenyAllExceptAllowed));

            rwLoggingSettings.LogFilters.Add(new PriorityFilterData("priority", 5));

            File.SetAttributes(fileMap.ExeConfigFilename, FileAttributes.Normal);
            rwConfiguration.Save();

            System.Configuration.Configuration roConfiguration = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
            LoggingSettings roLoggingSettings = (LoggingSettings)roConfiguration.Sections[LoggingSettings.SectionName];
            Assert.AreEqual(3, roLoggingSettings.LogFilters.Count);
            Assert.AreEqual(roLoggingSettings.LogFilters.Get("enabled").GetType(), typeof(LogEnabledFilterData));
            Assert.AreEqual(true, ((LogEnabledFilterData)roLoggingSettings.LogFilters.Get("enabled")).Enabled);
            Assert.AreEqual(roLoggingSettings.LogFilters.Get("category").GetType(), typeof(CategoryFilterData));
            Assert.AreEqual(3, ((CategoryFilterData)roLoggingSettings.LogFilters.Get("category")).CategoryFilters.Count);
            Assert.IsNotNull(((CategoryFilterData)roLoggingSettings.LogFilters.Get("category")).CategoryFilters.Get("foo"));
            Assert.IsNotNull(((CategoryFilterData)roLoggingSettings.LogFilters.Get("category")).CategoryFilters.Get("bar"));
            Assert.IsNotNull(((CategoryFilterData)roLoggingSettings.LogFilters.Get("category")).CategoryFilters.Get("baz"));
            Assert.AreEqual(CategoryFilterMode.DenyAllExceptAllowed, ((CategoryFilterData)roLoggingSettings.LogFilters.Get("category")).CategoryFilterMode);
            Assert.AreEqual(roLoggingSettings.LogFilters.Get("priority").GetType(), typeof(PriorityFilterData));
            Assert.AreEqual(5, ((PriorityFilterData)roLoggingSettings.LogFilters.Get("priority")).MinimumPriority);
        }
        public void CanCreateCategoryFilterFromNonEmptyCategoryConfiguration()
        {
            NamedElementCollection <CategoryFilterEntry> categoryEntries = new NamedElementCollection <CategoryFilterEntry>();

            categoryEntries.Add(new CategoryFilterEntry("category1"));
            categoryEntries.Add(new CategoryFilterEntry("category2"));
            categoryEntries.Add(new CategoryFilterEntry("category3"));
            CategoryFilterData filterData = new CategoryFilterData("category", categoryEntries, CategoryFilterMode.AllowAllExceptDenied);

            MockLogObjectsHelper helper = new MockLogObjectsHelper();

            helper.loggingSettings.LogFilters.Add(filterData);

            ILogFilter filter = GetFilter(filterData.Name, helper.configurationSource);

            Assert.IsNotNull(filter);
            Assert.AreEqual(filter.GetType(), typeof(CategoryFilter));
            Assert.AreEqual(3, ((CategoryFilter)filter).CategoryFilters.Count);
            Assert.IsTrue(((CategoryFilter)filter).CategoryFilters.Contains("category1"));
            Assert.IsTrue(((CategoryFilter)filter).CategoryFilters.Contains("category2"));
            Assert.IsTrue(((CategoryFilter)filter).CategoryFilters.Contains("category3"));
            Assert.IsFalse(((CategoryFilter)filter).CategoryFilters.Contains("category4"));
            Assert.AreEqual(CategoryFilterMode.AllowAllExceptDenied, ((CategoryFilter)filter).CategoryFilterMode);
        }
        protected void AddElementsPolicies <T>(AdmContentBuilder contentBuilder,
                                               NamedElementCollection <T> elements,
                                               IConfigurationSource configurationSource,
                                               String parentKey,
                                               String categoryName)
            where T : NamedConfigurationElement, new()
        {
            contentBuilder.StartCategory(categoryName);

            foreach (T element in elements)
            {
                ConfigurationElementManageabilityProvider subProvider = GetSubProvider(element.GetType());

                if (subProvider != null)
                {
                    AddAdministrativeTemplateDirectivesForElement <T>(contentBuilder,
                                                                      element, subProvider,
                                                                      configurationSource,
                                                                      parentKey);
                }
            }

            contentBuilder.EndCategory();
        }
 public ConfigurationSectionWithANamedElementCollection()
 {
     this[elementPropertyCollection] = new NamedElementCollection<ANamedElementWithTypeProperty>();
 }
Beispiel #28
0
 public ConfigurationSectionWithANamedElementCollection()
 {
     this[elementPropertyCollection] = new NamedElementCollection <ANamedElementWithTypeProperty>();
 }
Beispiel #29
0
 /// <summary>
 /// Initializes a new instance of an <see cref="ExceptionHandlingSettings"/> class.
 /// </summary>
 public ExceptionHandlingSettings()
 {
     this[policiesProperty] = new NamedElementCollection <ExceptionPolicyData>();
 }
 public MockInitializeSection()
 {
     this[childrenProperty] = new NamedElementCollection<MockInitialzeCollectionElement>();
 }
        public void CanCreateCategoryFilterFromNonEmptyCategoryConfiguration()
        {
            NamedElementCollection<CategoryFilterEntry> categoryEntries = new NamedElementCollection<CategoryFilterEntry>();
            categoryEntries.Add(new CategoryFilterEntry("category1"));
            categoryEntries.Add(new CategoryFilterEntry("category2"));
            categoryEntries.Add(new CategoryFilterEntry("category3"));
            CategoryFilterData filterData = new CategoryFilterData("category", categoryEntries, CategoryFilterMode.AllowAllExceptDenied);

            MockLogObjectsHelper helper = new MockLogObjectsHelper();
            helper.loggingSettings.LogFilters.Add(filterData);

            ILogFilter filter = GetFilter(filterData.Name, helper.configurationSource);

            Assert.IsNotNull(filter);
            Assert.AreEqual(filter.GetType(), typeof(CategoryFilter));
            Assert.AreEqual(3, ((CategoryFilter)filter).CategoryFilters.Count);
            Assert.IsTrue(((CategoryFilter)filter).CategoryFilters.Contains("category1"));
            Assert.IsTrue(((CategoryFilter)filter).CategoryFilters.Contains("category2"));
            Assert.IsTrue(((CategoryFilter)filter).CategoryFilters.Contains("category3"));
            Assert.IsFalse(((CategoryFilter)filter).CategoryFilters.Contains("category4"));
            Assert.AreEqual(CategoryFilterMode.AllowAllExceptDenied, ((CategoryFilter)filter).CategoryFilterMode);
        }
 public MockSectionWithSingleChild()
 {
     this[childrenProperty] = new NamedElementCollection<TestHandlerDataWithChildren>();
 }
 internal ConfigBasedFormLoginProvider(NamedElementCollection <ValidLoginConfigurationElement> validLogins)
 {
     _validLogins = validLogins;
 }
 public TestReferencedSection()
 {
     this[referencedItemsProperty] = new NamedElementCollection<ReferencedItemType>();
 }
Beispiel #35
0
 public TestReferencedSection()
 {
     this[referencedItemsProperty] = new NamedElementCollection <ReferencedItemType>();
 }
 /// <summary>
 /// Initializes a new instance of an <see cref="ExceptionHandlingSettings"/> class.
 /// </summary>
 public ExceptionHandlingSettings()
 {
     this[policiesProperty] = new NamedElementCollection<ExceptionPolicyData>();
 }
 public CategoryFilterSettings(CategoryFilterMode categoryFilterMode, NamedElementCollection <CategoryFilterEntry> categoryFilters)
 {
     this.categoryFilterMode = categoryFilterMode;
     this.categoryFilters    = categoryFilters;
 }
 public SectionWithCollectionProperties()
 {
     Children = new NamedElementCollection<ChildConfigurationElement>();
 }
Beispiel #39
0
 /// <summary>
 /// <para>Initialize a new instance of the <see cref="CategoryFilterData"/> class.</para>
 /// </summary>
 /// <param name="categoryFilters">The collection of category names to filter.</param>
 /// <param name="categoryFilterMode">The mode of filtering.</param>
 public CategoryFilterData(NamedElementCollection<CategoryFilterEntry> categoryFilters,
                           CategoryFilterMode categoryFilterMode)
     : this("category", categoryFilters, categoryFilterMode)
 {
 }
        public void CanAddDropDownListPartForConfigurationElementsCollectionAllowingNoneAndEmptyDefault()
        {
            NamedElementCollection<NamedConfigurationElement> collection = new NamedElementCollection<NamedConfigurationElement>();
            collection.Add(new NamedConfigurationElement("name1"));
            collection.Add(new NamedConfigurationElement("name2"));
            collection.Add(new NamedConfigurationElement("name3"));

            AdmContentBuilder builder = new AdmContentBuilder();

            builder.StartCategory("category");
            builder.StartPolicy("policy", "key");
            builder.AddDropDownListPartForNamedElementCollection<NamedConfigurationElement>("part", "value", collection, "", true);
            builder.EndPolicy();
            builder.EndCategory();
            AdmContent content = builder.GetContent();

            IEnumerator<AdmCategory> categoriesEnumerator = content.Categories.GetEnumerator();
            categoriesEnumerator.MoveNext();
            IEnumerator<AdmPolicy> policiesEnumerator = categoriesEnumerator.Current.Policies.GetEnumerator();
            policiesEnumerator.MoveNext();
            IEnumerator<AdmPart> partsEnumerator = policiesEnumerator.Current.Parts.GetEnumerator();
            Assert.IsTrue(partsEnumerator.MoveNext());
            Assert.AreSame(typeof(AdmDropDownListPart), partsEnumerator.Current.GetType());
            Assert.AreEqual("part", ((AdmDropDownListPart)partsEnumerator.Current).PartName);
            Assert.AreEqual(null, ((AdmDropDownListPart)partsEnumerator.Current).KeyName);
            Assert.AreEqual("value", ((AdmDropDownListPart)partsEnumerator.Current).ValueName);
            IEnumerator<AdmDropDownListItem> itemsEnumerator = ((AdmDropDownListPart)partsEnumerator.Current).Items.GetEnumerator();
            Assert.IsTrue(itemsEnumerator.MoveNext());
            Assert.AreEqual(AdmContentBuilder.NoneListItem, itemsEnumerator.Current.Value);
            Assert.IsTrue(itemsEnumerator.MoveNext());
            Assert.AreEqual("name1", itemsEnumerator.Current.Name);
            Assert.IsTrue(itemsEnumerator.MoveNext());
            Assert.AreEqual("name2", itemsEnumerator.Current.Name);
            Assert.IsTrue(itemsEnumerator.MoveNext());
            Assert.AreEqual("name3", itemsEnumerator.Current.Name);
            Assert.IsFalse(itemsEnumerator.MoveNext());
        }
 public CategoryTraceSourceCollectionNodeBuilder(IServiceProvider serviceProvider, NamedElementCollection <TraceSourceData> traceSources, TraceListenerCollectionNode listeners)
     : base(serviceProvider)
 {
     this.traceSources = traceSources;
     this.listeners    = listeners;
 }
 /// <summary>
 /// <para>Initialize a new instance of the <see cref="CategoryFilterData"/> class.</para>
 /// </summary>
 /// <param name="categoryFilters">The collection of category names to filter.</param>
 /// <param name="categoryFilterMode">The mode of filtering.</param>
 public CategoryFilterData(NamedElementCollection <CategoryFilterEntry> categoryFilters,
                           CategoryFilterMode categoryFilterMode)
     : this("category", categoryFilters, categoryFilterMode)
 {
 }
 /// <summary>
 /// Creates a new <c>CategoryFilterSettings</c> object with initial section.
 /// </summary>
 /// <param name="categoryFilterMode">The mode in which to filter.</param>
 /// <param name="categoryFilters">The collection of categories to filter.</param>
 public CategoryFilterSettings(CategoryFilterMode categoryFilterMode, NamedElementCollection<CategoryFilterEntry> categoryFilters)
 {
     this.categoryFilterMode = categoryFilterMode;
     this.categoryFilters = categoryFilters;
 }
Beispiel #44
0
        private void DisplayConfiguration()
        {
            try
            {
                // Get configuration settings for Logging and Instrmentation Application Block.
                // This assumes the configuration source is the SystemConfigurationSource, which
                // is the default setting when the QuickStart ships.
                LoggingSettings settings = LoggingSettings.GetLoggingSettings(new SystemConfigurationSource());

                string defaultCategory = settings.DefaultCategory;

                StringBuilder results = new StringBuilder();

                results.Append("Current Configuration");
                results.Append(Environment.NewLine);
                results.Append("---------------------------------");
                results.Append(Environment.NewLine);
                results.Append(Environment.NewLine);
                results.Append("Default Category: " + settings.DefaultCategory + Environment.NewLine + Environment.NewLine);
                results.Append("Categories and category listeners");
                results.Append(Environment.NewLine);
                results.Append(Environment.NewLine);

                // Grab the list of categories and loop through for display.
                NamedElementCollection <TraceSourceData> sources = settings.TraceSources;

                foreach (TraceSourceData source in sources)
                {
                    results.Append("   " + source.Name);

                    // Flag any of the categories that would be denied based upon
                    // the current category filter configuration.
                    if (!Logger.GetFilter <CategoryFilter>().ShouldLog(source.Name))
                    {
                        results.Append("*");
                    }

                    // Loop through the list of trace listeners for the category.
                    NamedElementCollection <TraceListenerReferenceData> TraceListeners = source.TraceListeners;

                    StringBuilder listener = new StringBuilder();
                    listener.Append("  -  ");
                    foreach (TraceListenerReferenceData listenerData in TraceListeners)
                    {
                        listener.Append(listenerData.Name + ", ");
                    }
                    // Remove trailing comma and space
                    listener.Remove(listener.Length - 2, 2);
                    results.Append(listener.ToString());
                    results.Append(Environment.NewLine);
                }
                results.Append(Environment.NewLine);
                results.Append("   * Events in category will not be logged");

                this.resultsTextBox.Text += results.ToString();
            }
            catch (Exception ex)
            {
                ProcessUnhandledException(ex);
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }
        public TestHandlerDataWithChildren()
        {
            this.Type = typeof(TestHandler);

            this[childrenProperty] = new NamedElementCollection <TestHandlerData>();
        }
Beispiel #46
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ExceptionPolicyData"/> class with a name.
 /// </summary>
 /// <param name="name">
 /// The name of the <see cref="ExceptionPolicyData"/>.
 /// </param>
 public ExceptionPolicyData(string name)
     : base(name)
 {
     this[exceptionTypesProperty] = new NamedElementCollection<ExceptionTypeData>();
 }
        public TestHandlerDataWithChildren()
        {
            this.Type = typeof(TestHandler);

            this[childrenProperty] = new NamedElementCollection<TestHandlerData>();
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="ExceptionPolicyData"/> class with a name.
 /// </summary>
 /// <param name="name">
 /// The name of the <see cref="ExceptionPolicyData"/>.
 /// </param>
 public ExceptionPolicyData(string name)
     : base(name)
 {
     this[exceptionTypesProperty] = new NamedElementCollection <ExceptionTypeData>();
 }
 public CategoryTraceSourceCollectionNodeBuilder(IServiceProvider serviceProvider, NamedElementCollection<TraceSourceData> traceSources, TraceListenerCollectionNode listeners)
     : base(serviceProvider)
 {
     this.traceSources = traceSources;
     this.listeners = listeners;
 }