public SiteMapBuilder( ISiteMapNodeProvider siteMapNodeProvider, ISiteMapNodeVisitor siteMapNodeVisitor, ISiteMapHierarchyBuilder siteMapHierarchyBuilder, ISiteMapNodeHelperFactory siteMapNodeHelperFactory, ICultureContextFactory cultureContextFactory ) { if (siteMapNodeProvider == null) throw new ArgumentNullException("siteMapNodeProvider"); if (siteMapNodeVisitor == null) throw new ArgumentNullException("siteMapNodeVisitor"); if (siteMapHierarchyBuilder == null) throw new ArgumentNullException("siteMapHierarchyBuilder"); if (siteMapNodeHelperFactory == null) throw new ArgumentNullException("siteMapNodeHelperFactory"); if (cultureContextFactory == null) throw new ArgumentNullException("cultureContextFactory"); this.siteMapNodeProvider = siteMapNodeProvider; this.siteMapHierarchyBuilder = siteMapHierarchyBuilder; this.siteMapNodeHelperFactory = siteMapNodeHelperFactory; this.siteMapNodeVisitor = siteMapNodeVisitor; this.cultureContextFactory = cultureContextFactory; }
public SiteMapBuilder( ISiteMapNodeProvider siteMapNodeProvider, ISiteMapNodeVisitor siteMapNodeVisitor, ISiteMapHierarchyBuilder siteMapHierarchyBuilder, ISiteMapNodeHelperFactory siteMapNodeHelperFactory, ICultureContextFactory cultureContextFactory ) { if (siteMapNodeProvider == null) { throw new ArgumentNullException("siteMapNodeProvider"); } if (siteMapNodeVisitor == null) { throw new ArgumentNullException("siteMapNodeVisitor"); } if (siteMapHierarchyBuilder == null) { throw new ArgumentNullException("siteMapHierarchyBuilder"); } if (siteMapNodeHelperFactory == null) { throw new ArgumentNullException("siteMapNodeHelperFactory"); } if (cultureContextFactory == null) { throw new ArgumentNullException("cultureContextFactory"); } this.siteMapNodeProvider = siteMapNodeProvider; this.siteMapHierarchyBuilder = siteMapHierarchyBuilder; this.siteMapNodeHelperFactory = siteMapNodeHelperFactory; this.siteMapNodeVisitor = siteMapNodeVisitor; this.cultureContextFactory = cultureContextFactory; }
public SiteMapBuilder( ISiteMapNodeProvider siteMapNodeProvider, ISiteMapNodeVisitor siteMapNodeVisitor, ISiteMapHierarchyBuilder siteMapHierarchyBuilder, ISiteMapCacheKeyGenerator siteMapCacheKeyGenerator, ISiteMapNodeHelperFactory siteMapNodeHelperFactory ) { if (siteMapNodeProvider == null) { throw new ArgumentNullException("siteMapNodeProvider"); } if (siteMapNodeVisitor == null) { throw new ArgumentNullException("siteMapNodeVisitor"); } if (siteMapHierarchyBuilder == null) { throw new ArgumentNullException("siteMapHierarchyBuilder"); } if (siteMapCacheKeyGenerator == null) { throw new ArgumentNullException("siteMapCacheKeyGenerator"); } if (siteMapNodeHelperFactory == null) { throw new ArgumentNullException("siteMapNodeHelperFactory"); } this.siteMapNodeProvider = siteMapNodeProvider; this.siteMapHierarchyBuilder = siteMapHierarchyBuilder; this.siteMapCacheKeyGenerator = siteMapCacheKeyGenerator; this.siteMapNodeHelperFactory = siteMapNodeHelperFactory; this.siteMapNodeVisitor = siteMapNodeVisitor; }
public SiteMapBuilder( ISiteMapNodeProvider siteMapNodeProvider, ISiteMapNodeVisitor siteMapNodeVisitor, ISiteMapHierarchyBuilder siteMapHierarchyBuilder, ISiteMapCacheKeyGenerator siteMapCacheKeyGenerator, ISiteMapNodeHelperFactory siteMapNodeHelperFactory ) { if (siteMapNodeProvider == null) throw new ArgumentNullException("siteMapNodeProvider"); if (siteMapNodeVisitor == null) throw new ArgumentNullException("siteMapNodeVisitor"); if (siteMapHierarchyBuilder == null) throw new ArgumentNullException("siteMapHierarchyBuilder"); if (siteMapCacheKeyGenerator == null) throw new ArgumentNullException("siteMapCacheKeyGenerator"); if (siteMapNodeHelperFactory == null) throw new ArgumentNullException("siteMapNodeHelperFactory"); this.siteMapNodeProvider = siteMapNodeProvider; this.siteMapHierarchyBuilder = siteMapHierarchyBuilder; this.siteMapCacheKeyGenerator = siteMapCacheKeyGenerator; this.siteMapNodeHelperFactory = siteMapNodeHelperFactory; this.siteMapNodeVisitor = siteMapNodeVisitor; }
public virtual ISiteMapBuilder Create(ISiteMapNodeProvider siteMapNodeProvider) { return(new SiteMapBuilder( siteMapNodeProvider, this.siteMapNodeVisitor, this.siteMapHierarchyBuilder, this.siteMapCacheKeyGenerator, this.siteMapNodeHelperFactory)); }
public virtual ISiteMapBuilder Create(ISiteMapNodeProvider siteMapNodeProvider) { return new SiteMapBuilder( siteMapNodeProvider, this.siteMapNodeVisitor, this.siteMapHierarchyBuilder, this.siteMapNodeHelperFactory, this.cultureContextFactory); }
public virtual ISiteMapBuilder Create(ISiteMapNodeProvider siteMapNodeProvider) { return(new SiteMapBuilder( siteMapNodeProvider, this.siteMapNodeVisitor, this.siteMapHierarchyBuilder, this.siteMapNodeHelperFactory, this.cultureContextFactory)); }
public virtual ISiteMapBuilder Create(ISiteMapNodeProvider siteMapNodeProvider) { return new SiteMapBuilder( siteMapNodeProvider, this.siteMapNodeVisitor, this.siteMapHierarchyBuilder, this.siteMapCacheKeyGenerator, this.siteMapNodeHelperFactory); }
public SiteMap BuildSiteMap(ISiteMapBuilderSet builderSet, string cacheKey) { if (builderSet == null) { throw new ArgumentNullException(nameof(builderSet)); } ISiteMapNodeProvider siteMapNodeProvider = null; var xmlDataSource = builderSet.DataSource as ISiteMapXmlDataSource; if (xmlDataSource != null) { siteMapNodeProvider = xmlSiteMapNodeProvider; if (siteMapNodeProvider == null) { throw new Exception($"Provider of type {NodeProviderType.Xml} is not registered."); } } var jsonDataSource = builderSet.DataSource as ISiteMapJSONDataSource; if (jsonDataSource != null) { siteMapNodeProvider = jsonSiteMapNodeProvider; if (siteMapNodeProvider == null) { throw new Exception($"Provider of type {NodeProviderType.Json} is not registered."); } } if (siteMapNodeProvider == null) { throw new Exception("No supported provider found."); } var siteMapNodes = siteMapNodeProvider.GetSiteMapNodes(builderSet.DataSource).ToList(); // resolve other information regarding the sitemap nodes siteMapNodes.ForEach(ResolveUrl); return(new SiteMap { CacheKey = cacheKey ?? builderSet.BuilderSetName, Nodes = siteMapNodes }); }
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.urlPath = new UrlPath(this.mvcContextFactory); this.siteMapCacheKeyGenerator = new SiteMapCacheKeyGenerator(this.mvcContextFactory); this.siteMapCacheKeyToBuilderSetMapper = new SiteMapCacheKeyToBuilderSetMapper(); var siteMapNodeFactoryContainer = new SiteMapNodeFactoryContainer(settings, this.mvcContextFactory, this.urlPath); this.siteMapNodeToParentRelationFactory = new SiteMapNodeToParentRelationFactory(); this.nodeKeyGenerator = new NodeKeyGenerator(); this.siteMapNodeFactory = siteMapNodeFactoryContainer.ResolveSiteMapNodeFactory(); this.siteMapNodeCreatorFactory = this.ResolveSiteMapNodeCreatorFactory(); this.dynamicSiteMapNodeBuilderFactory = new DynamicSiteMapNodeBuilderFactory(this.siteMapNodeCreatorFactory); this.siteMapHierarchyBuilder = new SiteMapHierarchyBuilder(); this.siteMapXmlReservedAttributeNameProvider = new SiteMapXmlReservedAttributeNameProvider(settings.AttributesToIgnore); 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); }