public SiteMapNodeFactory(
            ISiteMapNodeChildStateFactory siteMapNodeChildStateFactory,
            ILocalizationServiceFactory localizationServiceFactory,
            ISiteMapNodePluginProvider pluginProvider,
            IUrlPath urlPath,
            IMvcContextFactory mvcContextFactory
            )
        {
            if (siteMapNodeChildStateFactory == null)
            {
                throw new ArgumentNullException("siteMapNodeChildStateFactory");
            }
            if (localizationServiceFactory == null)
            {
                throw new ArgumentNullException("localizationServiceFactory");
            }
            if (pluginProvider == null)
            {
                throw new ArgumentNullException("pluginProvider");
            }
            if (urlPath == null)
            {
                throw new ArgumentNullException("urlPath");
            }
            if (mvcContextFactory == null)
            {
                throw new ArgumentNullException("mvcContextFactory");
            }

            this.siteMapNodeChildStateFactory = siteMapNodeChildStateFactory;
            this.localizationServiceFactory   = localizationServiceFactory;
            this.pluginProvider    = pluginProvider;
            this.urlPath           = urlPath;
            this.mvcContextFactory = mvcContextFactory;
        }
Ejemplo n.º 2
0
        public SiteMapNodeUrlKey(
            ISiteMapNode node,
            IUrlPath urlPath
            )
            : base(urlPath)
        {
            if (node == null)
            {
                throw new ArgumentNullException("node");
            }

            this.node = node;

            // Host name in absolute URL overrides this one.
            this.hostName = node.HostName;

            // Fixes #322 - If using a custom URL resolver, we need to account for the case that
            // the URL will be provided by the resolver instead of specified explicitly.
            if (!string.IsNullOrEmpty(node.UnresolvedUrl))
            {
                this.SetUrlValues(node.UnresolvedUrl);
            }
            else if (!node.UsesDefaultUrlResolver())
            {
                // For a custom URL resolver, if the unresolved URL property
                // is not set use the one returned from the URL resolver.
                // This ensures URLs that are unidentifiable by MVC can still
                // be matched by URL.
                this.SetUrlValues(node.Url);
            }
        }
Ejemplo n.º 3
0
        public SiteMapFactory(
            ISiteMapPluginProviderFactory pluginProviderFactory,
            IMvcResolverFactory mvcResolverFactory,
            IMvcContextFactory mvcContextFactory,
            ISiteMapChildStateFactory siteMapChildStateFactory,
            IUrlPath urlPath,
            IControllerTypeResolverFactory controllerTypeResolverFactory,
            IActionMethodParameterResolverFactory actionMethodParameterResolverFactory
            )
        {
            if (pluginProviderFactory == null)
                throw new ArgumentNullException("pluginProviderFactory");
            if (mvcResolverFactory == null)
                throw new ArgumentNullException("mvcResolverFactory");
            if (mvcContextFactory == null)
                throw new ArgumentNullException("mvcContextFactory");
            if (siteMapChildStateFactory == null)
                throw new ArgumentNullException("siteMapChildStateFactory");
            if (urlPath == null)
                throw new ArgumentNullException("urlPath");
            if (controllerTypeResolverFactory == null)
                throw new ArgumentNullException("controllerTypeResolverFactory");
            if (actionMethodParameterResolverFactory == null)
                throw new ArgumentNullException("actionMethodParameterResolverFactory");

            this.pluginProviderFactory = pluginProviderFactory;
            this.mvcResolverFactory = mvcResolverFactory;
            this.mvcContextFactory = mvcContextFactory;
            this.siteMapChildStateFactory = siteMapChildStateFactory;
            this.urlPath = urlPath;
            this.controllerTypeResolverFactory = controllerTypeResolverFactory;
            this.actionMethodParameterResolverFactory = actionMethodParameterResolverFactory;
        }
        public XmlSiteMapResult(
            int page,
            ISiteMapNode rootNode,
            IEnumerable<string> siteMapCacheKeys,
            string baseUrl,
            string siteMapUrlTemplate,
            ISiteMapLoader siteMapLoader,
            IUrlPath urlPath,
            ICultureContextFactory cultureContextFactory)
        {
            if (siteMapLoader == null)
                throw new ArgumentNullException("siteMapLoader");
            if (urlPath == null)
                throw new ArgumentNullException("urlPath");
            if (cultureContextFactory == null)
                throw new ArgumentNullException("cultureContextFactory");

            this.Ns = "http://www.sitemaps.org/schemas/sitemap/0.9";
            this.Page = page;
            this.RootNode = rootNode;
            this.SiteMapCacheKeys = siteMapCacheKeys;
            this.BaseUrl = baseUrl;
            this.SiteMapUrlTemplate = siteMapUrlTemplate;
            this.siteMapLoader = siteMapLoader;
            this.urlPath = urlPath;
            this.cultureContextFactory = cultureContextFactory;
        }
Ejemplo n.º 5
0
        public SiteMap(
            ISiteMapPluginProvider pluginProvider,
            IMvcContextFactory mvcContextFactory,
            ISiteMapChildStateFactory siteMapChildStateFactory,
            IUrlPath urlPath,
            ISiteMapSettings siteMapSettings
            )
        {
            if (pluginProvider == null)
                throw new ArgumentNullException("pluginProvider");
            if (mvcContextFactory == null)
                throw new ArgumentNullException("mvcContextFactory");
            if (siteMapChildStateFactory == null)
                throw new ArgumentNullException("siteMapChildStateFactory");
            if (urlPath == null)
                throw new ArgumentNullException("urlPath");
            if (siteMapSettings == null)
                throw new ArgumentNullException("siteMapSettings");

            this.pluginProvider = pluginProvider;
            this.mvcContextFactory = mvcContextFactory;
            this.siteMapChildStateFactory = siteMapChildStateFactory;
            this.urlPath = urlPath;
            this.siteMapSettings = siteMapSettings;

            // Initialize dictionaries
            this.childNodeCollectionTable = siteMapChildStateFactory.CreateChildNodeCollectionDictionary();
            this.keyTable = siteMapChildStateFactory.CreateKeyDictionary();
            this.parentNodeTable = siteMapChildStateFactory.CreateParentNodeDictionary();
            this.urlTable = siteMapChildStateFactory.CreateUrlDictionary();
        }
        public XmlSiteMapResult(
            int page,
            ISiteMapNode rootNode,
            IEnumerable <string> siteMapCacheKeys,
            string baseUrl,
            string siteMapUrlTemplate,
            ISiteMapLoader siteMapLoader,
            IUrlPath urlPath,
            ICultureContextFactory cultureContextFactory)
        {
            if (siteMapLoader == null)
            {
                throw new ArgumentNullException("siteMapLoader");
            }
            if (urlPath == null)
            {
                throw new ArgumentNullException("urlPath");
            }
            if (cultureContextFactory == null)
            {
                throw new ArgumentNullException("cultureContextFactory");
            }

            this.Ns                    = "http://www.sitemaps.org/schemas/sitemap/0.9";
            this.Page                  = page;
            this.RootNode              = rootNode;
            this.SiteMapCacheKeys      = siteMapCacheKeys;
            this.BaseUrl               = baseUrl;
            this.SiteMapUrlTemplate    = siteMapUrlTemplate;
            this.siteMapLoader         = siteMapLoader;
            this.urlPath               = urlPath;
            this.cultureContextFactory = cultureContextFactory;
        }
        public SiteMapNodeUrlKey(
            ISiteMapNode node,
            IUrlPath urlPath
            )
            : base(urlPath)
        {
            if (node == null)
                throw new ArgumentNullException("node");

            this.node = node;

            // Host name in absolute URL overrides this one.
            this.hostName = node.HostName;

            // Fixes #322 - If using a custom URL resolver, we need to account for the case that
            // the URL will be provided by the resolver instead of specified explicitly.
            if (!string.IsNullOrEmpty(node.UnresolvedUrl))
            {
                this.SetUrlValues(node.UnresolvedUrl);
            }
            else if (!node.UsesDefaultUrlResolver())
            {
                // For a custom URL resolver, if the unresolved URL property
                // is not set use the one returned from the URL resolver.
                // This ensures URLs that are unidentifiable by MVC can still
                // be matched by URL.
                this.SetUrlValues(node.Url);
            }
        }
        public RequestCacheableSiteMapNode(
            ISiteMap siteMap,
            string key,
            bool isDynamic,
            ISiteMapNodePluginProvider pluginProvider,
            IMvcContextFactory mvcContextFactory,
            ISiteMapNodeChildStateFactory siteMapNodeChildStateFactory,
            ILocalizationService localizationService,
            IUrlPath urlPath
            )
            : base(
                siteMap,
                key,
                isDynamic,
                pluginProvider,
                mvcContextFactory,
                siteMapNodeChildStateFactory,
                localizationService,
                urlPath
                )
        {
            if (mvcContextFactory == null)
            {
                throw new ArgumentNullException("mvcContextFactory");
            }

            this.requestCache = mvcContextFactory.GetRequestCache();
        }
        public SiteMapNodeFactory(
            ISiteMapNodeChildStateFactory siteMapNodeChildStateFactory,
            ILocalizationServiceFactory localizationServiceFactory,
            ISiteMapNodePluginProvider pluginProvider,
            IUrlPath urlPath,
            IMvcContextFactory mvcContextFactory
            )
        {
            if (siteMapNodeChildStateFactory == null)
                throw new ArgumentNullException("siteMapNodeChildStateFactory");
            if (localizationServiceFactory == null)
                throw new ArgumentNullException("localizationServiceFactory");
            if (pluginProvider == null)
                throw new ArgumentNullException("pluginProvider");
            if (urlPath == null)
                throw new ArgumentNullException("urlPath");
            if (mvcContextFactory == null)
                throw new ArgumentNullException("mvcContextFactory");

            this.siteMapNodeChildStateFactory = siteMapNodeChildStateFactory;
            this.localizationServiceFactory = localizationServiceFactory;
            this.pluginProvider = pluginProvider;
            this.urlPath = urlPath;
            this.mvcContextFactory = mvcContextFactory;
        }
Ejemplo n.º 10
0
        public UrlKeyBase(
                IUrlPath urlPath
            )
        {
            if (urlPath == null)
                throw new ArgumentNullException("urlPath");

            this.urlPath = urlPath;
        }
 public SiteMapFactoryContainer(
     ConfigurationSettings settings,
     IMvcContextFactory mvcContextFactory,
     IUrlPath urlPath)
 {
     this.settings = settings;
     this.mvcContextFactory = mvcContextFactory;
     this.requestCache = this.mvcContextFactory.GetRequestCache();
     this.urlPath = urlPath;
 }
 public XmlSiteMapResultFactoryContainer(ConfigurationSettings settings)
 {
     var siteMapLoaderContainer = new SiteMapLoaderContainer(settings);
     this.siteMapLoader = siteMapLoaderContainer.ResolveSiteMapLoader();
     this.mvcContextFactory = new MvcContextFactory();
     this.bindingFactory = new BindingFactory();
     this.bindingProvider = new BindingProvider(this.bindingFactory, this.mvcContextFactory);
     this.urlPath = new UrlPath(this.mvcContextFactory, this.bindingProvider);
     this.cultureContextFactory = new CultureContextFactory();
 }
 public SiteMapFactoryContainer(
     ConfigurationSettings settings,
     IMvcContextFactory mvcContextFactory,
     IUrlPath urlPath)
 {
     this.settings          = settings;
     this.mvcContextFactory = mvcContextFactory;
     this.requestCache      = this.mvcContextFactory.GetRequestCache();
     this.urlPath           = urlPath;
 }
Ejemplo n.º 14
0
 public LockableSiteMap(
     ISiteMapPluginProvider pluginProvider,
     IMvcContextFactory mvcContextFactory,
     ISiteMapChildStateFactory siteMapChildStateFactory,
     IUrlPath urlPath,
     ISiteMapSettings siteMapSettings
     )
     : base(pluginProvider, mvcContextFactory, siteMapChildStateFactory, urlPath, siteMapSettings)
 {
 }
Ejemplo n.º 15
0
 public LockableSiteMap(
     ISiteMapPluginProvider pluginProvider,
     IMvcContextFactory mvcContextFactory,
     ISiteMapChildStateFactory siteMapChildStateFactory,
     IUrlPath urlPath,
     ISiteMapSettings siteMapSettings
     )
     : base(pluginProvider, mvcContextFactory, siteMapChildStateFactory, urlPath, siteMapSettings)
 {
 }
Ejemplo n.º 16
0
        public SiteMapNode(
            ISiteMap siteMap,
            string key,
            bool isDynamic,
            ISiteMapNodePluginProvider pluginProvider,
            IMvcContextFactory mvcContextFactory,
            ISiteMapNodeChildStateFactory siteMapNodeChildStateFactory,
            ILocalizationService localizationService,
            IUrlPath urlPath
            )
        {
            if (siteMap == null)
            {
                throw new ArgumentNullException("siteMap");
            }
            if (string.IsNullOrEmpty(key))
            {
                throw new ArgumentNullException("key");
            }
            if (pluginProvider == null)
            {
                throw new ArgumentNullException("pluginProvider");
            }
            if (mvcContextFactory == null)
            {
                throw new ArgumentNullException("mvcContextFactory");
            }
            if (siteMapNodeChildStateFactory == null)
            {
                throw new ArgumentNullException("siteMapNodeChildStateFactory");
            }
            if (localizationService == null)
            {
                throw new ArgumentNullException("localizationService");
            }
            if (urlPath == null)
            {
                throw new ArgumentNullException("urlPath");
            }

            this.siteMap             = siteMap;
            this.key                 = key;
            this.isDynamic           = isDynamic;
            this.pluginProvider      = pluginProvider;
            this.mvcContextFactory   = mvcContextFactory;
            this.localizationService = localizationService;
            this.urlPath             = urlPath;

            // Initialize child collections
            this.attributes  = siteMapNodeChildStateFactory.CreateAttributeDictionary(siteMap, localizationService);
            this.routeValues = siteMapNodeChildStateFactory.CreateRouteValueDictionary(siteMap);
            this.preservedRouteParameters = siteMapNodeChildStateFactory.CreatePreservedRouteParameterCollection(siteMap);
            this.roles            = siteMapNodeChildStateFactory.CreateRoleCollection(siteMap);
            this.metaRobotsValues = siteMapNodeChildStateFactory.CreateMetaRobotsValueCollection(siteMap);
        }
Ejemplo n.º 17
0
        public UrlKeyBase(
            IUrlPath urlPath
            )
        {
            if (urlPath == null)
            {
                throw new ArgumentNullException("urlPath");
            }

            this.urlPath = urlPath;
        }
 public XmlSiteMapResultFactory(
     ISiteMapLoader siteMapLoader,
     IUrlPath urlPath
     )
 {
     if (siteMapLoader == null)
         throw new ArgumentNullException("siteMapLoader");
     if (urlPath == null)
         throw new ArgumentNullException("urlPath");
     this.siteMapLoader = siteMapLoader;
     this.urlPath = urlPath;
 }
        public SiteMapNodeUrlResolver(
            IMvcContextFactory mvcContextFactory,
            IUrlPath urlPath
            )
        {
            if (mvcContextFactory == null)
                throw new ArgumentNullException("mvcContextFactory");
            if (urlPath == null)
                throw new ArgumentNullException("urlPath");

            this.mvcContextFactory = mvcContextFactory;
            this.urlPath = urlPath;
        }
 public SiteMapNodeFactoryContainer(
     ConfigurationSettings settings,
     IMvcContextFactory mvcContextFactory,
     IUrlPath urlPath)
 {
     this.absoluteFileName = HostingEnvironment.MapPath(settings.SiteMapFileName);
     this.settings = settings;
     this.mvcContextFactory = mvcContextFactory;
     this.requestCache = this.mvcContextFactory.GetRequestCache();
     this.urlPath = urlPath;
     this.dynamicNodeProviders = this.ResolveDynamicNodeProviders();
     this.siteMapNodeUrlResolvers = this.ResolveSiteMapNodeUrlResolvers();
     this.siteMapNodeVisibilityProviders = this.ResolveSiteMapNodeVisibilityProviders(settings.DefaultSiteMapNodeVisibiltyProvider);
 }
Ejemplo n.º 21
0
 public SiteMapNodeFactoryContainer(
     ConfigurationSettings settings,
     IMvcContextFactory mvcContextFactory,
     IUrlPath urlPath)
 {
     this.absoluteFileName               = HostingEnvironment.MapPath(settings.SiteMapFileName);
     this.settings                       = settings;
     this.mvcContextFactory              = mvcContextFactory;
     this.requestCache                   = this.mvcContextFactory.GetRequestCache();
     this.urlPath                        = urlPath;
     this.dynamicNodeProviders           = this.ResolveDynamicNodeProviders();
     this.siteMapNodeUrlResolvers        = this.ResolveSiteMapNodeUrlResolvers();
     this.siteMapNodeVisibilityProviders = this.ResolveSiteMapNodeVisibilityProviders(settings.DefaultSiteMapNodeVisibiltyProvider);
 }
Ejemplo n.º 22
0
        public RequestUrlKey(
            string relativeOrAbsoluteUrl,
            string hostName,
            IUrlPath urlPath
            )
            : base(urlPath)
        {
            if (string.IsNullOrEmpty(relativeOrAbsoluteUrl))
                throw new ArgumentNullException("relativeOrAbsoluteUrl");

            // Host name in absolute URL overrides this one.
            this.hostName = hostName;
            this.SetUrlValues(relativeOrAbsoluteUrl);
        }
        public RequestCacheableSiteMap(
            ISiteMapPluginProvider pluginProvider,
            IMvcContextFactory mvcContextFactory,
            ISiteMapChildStateFactory siteMapChildStateFactory,
            IUrlPath urlPath,
            ISiteMapSettings siteMapSettings,
            IRequestCache requestCache
            )
            : base(pluginProvider, mvcContextFactory, siteMapChildStateFactory, urlPath, siteMapSettings)
        {
            if (requestCache == null)
                throw new ArgumentNullException("requestCache");

            this.requestCache = requestCache;
        }
        public SiteMapNodeUrlKey(
            ISiteMapNode node,
            IUrlPath urlPath
            )
            : base(urlPath)
        {
            if (node == null)
                throw new ArgumentNullException("node");

            this.node = node;

            // Host name in absolute URL overrides this one.
            this.hostName = node.HostName;
            this.SetUrlValues(node.UnresolvedUrl);
        }
Ejemplo n.º 25
0
 public XmlSiteMapResultFactory(
     ISiteMapLoader siteMapLoader,
     IUrlPath urlPath
     )
 {
     if (siteMapLoader == null)
     {
         throw new ArgumentNullException("siteMapLoader");
     }
     if (urlPath == null)
     {
         throw new ArgumentNullException("urlPath");
     }
     this.siteMapLoader = siteMapLoader;
     this.urlPath       = urlPath;
 }
 public SiteMapNodeFactoryContainer(
     ConfigurationSettings settings,
     IMvcContextFactory mvcContextFactory,
     IUrlPath urlPath)
 {
     this.absoluteFileName = HostingEnvironment.MapPath(settings.SiteMapFileName);
     this.settings = settings;
     this.mvcContextFactory = mvcContextFactory;
     this.requestCache = this.mvcContextFactory.GetRequestCache();
     this.urlPath = urlPath;
     this.assemblyProvider = new AttributeAssemblyProvider(settings.IncludeAssembliesForScan, settings.ExcludeAssembliesForScan);
     this.mvcSiteMapNodeAttributeProvider = new MvcSiteMapNodeAttributeDefinitionProvider();
     this.dynamicNodeProviders = this.ResolveDynamicNodeProviders();
     this.siteMapNodeUrlResolvers = this.ResolveSiteMapNodeUrlResolvers();
     this.siteMapNodeVisibilityProviders = this.ResolveSiteMapNodeVisibilityProviders(settings.DefaultSiteMapNodeVisibiltyProvider);
 }
Ejemplo n.º 27
0
        public RequestUrlKey(
            string relativeOrAbsoluteUrl,
            string hostName,
            IUrlPath urlPath
            )
            : base(urlPath)
        {
            if (string.IsNullOrEmpty(relativeOrAbsoluteUrl))
            {
                throw new ArgumentNullException("relativeOrAbsoluteUrl");
            }

            // Host name in absolute URL overrides this one.
            this.hostName = hostName;
            this.SetUrlValues(relativeOrAbsoluteUrl);
        }
 public SiteMapNodeFactoryContainer(
     ConfigurationSettings settings,
     IMvcContextFactory mvcContextFactory,
     IUrlPath urlPath)
 {
     this.absoluteFileName  = HostingEnvironment.MapPath(settings.SiteMapFileName);
     this.settings          = settings;
     this.mvcContextFactory = mvcContextFactory;
     this.requestCache      = this.mvcContextFactory.GetRequestCache();
     this.urlPath           = urlPath;
     this.assemblyProvider  = new AttributeAssemblyProvider(settings.IncludeAssembliesForScan, settings.ExcludeAssembliesForScan);
     this.mvcSiteMapNodeAttributeProvider = new MvcSiteMapNodeAttributeDefinitionProvider();
     this.dynamicNodeProviders            = this.ResolveDynamicNodeProviders();
     this.siteMapNodeUrlResolvers         = this.ResolveSiteMapNodeUrlResolvers();
     this.siteMapNodeVisibilityProviders  = this.ResolveSiteMapNodeVisibilityProviders(settings.DefaultSiteMapNodeVisibiltyProvider);
 }
Ejemplo n.º 29
0
        public SiteMapFactory(
            ISiteMapPluginProviderFactory pluginProviderFactory,
            IMvcResolverFactory mvcResolverFactory,
            IMvcContextFactory mvcContextFactory,
            ISiteMapChildStateFactory siteMapChildStateFactory,
            IUrlPath urlPath,
            IControllerTypeResolverFactory controllerTypeResolverFactory,
            IActionMethodParameterResolverFactory actionMethodParameterResolverFactory
            )
        {
            if (pluginProviderFactory == null)
            {
                throw new ArgumentNullException("pluginProviderFactory");
            }
            if (mvcResolverFactory == null)
            {
                throw new ArgumentNullException("mvcResolverFactory");
            }
            if (mvcContextFactory == null)
            {
                throw new ArgumentNullException("mvcContextFactory");
            }
            if (siteMapChildStateFactory == null)
            {
                throw new ArgumentNullException("siteMapChildStateFactory");
            }
            if (urlPath == null)
            {
                throw new ArgumentNullException("urlPath");
            }
            if (controllerTypeResolverFactory == null)
            {
                throw new ArgumentNullException("controllerTypeResolverFactory");
            }
            if (actionMethodParameterResolverFactory == null)
            {
                throw new ArgumentNullException("actionMethodParameterResolverFactory");
            }

            this.pluginProviderFactory    = pluginProviderFactory;
            this.mvcResolverFactory       = mvcResolverFactory;
            this.mvcContextFactory        = mvcContextFactory;
            this.siteMapChildStateFactory = siteMapChildStateFactory;
            this.urlPath = urlPath;
            this.controllerTypeResolverFactory        = controllerTypeResolverFactory;
            this.actionMethodParameterResolverFactory = actionMethodParameterResolverFactory;
        }
Ejemplo n.º 30
0
        public SiteMapNodeUrlResolver(
            IMvcContextFactory mvcContextFactory,
            IUrlPath urlPath
            )
        {
            if (mvcContextFactory == null)
            {
                throw new ArgumentNullException("mvcContextFactory");
            }
            if (urlPath == null)
            {
                throw new ArgumentNullException("urlPath");
            }

            this.mvcContextFactory = mvcContextFactory;
            this.urlPath           = urlPath;
        }
Ejemplo n.º 31
0
        public RequestCacheableSiteMap(
            ISiteMapPluginProvider pluginProvider,
            IMvcContextFactory mvcContextFactory,
            ISiteMapChildStateFactory siteMapChildStateFactory,
            IUrlPath urlPath,
            ISiteMapSettings siteMapSettings,
            IRequestCache requestCache
            )
            : base(pluginProvider, mvcContextFactory, siteMapChildStateFactory, urlPath, siteMapSettings)
        {
            if (requestCache == null)
            {
                throw new ArgumentNullException("requestCache");
            }

            this.requestCache = requestCache;
        }
        public XmlSiteMapResultFactory(
            ISiteMapLoader siteMapLoader,
            IUrlPath urlPath,
            ICultureContextFactory cultureContextFactory
            )
        {
            if (siteMapLoader == null)
                throw new ArgumentNullException("siteMapLoader");
            if (urlPath == null)
                throw new ArgumentNullException("urlPath");
            if (cultureContextFactory == null)
                throw new ArgumentNullException("cultureContextFactory");

            this.siteMapLoader = siteMapLoader;
            this.urlPath = urlPath;
            this.cultureContextFactory = cultureContextFactory;
        }
Ejemplo n.º 33
0
        public SiteMapNodeUrlKey(
            ISiteMapNode node,
            IUrlPath urlPath
            )
            : base(urlPath)
        {
            if (node == null)
            {
                throw new ArgumentNullException("node");
            }

            this.node = node;

            // Host name in absolute URL overrides this one.
            this.hostName = node.HostName;
            this.SetUrlValues(node.UnresolvedUrl);
        }
 public LockableSiteMapNode(
     ISiteMap siteMap,
     string key,
     bool isDynamic,
     ISiteMapNodePluginProvider pluginProvider,
     IMvcContextFactory mvcContextFactory,
     ISiteMapNodeChildStateFactory siteMapNodeChildStateFactory,
     ILocalizationService localizationService,
     IUrlPath urlPath
     )
     : base(siteMap, 
         key, 
         isDynamic,
         pluginProvider,
         mvcContextFactory,
         siteMapNodeChildStateFactory, 
         localizationService, 
         urlPath)
 {
 }
Ejemplo n.º 35
0
        public SiteMap(
            ISiteMapPluginProvider pluginProvider,
            IMvcContextFactory mvcContextFactory,
            ISiteMapChildStateFactory siteMapChildStateFactory,
            IUrlPath urlPath,
            ISiteMapSettings siteMapSettings
            )
        {
            if (pluginProvider == null)
            {
                throw new ArgumentNullException("pluginProvider");
            }
            if (mvcContextFactory == null)
            {
                throw new ArgumentNullException("mvcContextFactory");
            }
            if (siteMapChildStateFactory == null)
            {
                throw new ArgumentNullException("siteMapChildStateFactory");
            }
            if (urlPath == null)
            {
                throw new ArgumentNullException("urlPath");
            }
            if (siteMapSettings == null)
            {
                throw new ArgumentNullException("siteMapSettings");
            }

            this.pluginProvider           = pluginProvider;
            this.mvcContextFactory        = mvcContextFactory;
            this.siteMapChildStateFactory = siteMapChildStateFactory;
            this.urlPath         = urlPath;
            this.siteMapSettings = siteMapSettings;

            // Initialize dictionaries
            this.childNodeCollectionTable = siteMapChildStateFactory.CreateChildNodeCollectionDictionary();
            this.keyTable        = siteMapChildStateFactory.CreateKeyDictionary();
            this.parentNodeTable = siteMapChildStateFactory.CreateParentNodeDictionary();
            this.urlTable        = siteMapChildStateFactory.CreateUrlDictionary();
        }
Ejemplo n.º 36
0
        public SiteMapNode(
            ISiteMap siteMap, 
            string key,
            bool isDynamic,
            ISiteMapNodePluginProvider pluginProvider,
            IMvcContextFactory mvcContextFactory,
            ISiteMapNodeChildStateFactory siteMapNodeChildStateFactory,
            ILocalizationService localizationService,
            IUrlPath urlPath
            )
        {
            if (siteMap == null)
                throw new ArgumentNullException("siteMap");
            if (string.IsNullOrEmpty(key))
                throw new ArgumentNullException("key");
            if (pluginProvider == null)
                throw new ArgumentNullException("pluginProvider");
            if (mvcContextFactory == null)
                throw new ArgumentNullException("mvcContextFactory");
            if (siteMapNodeChildStateFactory == null)
                throw new ArgumentNullException("siteMapNodeChildStateFactory");
            if (localizationService == null)
                throw new ArgumentNullException("localizationService");
            if (urlPath == null)
                throw new ArgumentNullException("urlPath");

            this.siteMap = siteMap;
            this.key = key;
            this.isDynamic = isDynamic;
            this.pluginProvider = pluginProvider;
            this.mvcContextFactory = mvcContextFactory;
            this.localizationService = localizationService;
            this.urlPath = urlPath;

            // Initialize child collections
            this.attributes = siteMapNodeChildStateFactory.CreateAttributeDictionary(key, "Attributes", siteMap, localizationService);
            this.routeValues = siteMapNodeChildStateFactory.CreateRouteValueDictionary(key, "RouteValues", siteMap);
            this.preservedRouteParameters = siteMapNodeChildStateFactory.CreatePreservedRouteParameterCollection(siteMap);
            this.roles = siteMapNodeChildStateFactory.CreateRoleCollection(siteMap);
            this.metaRobotsValues = siteMapNodeChildStateFactory.CreateMetaRobotsValueCollection(siteMap);
        }
 public SiteMapLoaderContainer(ConfigurationSettings settings)
 {
     // Singleton instances
     if (settings.EnableSiteMapFile)
     {
         this.absoluteFileName = HostingEnvironment.MapPath(settings.SiteMapFileName);
     }
     this.mvcContextFactory = new MvcContextFactory();
     #if NET35
     this.siteMapCache = new SiteMapCache(new AspNetCacheProvider<ISiteMap>(this.mvcContextFactory));
     #else
     this.siteMapCache = new SiteMapCache(new RuntimeCacheProvider<ISiteMap>(System.Runtime.Caching.MemoryCache.Default));
     #endif
     this.cacheDependency = this.ResolveCacheDependency(settings);
     this.requestCache = this.mvcContextFactory.GetRequestCache();
     this.bindingFactory = new BindingFactory();
     this.bindingProvider = new BindingProvider(this.bindingFactory, this.mvcContextFactory);
     this.urlPath = new UrlPath(this.mvcContextFactory, this.bindingProvider);
     this.siteMapCacheKeyGenerator = new SiteMapCacheKeyGenerator(this.mvcContextFactory);
     this.siteMapCacheKeyToBuilderSetMapper = new SiteMapCacheKeyToBuilderSetMapper();
     this.reservedAttributeNameProvider = new ReservedAttributeNameProvider(settings.AttributesToIgnore);
     var siteMapNodeFactoryContainer = new SiteMapNodeFactoryContainer(settings, this.mvcContextFactory, this.urlPath, this.reservedAttributeNameProvider);
     this.siteMapNodeToParentRelationFactory = new SiteMapNodeToParentRelationFactory();
     this.nodeKeyGenerator = new NodeKeyGenerator();
     this.siteMapNodeFactory = siteMapNodeFactoryContainer.ResolveSiteMapNodeFactory();
     this.siteMapNodeCreatorFactory = this.ResolveSiteMapNodeCreatorFactory();
     this.cultureContextFactory = new CultureContextFactory();
     this.dynamicSiteMapNodeBuilderFactory = new DynamicSiteMapNodeBuilderFactory(this.siteMapNodeCreatorFactory, this.cultureContextFactory);
     this.siteMapHierarchyBuilder = new SiteMapHierarchyBuilder();
     this.siteMapNodeHelperFactory = this.ResolveSiteMapNodeHelperFactory();
     this.siteMapNodeVisitor = this.ResolveSiteMapNodeVisitor(settings);
     this.siteMapXmlNameProvider = new SiteMapXmlNameProvider();
     this.attributeAssemblyProviderFactory = new AttributeAssemblyProviderFactory();
     this.mvcSiteMapNodeAttributeDefinitionProvider = new MvcSiteMapNodeAttributeDefinitionProvider();
     this.siteMapNodeProvider = this.ResolveSiteMapNodeProvider(settings);
     this.siteMapBuiderSetStrategy = this.ResolveSiteMapBuilderSetStrategy(settings);
     var siteMapFactoryContainer = new SiteMapFactoryContainer(settings, this.mvcContextFactory, this.urlPath);
     this.siteMapFactory = siteMapFactoryContainer.ResolveSiteMapFactory();
     this.siteMapCreator = new SiteMapCreator(this.siteMapCacheKeyToBuilderSetMapper, this.siteMapBuiderSetStrategy, this.siteMapFactory);
 }
Ejemplo n.º 38
0
 public LockableSiteMapNode(
     ISiteMap siteMap,
     string key,
     bool isDynamic,
     ISiteMapNodePluginProvider pluginProvider,
     IMvcContextFactory mvcContextFactory,
     ISiteMapNodeChildStateFactory siteMapNodeChildStateFactory,
     ILocalizationService localizationService,
     IUrlPath urlPath
     )
     : base(
         siteMap,
         key,
         isDynamic,
         pluginProvider,
         mvcContextFactory,
         siteMapNodeChildStateFactory,
         localizationService,
         urlPath
         )
 {
 }
        public XmlSiteMapResultFactory(
            ISiteMapLoader siteMapLoader,
            IUrlPath urlPath,
            ICultureContextFactory cultureContextFactory
            )
        {
            if (siteMapLoader == null)
            {
                throw new ArgumentNullException("siteMapLoader");
            }
            if (urlPath == null)
            {
                throw new ArgumentNullException("urlPath");
            }
            if (cultureContextFactory == null)
            {
                throw new ArgumentNullException("cultureContextFactory");
            }

            this.siteMapLoader         = siteMapLoader;
            this.urlPath               = urlPath;
            this.cultureContextFactory = cultureContextFactory;
        }
 public SiteMapNodeFactoryContainer(
     ConfigurationSettings settings,
     IMvcContextFactory mvcContextFactory,
     IUrlPath urlPath,
     IReservedAttributeNameProvider reservedAttributeNameProvider)
 {
     if (settings.EnableSiteMapFile)
     {
         this.absoluteFileName = HostingEnvironment.MapPath(settings.SiteMapFileName);
     }
     this.settings = settings;
     this.mvcContextFactory = mvcContextFactory;
     this.requestCache = this.mvcContextFactory.GetRequestCache();
     this.urlPath = urlPath;
     this.reservedAttributeNameProvider = reservedAttributeNameProvider;
     this.javaScriptSerializer = new JavaScriptSerializerAdapter();
     this.jsonToDictionaryDeserializer = new JsonToDictionaryDeserializer(this.javaScriptSerializer, this.mvcContextFactory);
     this.assemblyProvider = new AttributeAssemblyProvider(settings.IncludeAssembliesForScan, settings.ExcludeAssembliesForScan);
     this.mvcSiteMapNodeAttributeProvider = new MvcSiteMapNodeAttributeDefinitionProvider();
     this.dynamicNodeProviders = this.ResolveDynamicNodeProviders();
     this.siteMapNodeUrlResolvers = this.ResolveSiteMapNodeUrlResolvers();
     this.siteMapNodeVisibilityProviders = this.ResolveSiteMapNodeVisibilityProviders(settings.DefaultSiteMapNodeVisibiltyProvider);
 }
 public SiteMapNodeFactoryContainer(
     ConfigurationSettings settings,
     IMvcContextFactory mvcContextFactory,
     IUrlPath urlPath,
     IReservedAttributeNameProvider reservedAttributeNameProvider)
 {
     if (settings.EnableSiteMapFile)
     {
         this.absoluteFileName = HostingEnvironment.MapPath(settings.SiteMapFileName);
     }
     this.settings                        = settings;
     this.mvcContextFactory               = mvcContextFactory;
     this.requestCache                    = this.mvcContextFactory.GetRequestCache();
     this.urlPath                         = urlPath;
     this.reservedAttributeNameProvider   = reservedAttributeNameProvider;
     this.javaScriptSerializer            = new JavaScriptSerializerAdapter();
     this.jsonToDictionaryDeserializer    = new JsonToDictionaryDeserializer(this.javaScriptSerializer, this.mvcContextFactory);
     this.assemblyProvider                = new AttributeAssemblyProvider(settings.IncludeAssembliesForScan, settings.ExcludeAssembliesForScan);
     this.mvcSiteMapNodeAttributeProvider = new MvcSiteMapNodeAttributeDefinitionProvider();
     this.dynamicNodeProviders            = this.ResolveDynamicNodeProviders();
     this.siteMapNodeUrlResolvers         = this.ResolveSiteMapNodeUrlResolvers();
     this.siteMapNodeVisibilityProviders  = this.ResolveSiteMapNodeVisibilityProviders(settings.DefaultSiteMapNodeVisibiltyProvider);
 }
 public SiteMapLoaderContainer(ConfigurationSettings settings)
 {
     // Singleton instances
     this.absoluteFileName = HostingEnvironment.MapPath(settings.SiteMapFileName);
     this.mvcContextFactory = new MvcContextFactory();
     #if NET35
     this.siteMapCache = new SiteMapCache(new AspNetCacheProvider<ISiteMap>(this.mvcContextFactory));
     #else
     this.siteMapCache = new SiteMapCache(new RuntimeCacheProvider<ISiteMap>(System.Runtime.Caching.MemoryCache.Default));
     #endif
     this.requestCache = this.mvcContextFactory.GetRequestCache();
     this.urlPath = new UrlPath(this.mvcContextFactory);
     this.siteMapCacheKeyGenerator = new SiteMapCacheKeyGenerator(this.mvcContextFactory);
     this.siteMapCacheKeyToBuilderSetMapper = new SiteMapCacheKeyToBuilderSetMapper();
     this.nodeKeyGenerator = new NodeKeyGenerator();
     var siteMapNodeFactoryContainer = new SiteMapNodeFactoryContainer(settings, this.mvcContextFactory, this.urlPath);
     this.siteMapNodeFactory = siteMapNodeFactoryContainer.ResolveSiteMapNodeFactory();
     this.siteMapXmlNameProvider = new SiteMapXmlNameProvider();
     this.dynamicNodeBuilder = new DynamicNodeBuilder(this.nodeKeyGenerator, this.siteMapNodeFactory);
     this.siteMapBuiderSetStrategy = this.ResolveSiteMapBuilderSetStrategy(settings);
     var siteMapFactoryContainer = new SiteMapFactoryContainer(settings, this.mvcContextFactory, this.urlPath);
     this.siteMapFactory = siteMapFactoryContainer.ResolveSiteMapFactory();
     this.siteMapCreator = new SiteMapCreator(this.siteMapCacheKeyToBuilderSetMapper, this.siteMapBuiderSetStrategy, this.siteMapFactory);
 }
 public SiteMapResolveUrl(IMvcContextFactory mvcContextFactory, IUrlPath urlPath)
     : base(mvcContextFactory, urlPath)
 {
 }
 public UpperCaseSiteMapNodeUrlResolver(IMvcContextFactory mvcContextFactory, IUrlPath urlPath) 
     : base(mvcContextFactory, urlPath)
 {
 }
 public XmlSiteMapResultFactoryContainer(ConfigurationSettings settings)
 {
     var siteMapLoaderContainer = new SiteMapLoaderContainer(settings);
     this.siteMapLoader = siteMapLoaderContainer.ResolveSiteMapLoader();
     this.urlPath = new UrlPath(new MvcContextFactory());
 }
 public UpperCaseSiteMapNodeUrlResolver(IMvcContextFactory mvcContextFactory, IUrlPath urlPath)
     : base(mvcContextFactory, urlPath)
 {
 }
 public SiteMapResolveUrl(IMvcContextFactory mvcContextFactory, IUrlPath urlPath)
     : base(mvcContextFactory, urlPath)
 {
 }