/// <summary> /// Initializes module's properties /// </summary> /// <param name="filePath">The file path.</param> /// <param name="name">The name.</param> /// <returns></returns> private ModuleConfig InternalGetConfig(string filePath, string name) { if (_IsInitialized.ContainsKey(name) && !HasConfigChanged(name)) { return(_Configs[name]); } _Dependencies[name] = new CacheDependency(filePath, DateTime.Now); XmlDocument doc = new XmlDocument(); doc.Load(filePath); XmlNode section = doc.SelectSingleNode("Configuration"); if (section == null) { return(null); } ModuleConfig config = new ModuleConfig(name); XmlNode node = section.SelectSingleNode("Views"); if (node == null) { return(null); } config.Views = ViewManager.CreateViewCollection(config, node); XmlNode settingsNode = section.SelectSingleNode("Settings"); if (settingsNode != null) { config.Settings = SettingManager.CreateSettingsCollection(settingsNode); } // Create ACL XmlNode aclNode = section.SelectSingleNode("Acl"); if (aclNode != null) { config.Acl = new Acl(); config.Acl.Groups = AclManager.CreateAclCollection(config, aclNode); } return(config); }