public DirectUrlInjector(IHost host, IUrlParser parser, IContentItemRepository repository, IDefinitionManager definitions) { this.host = host; this.parser = parser; this.repository = repository; this.definitions = definitions; }
public ChildrenAjaxService(AjaxRequestDispatcher dispatcher, Navigator navigator, VirtualNodeFactory nodes, IUrlParser urls) { this.dispatcher = dispatcher; this.navigator = navigator; this.nodes = nodes; this.urls = urls; }
public override void SetUp() { base.SetUp(); root = CreateOneItem <PageItem>(1, "root", null); one = CreateOneItem <CustomExtensionItem>(2, "one", root); two = CreateOneItem <PageItem>(3, "two", one); CreateOneItem <DataItem>(4, "four", root); three = CreateOneItem <PageItem>(5, "three.3", root); webContext = new FakeWebContextWrapper(); var hostSection = new HostSection { Web = new WebElement { Rewrite = rewriteMethod } }; parser = new UrlParser(persister, webContext, new Host(webContext, root.ID, root.ID), hostSection); errorHandler = new FakeErrorHandler(); engine = new FakeEngine(); engine.Container.AddComponentInstance(null, typeof(IWebContext), webContext); adapterProvider = new ContentAdapterProvider(engine, new AppDomainTypeFinder()); adapterProvider.Start(); ReCreateDispatcherWithConfig(hostSection); }
/// <summary> /// constructs a worker instance with specified components /// </summary> /// <param name="provider">URL string provider</param> /// <param name="parser">URL scheme parser</param> /// <param name="writer">URL schemes writer</param> /// <param name="logger">bad URLs logger</param> public UrlWorker(IUrlProvider provider, IUrlParser <TScheme> parser, IUrlWriter <TScheme> writer, IUrlLogger logger) { this.provider = provider; this.parser = parser; this.writer = writer; this.logger = logger; }
public TopicEndPoint(ForumSettings settings, IHttpClient httpClient) : base("topic", settings.RootURL, httpClient) { _theme = settings.Theme; _parser = new TopicParser(); _urlParser = settings.UrlParser; }
public IntegrityManager(IContentTypeManager contentTypeManager, IUrlParser urlParser, ILanguageManager languageManager, AdminSection adminSection) { _contentTypeManager = contentTypeManager; _urlParser = urlParser; _languageManager = languageManager; _adminConfig = adminSection; }
public RedirectProcessor( IConfiguration configuration, IUrlHelper urlHelper, IHttpClient httpClient, IUrlParser urlParser, IUrlFormatter urlFormatter, IRedirectHelper redirectHelper) { _configuration = configuration; _urlHelper = urlHelper; _httpClient = httpClient; _urlParser = urlParser; _urlFormatter = urlFormatter; _redirectHelper = redirectHelper; _oldUrlRedirectIndex = new Dictionary <string, IParsedRedirect>( StringComparer.OrdinalIgnoreCase); _responseCache = new Dictionary <string, HttpResponse>(); _results = new List <IResult>(); _skipResultTypes = new List <string> { ResultTypes.InvalidResult, ResultTypes.IdenticalResult, ResultTypes.ExcludedRedirect }; }
public DiagnosticController(IContentItemRepository repository, IHost host, IDefinitionManager definitions, ILinkGenerator linkGenerator, IUrlParser parser, DatabaseSection config, IFlushable flushable, IReplicationStorage repstore, IFileSystemFactory fileSystemFactory) { _repository = repository; _host = host; _definitions = definitions; _linkGenerator = linkGenerator; _parser = parser; _flushable = flushable; _tablePrefix = config.TablePrefix; _repstore = repstore; if (_forceWriteLockManager != null) return; // Create Force Write Lock Manager var storageConfig = (FileSystemNamespace) Enum.Parse(typeof (FileSystemNamespace), ConfigurationManager.AppSettings["AzureReplicationStorageContainerName"] ?? "ReplicationStorageDebug"); var fileSystem = fileSystemFactory.Create(storageConfig); _forceWriteLockManager = new ReplicationForceWriteLockManager(fileSystem); _writeLockManager = new ReplicationWriteLockManager(fileSystem); }
private List <Topic> ParseTopics(HtmlNode boardMainFrame, ISmfTheme theme, IUrlParser urlParser) { var topics = new List <Topic>(); var topicNodes = boardMainFrame.SelectNodes(theme.BoardTopicModel); if (topicNodes == null) { return(topics); } foreach (var topicNode in topicNodes) { var urlNode = topicNode.SelectSingleNode(theme.BoardTopicLink); string topicURL = urlNode.Attributes["href"].Value; int id = urlParser.FromURL(topicURL, "topic"); string name = urlNode.InnerText.Trim(); topics.Add(new Topic(id, name)); } return(topics); }
public ProtocolHandler(string uri, IUrlParser urlParser, ProtocolConfig protocolConfig, IOsServices osServices) { Uri = uri; Parser = urlParser; OsServices = osServices; ProtocolConfig = protocolConfig; }
internal static ContentItem Deserialize(Importer importer, IUrlParser parser, string xml) { var journal = importer.Read(new StringReader(xml)); foreach (var link in journal.UnresolvedLinks.Where(ul => ul.IsChild == false)) { var item = importer.Persister.Get(link.ReferencedItemID); if (item != null) { link.Setter(item); } } foreach (var item in journal.ReadItems) { (item as IInjectable <IUrlParser>).Set(parser); } if (journal.RootItem.VersionOf.HasValue && journal.RootItem.VersionOf.Value != null) { journal.RootItem.Parent = journal.RootItem.VersionOf.Parent; } ReorderBySortOrderRecursive(journal.RootItem); return(journal.RootItem); }
public ProtocolHandler(string uri, IUrlParser urlParser, ApplicationConfig applicationConfig, IOsServices osServices) { Uri = uri; Parser = urlParser; OsServices = osServices; ApplicationConfig = applicationConfig; }
public override void SetUp() { base.SetUp(); finder = new FakeTypeFinder(typeof(XmlableItem).Assembly, typeof(XmlableItem), typeof(XmlableItem2)); notifier = mocks.Stub<IItemNotifier>(); mocks.Replay(notifier); activator = new ContentActivator(new N2.Edit.Workflow.StateChanger(), notifier, new InterceptingProxyFactory()); definitions = new DefinitionManager( new[] {new DefinitionProvider(new DefinitionBuilder(new DefinitionMap(), finder, new TransformerBase<IUniquelyNamed>[0], TestSupport.SetupEngineSection()))}, activator, new StateChanger(), new DefinitionMap()); definitions.Start(); parser = mocks.StrictMock<IUrlParser>(); Expect.On(parser) .Call(parser.BuildUrl(null)) .IgnoreArguments() .Do(new BuildUrl(delegate(ContentItem itemToBuild) { string url = "/" + itemToBuild.Name + ".aspx"; foreach (ContentItem parent in Find.EnumerateParents(itemToBuild, null)) { if (parent.Parent != null) url = "/" + parent.Name + url; } return url.ToUrl(); })) .Repeat.Any(); mocks.Replay(parser); persister = TestSupport.SetupFakePersister(); }
public DiagnosticController(IContentItemRepository repository, IHost host, IDefinitionManager definitions, ILinkGenerator linkGenerator, IUrlParser parser, DatabaseSection config, IFlushable flushable, IReplicationStorage repstore, IFileSystemFactory fileSystemFactory) { _repository = repository; _host = host; _definitions = definitions; _linkGenerator = linkGenerator; _parser = parser; _flushable = flushable; _tablePrefix = config.TablePrefix; _repstore = repstore; if (_forceWriteLockManager != null) { return; } // Create Force Write Lock Manager var storageConfig = (FileSystemNamespace)Enum.Parse(typeof(FileSystemNamespace), ConfigurationManager.AppSettings["AzureReplicationStorageContainerName"] ?? "ReplicationStorageDebug"); var fileSystem = fileSystemFactory.Create(storageConfig); _forceWriteLockManager = new ReplicationForceWriteLockManager(fileSystem); _writeLockManager = new ReplicationWriteLockManager(fileSystem); }
public CachingUrlParserDecorator(IUrlParser inner, IPersister persister, IWebContext webContext, CacheWrapper cache) { this.inner = inner; this.persister = persister; this.webContext = webContext; this.cache = cache; }
public ChildrenAjaxService(Navigator navigator, VirtualNodeFactory virtualNodes, IContentAdapterProvider adapters, IUrlParser urls) { this.navigator = navigator; this.virtualNodes = virtualNodes; this.adapters = adapters; this.urls = urls; }
public BoardEndPoint(ForumSettings settings, IHttpClient httpClient) : base("board", settings.RootURL, httpClient) { _theme = settings.Theme; _parser = new BoardParser(); _urlParser = settings.UrlParser; }
public ContentVersionRepository(IRepository <ContentVersion> repository, Exporter exporter, Importer importer, IUrlParser parser, IProxyFactory proxyFactory) { this.Repository = repository; this.exporter = exporter; this.importer = importer; this.parser = parser; this.proxyFactory = proxyFactory; }
public DirectUrlInjector(IHost host, IUrlParser parser, IContentItemRepository repository, IDefinitionManager definitions, Configuration.EngineSection config) { this.host = host; this.parser = parser; this.repository = repository; this.definitions = definitions; this.enabled = config.DirectUrlInjector.Enabled; }
public CachingUrlParserDecorator(IUrlParser inner, IPersister persister, IWebContext webContext, CacheWrapper cache, HostSection config) { this.inner = inner; this.persister = persister; this.webContext = webContext; this.cache = cache; SlidingExpiration = config.OutputCache.SlidingExpiration ?? TimeSpan.FromMinutes(15); }
public ContentVersionRepository(IRepository<ContentVersion> repository, Exporter exporter, Importer importer, IUrlParser parser, IProxyFactory proxyFactory) { this.Repository = repository; this.exporter = exporter; this.importer = importer; this.parser = parser; this.proxyFactory = proxyFactory; }
internal static ContentItem Deserialize(Importer importer, IUrlParser parser, string xml) { if (importer == null) { throw new ArgumentException("Importer cannot be null.", "importer"); } if (parser == null) { throw new ArgumentException("Parser cannot be null.", "parser"); } if (String.IsNullOrEmpty(xml)) { return(null); // nothing to deserialize } var journal = importer.Read(new StringReader(xml)); foreach (var link in journal.UnresolvedLinks.Where(ul => ul.IsChild == false)) { var item = importer.Persister.Get(link.ReferencedItemID); if (item != null) { link.Setter(item); } } if (journal.ReadItems == null) { throw new Exception("Journal couldn't read items due to journal.ReadItems == null. " + xml); } try { foreach (var item in journal.ReadItems) { (item as IInjectable <IUrlParser>).Set(parser); } } catch (NullReferenceException nilX) { throw new Exception("Ran into a null reference while attempting to read items from the journal: " + xml, nilX); } if (journal.RootItem == null) { return(null); } if (journal.RootItem.VersionOf.HasValue && journal.RootItem.VersionOf.Value != null) { journal.RootItem.Parent = journal.RootItem.VersionOf.Parent; } ReorderBySortOrderRecursive(journal.RootItem); return(journal.RootItem); }
public ForumSettings(ISmfTheme theme, Uri rootURL, IUrlParser urlType) { DateFormat = "yyyy-MM-dd, HH:mm::ss"; Culture = new CultureInfo("hu-HU"); Theme = theme; RootURL = rootURL; UrlParser = urlType; CustomHomePageURL = ""; }
public ItemXmlWriter(IDefinitionManager definitions, IUrlParser parser, IFileSystem fs) { if (definitions == null) throw new ArgumentNullException("definitions"); this.definitions = definitions; this.parser = parser; this.fs = fs; }
public RedirectParser( IConfiguration configuration, IUrlParser urlParser, IUrlFormatter urlFormatter) { _configuration = configuration; _urlParser = urlParser; _urlFormatter = urlFormatter; }
public override void SetUp() { base.SetUp(); wrapper = new FakeWebContextWrapper("http://www.n2cms.com/"); host = new Host(wrapper, 1, 1); parser = CreateUrlParser(); }
public ItemXmlWriter(IDefinitionManager definitions, IUrlParser parser, IFileSystem fs) { if (definitions == null) { throw new ArgumentNullException("definitions"); } this.definitions = definitions; this.parser = parser; this.fs = fs; }
public EditUrlManager(IUrlParser parser, EditSection config) { this.parser = parser; ManagementInterfaceUrl = config.Paths.ManagementInterfaceUrl.TrimEnd('/'); EditTreeUrl = config.Paths.EditTreeUrl; EditItemUrl = config.Paths.EditItemUrl; EditInterfaceUrl = config.Paths.EditInterfaceUrl; NewItemUrl = config.Paths.NewItemUrl; DeleteItemUrl = config.Paths.DeleteItemUrl; defaultViewPreference = config.Versions.DefaultViewMode; }
public AwsS3StaticWebsiteExporter( IConfiguration configuration, IUrlParser urlParser, IUrlFormatter urlFormatter) { this.configuration = configuration; this.urlParser = urlParser; this.urlFormatter = urlFormatter; headingSlashRegex = new Regex( "^[/]+", RegexOptions.IgnoreCase | RegexOptions.Compiled); }
public IdenticalProcessorTests() { var configuration = TestData.TestData.DefaultConfiguration; var urlFormatter = new UrlFormatter(); _urlParser = new UrlParser(); _urlHelper = new UrlHelper( configuration, _urlParser, urlFormatter); }
public RedirectEngine( IConfiguration configuration, IUrlHelper urlHelper, IUrlParser urlParser, IUrlFormatter urlFormatter, IRedirectParser redirectParser, IHttpClient httpClient) { _configuration = configuration; _urlHelper = urlHelper; _urlParser = urlParser; _redirectParser = redirectParser; _httpClient = httpClient; Processors = new List <IProcessor> { new InvalidProcessor(), new IdenticalProcessor( _urlHelper), new DuplicateProcessor( _configuration, _urlHelper), new ExcludeProcessor( _configuration), new RedirectProcessor( _configuration, _urlHelper, _httpClient, _urlParser, urlFormatter, new RedirectHelper( _configuration, _urlParser, urlFormatter) ) }; _redirects = new List <IRedirect>(); _parsedRedirects = new List <IParsedRedirect>(); _processedRedirects = new List <IProcessedRedirect>(); _results = new List <IResult>(); _activeProcessors = new List <IProcessor>(); Exporters = new List <IExporter> { new WebConfigExporter( _configuration, _urlParser, urlFormatter), new AwsS3StaticWebsiteExporter( _configuration, _urlParser, urlFormatter) }; }
public void Process(IUrlParser parser, IEvaluator evaluator) { if (parser == null) throw new ArgumentNullException("parser"); if (evaluator == null) throw new ArgumentNullException("evaluator"); var words = parser.Parse(_url); var buzzwords = words.Where(evaluator.IsBuzzword); foreach (var buzzword in buzzwords) { ApplyEvent(new BuzzwordFoundEvent(buzzword)); } }
public override void SetUp() { base.SetUp(); parser = mocks.StrictMock<IUrlParser>(); mocks.ReplayAll(); IntegrityManager integrity = new IntegrityManager(definitions, persister.Repository, parser); IntegrityEnforcer enforcer = new IntegrityEnforcer(persister, integrity, activator); enforcer.Start(); new BehaviorInvoker(persister, new N2.Definitions.Static.DefinitionMap()).Start(); }
/// <summary> /// Initializes a new instance of the <see cref="BotActivityHandler"/> class. /// </summary> /// <param name="resourceProvider">Resource provider.</param> /// <param name="cardFactory">Card factory.</param> /// <param name="urlParser">Url parser.</param> /// <param name="appSettings">App settings.</param> /// <param name="logger">Logger.</param> public BotActivityHandler( IResourceProvider resourceProvider, ICardFactory cardFactory, IUrlParser urlParser, IAppSettings appSettings, ILogger <BotActivityHandler> logger) { this.resourceProvider = resourceProvider ?? throw new ArgumentNullException(nameof(resourceProvider)); this.cardFactory = cardFactory ?? throw new ArgumentNullException(nameof(cardFactory)); this.urlParser = urlParser ?? throw new ArgumentNullException(nameof(urlParser)); this.appSettings = appSettings ?? throw new ArgumentNullException(nameof(appSettings)); this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); }
public void Execute(Board board, string sourceCode, ISmfTheme theme, IUrlParser urlParser) { var htmlDoc = new HtmlDocument(); htmlDoc.LoadHtml(sourceCode); var boardMainFrameNode = htmlDoc.DocumentNode.SelectSingleNode(theme.BoardContainer); // TODO : This is good, when the board has only one page, but what if not? board.ChildBoards = ParseChildrenBoards(boardMainFrameNode, theme); board.Topics = ParseTopics(boardMainFrameNode, theme, urlParser); }
public override void SetUp() { base.SetUp(); parser = mocks.StrictMock <IUrlParser>(); mocks.ReplayAll(); IntegrityManager integrity = new IntegrityManager(definitions, persister.Repository, parser); IntegrityEnforcer enforcer = new IntegrityEnforcer(persister, integrity, activator); enforcer.Start(); new BehaviorInvoker(persister, new N2.Definitions.Static.DefinitionMap()).Start(); }
public override void SetUp() { base.SetUp(); parser = mocks.StrictMock<IUrlParser>(); mocks.ReplayAll(); finder = new FakeItemFinder(() => Enumerable.Empty<ContentItem>()); IntegrityManager integrity = new IntegrityManager(definitions, finder, parser); IntegrityEnforcer enforcer = new IntegrityEnforcer(persister, integrity, activator); enforcer.Start(); new BehaviorInvoker(persister, new N2.Definitions.Static.DefinitionMap()).Start(); }
public EditUrlManager(IUrlParser parser, EditSection config) { this.parser = parser; ManagementInterfaceUrl = config.Paths.ManagementInterfaceUrl.TrimEnd('/'); EditTreeUrl = config.Paths.EditTreeUrl; EditItemUrl = config.Paths.EditItemUrl; EditInterfaceUrl = config.Paths.EditInterfaceUrl; if (config.Legacy) EditInterfaceUrl += "Content/"; NewItemUrl = config.Paths.NewItemUrl; DeleteItemUrl = config.Paths.DeleteItemUrl; defaultViewPreference = config.Versions.DefaultViewMode; MediaBrowserUrl = config.Paths.MediaBrowserUrl; ensureLocalhostPreviewUrls = config.Paths.EnsureLocalhostPreviewUrls; }
public RequestPathProvider(IWebContext webContext, IUrlParser parser, IErrorNotifier errorHandler, HostSection config) { this.webContext = webContext; this.parser = parser; this.errorHandler = errorHandler; observeAllExtensions = config.Web.ObserveAllExtensions; rewriteEmptyExtension = config.Web.ObserveEmptyExtension; StringCollection additionalExtensions = config.Web.ObservedExtensions; if (additionalExtensions != null && additionalExtensions.Count > 0) { observedExtensions = new string[additionalExtensions.Count + 1]; additionalExtensions.CopyTo(observedExtensions, 1); } observedExtensions[0] = config.Web.Extension; nonRewritablePaths = config.Web.Urls.NonRewritable.GetPaths(webContext); }
public override void SetUp() { base.SetUp(); var wrapper = new N2.Tests.Fakes.FakeWebContextWrapper(); parser = TestSupport.Setup(persister, wrapper, new Host(wrapper, 1, 1)); root = CreateOneItem<N2.Tests.Edit.LinkTracker.Items.TrackableItem>(1, "root", null); item1 = CreateOneItem<N2.Tests.Edit.LinkTracker.Items.TrackableItem>(2, "item1", root); item2 = CreateOneItem<N2.Tests.Edit.LinkTracker.Items.TrackableItem>(3, "item2", root); var errorHandler = new FakeErrorHandler(); var monitor = new N2.Plugin.ConnectionMonitor(); tracker = new Tracker(persister, detailRepository = new FakeRepository<ContentDetail>(), parser, monitor, errorHandler, new EditSection()); monitor.SetConnected(Installation.SystemStatusLevel.UpAndRunning); }
public EditUrlManager(IUrlParser parser, EditSection config) { this.parser = parser; ManagementInterfaceUrl = config.Paths.ManagementInterfaceUrl.TrimEnd('/'); EditTreeUrl = config.Paths.EditTreeUrl; EditItemUrl = config.Paths.EditItemUrl; ImportLanguageItemUrl = config.Paths.ImportLanguageItemUrl; UpdateLanguageItemUrl = config.Paths.UpdateLanguageItemUrl; ExportLanguageItemUrl = config.Paths.ExportLanguageItemUrl; EditInterfaceUrl = config.Paths.EditInterfaceUrl; if (config.Legacy) EditInterfaceUrl += "Content/"; NewItemUrl = config.Paths.NewItemUrl; DeleteItemUrl = config.Paths.DeleteItemUrl; defaultViewPreference = config.Versions.DefaultViewMode; }
internal static ContentItem Deserialize(Importer importer, IUrlParser parser, string xml) { if (importer == null) throw new ArgumentException("Importer cannot be null.", "importer"); if (parser == null) throw new ArgumentException("Parser cannot be null.", "parser"); if (String.IsNullOrEmpty(xml)) return null; // nothing to deserialize var journal = importer.Read(new StringReader(xml)); foreach (var link in journal.UnresolvedLinks.Where(ul => ul.IsChild == false)) { var item = importer.Persister.Get(link.ReferencedItemID); if (item != null) link.Setter(item); } if (journal.ReadItems == null) throw new Exception("Journal couldn't read items due to journal.ReadItems == null. " + xml); try { foreach (var item in journal.ReadItems) (item as IInjectable<IUrlParser>).Set(parser); } catch (NullReferenceException nilX) { throw new Exception("Ran into a null reference while attempting to read items from the journal: " + xml, nilX); } if (journal.RootItem == null) return null; if (journal.RootItem.VersionOf.HasValue && journal.RootItem.VersionOf.Value != null) journal.RootItem.Parent = journal.RootItem.VersionOf.Parent; ReorderBySortOrderRecursive(journal.RootItem); return journal.RootItem; }
public override void SetUp() { base.SetUp(); CreatePersister(); parser = mocks.StrictMock<IUrlParser>(); ITypeFinder typeFinder = CreateTypeFinder(); DefinitionBuilder builder = new DefinitionBuilder(new DefinitionMap(), typeFinder, new TransformerBase<IUniquelyNamed>[0], TestSupport.SetupEngineSection()); IItemNotifier notifier = mocks.DynamicMock<IItemNotifier>(); mocks.Replay(notifier); var changer = new N2.Edit.Workflow.StateChanger(); activator = new ContentActivator(changer, notifier, new EmptyProxyFactory()); definitions = new DefinitionManager(new[] { new DefinitionProvider(builder) }, new ITemplateProvider[0], activator, changer, new DefinitionMap()); finder = new FakeItemFinder(() => Enumerable.Empty<ContentItem>()); integrityManger = new IntegrityManager(definitions, finder, parser); IntegrityEnforcer enforcer = new IntegrityEnforcer(persister, integrityManger, activator); enforcer.Start(); }
public override void SetUp() { base.SetUp(); root = CreateOneItem<PageItem>(1, "root", null); one = CreateOneItem<CustomExtensionItem>(2, "one", root); two = CreateOneItem<PageItem>(3, "two", one); CreateOneItem<DataItem>(4, "four", root); three = CreateOneItem<PageItem>(5, "three.3", root); webContext = new FakeWebContextWrapper(); var hostSection = new HostSection { Web = new WebElement { Rewrite = rewriteMethod } }; parser = new UrlParser(persister, webContext, new Host(webContext, root.ID, root.ID), new N2.Plugin.ConnectionMonitor(), hostSection); errorHandler = new FakeErrorHandler(); engine = new FakeEngine(); engine.Container.AddComponentInstance(null, typeof(IWebContext), webContext); engine.Container.AddComponentInstance(null, typeof(TargetingRadar), new TargetingRadar(hostSection, new DetectorBase[0])); adapterProvider = new ContentAdapterProvider(engine, new AppDomainTypeFinder()); adapterProvider.Start(); ReCreateDispatcherWithConfig(hostSection); }
public override void SetUp() { base.SetUp(); finder = new FakeTypeFinder(typeof(XmlableItem).Assembly, typeof(XmlableItem), typeof(XmlableItem2)); notifier = mocks.Stub<IItemNotifier>(); mocks.Replay(notifier); definitions = new DefinitionManager( new DefinitionBuilder( finder, new EngineSection(), new FakeEditUrlManager()), new N2.Edit.Workflow.StateChanger(), notifier, new InterceptingProxyFactory()); parser = mocks.StrictMock<IUrlParser>(); Expect.On(parser) .Call(parser.BuildUrl(null)) .IgnoreArguments() .Do(new BuildUrl(delegate(ContentItem itemToBuild) { string url = "/" + itemToBuild.Name + ".aspx"; foreach (ContentItem parent in Find.EnumerateParents(itemToBuild, null)) { if (parent.Parent != null) url = "/" + parent.Name + url; } return url; })) .Repeat.Any(); mocks.Replay(parser); persister = mocks.StrictMock<IPersister>(); persister.Save(null); LastCall.IgnoreArguments().Repeat.Any(); mocks.Replay(persister); }
public CachingUrlParserDecorator(IUrlParser inner, IPersister persister) { this.inner = inner; this.persister = persister; }
public override void SetUp() { base.SetUp(); CreatePersister(); parser = mocks.StrictMock<IUrlParser>(); ITypeFinder typeFinder = CreateTypeFinder(); ContentTypeBuilder builder = new ContentTypeBuilder(typeFinder, new EditableHierarchyBuilder<IEditor>(), new AttributeExplorer<IDisplayer>(), new AttributeExplorer<IEditor>(), new AttributeExplorer<IContentProperty>(), new AttributeExplorer<IEditorContainer>()); IItemNotifier notifier = mocks.DynamicMock<IItemNotifier>(); mocks.Replay(notifier); definitions = new ContentTypeManager(builder, notifier); integrityManger = new IntegrityManager(definitions, parser, null, null); IntegrityEnforcer enforcer = new IntegrityEnforcer(persister, integrityManger); enforcer.Start(); }
public ChildrenAjaxService(Navigator navigator, VirtualNodeFactory nodes, IUrlParser urls) { this.navigator = navigator; this.nodes = nodes; this.urls = urls; }
public NotFoundHandler(IUrlParser parser, IWebContext context) { this.parser = parser; }
internal static ContentItem Deserialize(Importer importer, IUrlParser parser, string xml) { var journal = importer.Read(new StringReader(xml)); foreach (var link in journal.UnresolvedLinks.Where(ul => ul.IsChild == false)) { var item = importer.Persister.Get(link.ReferencedItemID); if (item != null) link.Setter(item); } foreach (var item in journal.ReadItems) (item as IInjectable<IUrlParser>).Set(parser); return journal.RootItem; }
public ContentVersion(Importer importer, Exporter exporter, IUrlParser parser) { Deserializer = (xml) => Deserialize(importer, parser, xml); Serializer = (item) => Serialize(exporter, item); }
public override void SetUp() { base.SetUp(); var wrapper = new N2.Tests.Fakes.FakeWebContextWrapper(); parser = new UrlParser(persister, wrapper, new Host(wrapper, 1, 1), new HostSection()); root = CreateOneItem<N2.Tests.Edit.LinkTracker.Items.TrackableItem>(1, "root", null); item1 = CreateOneItem<N2.Tests.Edit.LinkTracker.Items.TrackableItem>(2, "item1", root); item2 = CreateOneItem<N2.Tests.Edit.LinkTracker.Items.TrackableItem>(3, "item2", root); var errorHandler = new FakeErrorHandler(); linkFactory = new Tracker(persister, null, parser, errorHandler); linkFactory.Start(); }