Exemple #1
0
        protected override void DoConfigure(IConfigSectionNode node)
        {
            if (node == null || !node.Exists)
            {
                node = App.ConfigRoot[DataAccess.Cache.CacheStore.CONFIG_CACHE_SECTION]
                       .Children
                       .FirstOrDefault(s => s.IsSameName(DataAccess.Cache.CacheStore.CONFIG_STORE_SECTION) && s.IsSameNameAttr(Name));
                if (node == null)
                {
                    node = App.ConfigRoot[DataAccess.Cache.CacheStore.CONFIG_CACHE_SECTION]
                           .Children
                           .FirstOrDefault(s => s.IsSameName(DataAccess.Cache.CacheStore.CONFIG_STORE_SECTION) && !s.AttrByName(Configuration.CONFIG_NAME_ATTR).Exists);
                    if (node == null)
                    {
                        return;
                    }
                }
            }

            ConfigAttribute.Apply(this, node);

            m_TableOptions = new Registry <TableOptions>();
            foreach (var tn in node.Children.Where(cn => cn.IsSameName(DataAccess.Cache.CacheStore.CONFIG_TABLE_SECTION)))
            {
                var tbl = new TableOptions(tn);
                m_TableOptions.Register(tbl);
            }

            var dton = node[DEFAULT_TABLE_OPTIONS_SECTION];

            if (dton.Exists)
            {
                m_DefaultTableOptions = new TableOptions(dton, false);
            }

            if (m_Pile.ComponentDirector == this)
            {
                m_Pile.Configure(node[DefaultPile.CONFIG_PILE_SECTION]);
            }
        }