private void configureServices(IServiceRegistry services) { var configuration = new TemplateServiceConfiguration {BaseTemplateType = typeof (FubuRazorView)}; services.ReplaceService<ITemplateRegistry<IRazorTemplate>>(_templateRegistry); services.ReplaceService<IFubuTemplateService>(new FubuTemplateService(_templateRegistry, new TemplateService(configuration), new FileSystem())); services.ReplaceService<ITemplateServiceConfiguration>(configuration); services.ReplaceService<IParsingRegistrations<IRazorTemplate>>(_parsings); services.SetServiceIfNone<ITemplateDirectoryProvider<IRazorTemplate>, TemplateDirectoryProvider<IRazorTemplate>>(); services.SetServiceIfNone<ISharedPathBuilder>(new SharedPathBuilder()); var graph = new SharingGraph(); services.SetServiceIfNone(graph); services.SetServiceIfNone<ISharingGraph>(graph); services.FillType<IActivator, RazorActivator>(); services.FillType<ISharedTemplateLocator<IRazorTemplate>, SharedTemplateLocator<IRazorTemplate>>(); services.FillType<ISharingAttacher<IRazorTemplate>, MasterAttacher<IRazorTemplate>>(); services.FillType<ITemplateSelector<IRazorTemplate>, RazorTemplateSelector>(); services.FillType<IActivator, SharingAttacherActivator<IRazorTemplate>>(); services.FillType<IRenderStrategy, AjaxRenderStrategy>(); services.FillType<IRenderStrategy, DefaultRenderStrategy>(); services.SetServiceIfNone<IViewModifierService<IFubuRazorView>, ViewModifierService<IFubuRazorView>>(); services.FillType<IViewModifier<IFubuRazorView>, LayoutActivation>(); services.FillType<IViewModifier<IFubuRazorView>, PartialRendering>(); services.FillType<IViewModifier<IFubuRazorView>, FubuPartialRendering>(); }
private void configureServices(ServiceRegistry services) { services.ReplaceService<ITemplateRegistry<IRazorTemplate>>(_templateRegistry); services.SetServiceIfNone<IRazorTemplateGenerator, RazorTemplateGenerator>(); services.SetServiceIfNone<ITemplateCompiler, TemplateCompiler>(); services.SetServiceIfNone<ITemplateFactory, TemplateFactoryCache>(); services.ReplaceService<IParsingRegistrations<IRazorTemplate>>(_parsings); services.SetServiceIfNone<ITemplateDirectoryProvider<IRazorTemplate>, TemplateDirectoryProvider<IRazorTemplate>>(); services.SetServiceIfNone<ISharedPathBuilder>(new SharedPathBuilder()); services.SetServiceIfNone<IPartialRenderer, PartialRenderer>(); var graph = new SharingGraph(); services.SetServiceIfNone(graph); services.SetServiceIfNone<ISharingGraph>(graph); services.FillType<ISharedTemplateLocator<IRazorTemplate>, SharedTemplateLocator<IRazorTemplate>>(); services.FillType<ISharingAttacher<IRazorTemplate>, MasterAttacher<IRazorTemplate>>(); services.FillType<ITemplateSelector<IRazorTemplate>, RazorTemplateSelector>(); services.FillType<Bottles.IActivator, SharingAttacherActivator<IRazorTemplate>>(); services.FillType<IRenderStrategy, AjaxRenderStrategy>(); services.FillType<IRenderStrategy, DefaultRenderStrategy>(); services.SetServiceIfNone<IViewModifierService<IFubuRazorView>, ViewModifierService<IFubuRazorView>>(); services.FillType<IViewModifier<IFubuRazorView>, FubuPartialRendering>(); }
public SharingPolicyActivator(SharingGraph graph, SharingLogsCache logs, IEnumerable <ISharingPolicy> policies) { _graph = graph; _logs = logs; _policies = policies; Diagnostics = new SharingRegistrationDiagnostics(_graph, _logs); }
public SharingPolicyActivator(SharingGraph graph, SharingLogsCache logs, IEnumerable<ISharingPolicy> policies) { _graph = graph; _logs = logs; _policies = policies; Diagnostics = new SharingRegistrationDiagnostics(_graph, _logs); }
public void beforeEach() { _policies = new List<ISharingPolicy> {MockRepository.GenerateMock<ISharingPolicy>()}; _graph = new SharingGraph(); _packageLog = MockRepository.GenerateMock<IPackageLog>(); _sharingLogs = new SharingLogsCache(); _activator = new SharingPolicyActivator(_graph, _sharingLogs, _policies); }
public void beforeEach() { Directory.GetFiles(".", "*spark.config").Each(File.Delete); _graph = new SharingGraph(); _fileSystem = new FileSystem(); _packageLog = new PackageLog(); _sharingLogs = new SharingLogsCache(); _activator = new SharingConfigActivator(_graph, _fileSystem, _sharingLogs); }
private void configureServices(IServiceRegistry services) { services.ReplaceService<ISparkTemplateRegistry>(_templateRegistry); services.ReplaceService<ITemplateRegistry<ITemplate>>(_templateRegistry); services.ReplaceService<IParsingRegistrations<ITemplate>>(_parsings); var graph = new SharingGraph(); services.SetServiceIfNone(graph); services.SetServiceIfNone<ISharingGraph>(graph); services.SetServiceIfNone<ISparkViewEngine>(new SparkViewEngine()); services.SetServiceIfNone<ICacheService>(new DefaultCacheService(HttpRuntime.Cache)); services.SetServiceIfNone(new SharingLogsCache()); services.FillType<IActivator, SharingConfigActivator>(); services.FillType<IActivator, SharingPolicyActivator>(); services.FillType<IActivator, SharingAttacherActivator<ITemplate>>(); services.FillType<IActivator, SparkActivator>(); services.FillType<IActivator, SparkPrecompiler>(); services.FillType<ISharingAttacher<ITemplate>, MasterAttacher<ITemplate>>(); services.FillType<ISharingAttacher<ITemplate>, BindingsAttacher>(); services.SetServiceIfNone<ISharedPathBuilder>(new SharedPathBuilder()); services.SetServiceIfNone<ITemplateDirectoryProvider<ITemplate>, TemplateDirectoryProvider<ITemplate>>(); services.SetServiceIfNone<ISharedTemplateLocator, SharedTemplateLocator>(); services.FillType<ISharedTemplateLocator<ITemplate>, SharedTemplateLocator>(); services.FillType<IRenderStrategy, NestedRenderStrategy>(); services.FillType<IRenderStrategy, AjaxRenderStrategy>(); services.FillType<IRenderStrategy, DefaultRenderStrategy>(); services.FillType<ITemplateSelector<ITemplate>, SparkTemplateSelector>(); services.SetServiceIfNone<IViewEntryProviderCache, ViewEntryProviderCache>(); services.SetServiceIfNone<IViewModifierService<IFubuSparkView>, ViewModifierService<IFubuSparkView>>(); services.FillType<IViewModifier<IFubuSparkView>, PageActivation<IFubuSparkView>>(); services.FillType<IViewModifier<IFubuSparkView>, SiteResourceAttacher>(); services.FillType<IViewModifier<IFubuSparkView>, ContentActivation>(); services.FillType<IViewModifier<IFubuSparkView>, OnceTableActivation>(); services.FillType<IViewModifier<IFubuSparkView>, OuterViewOutputActivator>(); services.FillType<IViewModifier<IFubuSparkView>, NestedViewOutputActivator>(); services.FillType<IViewModifier<IFubuSparkView>, ViewContentDisposer>(); services.FillType<IViewModifier<IFubuSparkView>, NestedOutputActivation>(); services.SetServiceIfNone<IHtmlEncoder, DefaultHtmlEncoder>(); services.SetServiceIfNone(new DefaultViewDefinitionPolicy()); services.SetServiceIfNone<IViewDefinitionResolver, ViewDefinitionResolver>(); }
public ExtendedTester() { var testRoot = Path.Combine(Directory.GetCurrentDirectory(), "Templates"); var pathApp = Path.Combine(testRoot, "App"); var pathPackage1 = Path.Combine(pathApp, "fubu-packages", "Package1", "WebContent"); var pathPackage2 = Path.Combine(testRoot, "Package2"); var allTemplates = new TemplateRegistry<IRazorTemplate>(); var razorSettings = new RazorEngineSettings(); var razorSet = razorSettings.Search; new ContentFolder(TemplateConstants.HostOrigin, pathApp).FindFiles(razorSet) .Union(new ContentFolder("Package1", pathPackage1).FindFiles(razorSet) .Union(new ContentFolder("Package2", pathPackage2).FindFiles(razorSet))) .Each(x => { if (x.Provenance == TemplateConstants.HostOrigin && x.Path.StartsWith(pathPackage1)) return; allTemplates.Register(new Template(x.Path, x.ProvenancePath, x.Provenance)); }); var viewPathPolicy = new ViewPathPolicy<IRazorTemplate>(); allTemplates.Each(x => { viewPathPolicy.Apply(x); x.Descriptor = new ViewDescriptor<IRazorTemplate>(x); }); var commonNamespaces = new CommonViewNamespaces(); commonNamespaces.AddForType<string>(); _templateFactory = new TemplateFactoryCache(commonNamespaces, razorSettings, new TemplateCompiler(), new RazorTemplateGenerator()); _pak1TemplateRegistry = new TemplateRegistry<IRazorTemplate>(allTemplates.ByOrigin(Package1)); _pak2TemplateRegistry = new TemplateRegistry<IRazorTemplate>(allTemplates.ByOrigin(Package2)); _appTemplateRegistry = new TemplateRegistry<IRazorTemplate>(allTemplates.FromHost()); _serviceLocator = MockRepository.GenerateMock<IServiceLocator>(); var sharingGraph = new SharingGraph(); sharingGraph.Dependency("Package1", ContentFolder.Application); sharingGraph.Dependency("Package2", ContentFolder.Application); var templateDirectory = new TemplateDirectoryProvider<IRazorTemplate>(new SharedPathBuilder(), allTemplates, sharingGraph); _sharedTemplateLocator = new SharedTemplateLocator<IRazorTemplate>(templateDirectory, allTemplates, new RazorTemplateSelector()); var partialRenderer = new PartialRenderer(_sharedTemplateLocator, _templateFactory); _serviceLocator.Expect(x => x.GetInstance(Arg.Is(typeof (IPartialRenderer)))).Return(partialRenderer); _serviceLocator.Expect(x => x.GetInstance(typeof (IOutputWriter))).Return(MockRepository.GenerateMock<IOutputWriter>()); }
public ExtendedTester() { var testRoot = Path.Combine(Directory.GetCurrentDirectory(), "Templates"); var pathApp = Path.Combine(testRoot, "App"); var pathPackage1 = Path.Combine(pathApp, "fubu-packages", "Package1", "WebContent"); var pathPackage2 = Path.Combine(testRoot, "Package2"); var packages = new List<IPackageInfo>(); var pack1 = new PackageInfo(new PackageManifest() { Name = Package1 }); var pack2 = new PackageInfo(new PackageManifest() { Name = Package2 }); pack1.RegisterFolder(BottleFiles.WebContentFolder, pathPackage1); pack2.RegisterFolder(BottleFiles.WebContentFolder, pathPackage2); packages.Add(pack1); packages.Add(pack2); var scanner = new TemplateFinder<Template>(new FileScanner(), packages){ HostPath = pathApp }; new DefaultRazorTemplateFinderConventions().Configure(scanner); var allTemplates = new TemplateRegistry<IRazorTemplate>(); allTemplates.AddRange(scanner.FindInPackages()); allTemplates.AddRange(scanner.FindInHost()); var viewPathPolicy = new ViewPathPolicy<IRazorTemplate>(); allTemplates.Each(viewPathPolicy.Apply); var config = new TemplateServiceConfiguration{ BaseTemplateType = typeof (FubuRazorView) }; _templateService = new FubuTemplateService(allTemplates, new TemplateService(config), new FileSystem()); _pak1TemplateRegistry = new TemplateRegistry<IRazorTemplate>(allTemplates.ByOrigin(Package1)); _pak2TemplateRegistry = new TemplateRegistry<IRazorTemplate>(allTemplates.ByOrigin(Package2)); _appTemplateRegistry = new TemplateRegistry<IRazorTemplate>(allTemplates.FromHost()); _serviceLocator = MockRepository.GenerateMock<IServiceLocator>(); var sharingGraph = new SharingGraph(); sharingGraph.Dependency("Package1", "Host"); sharingGraph.Dependency("Package2", "Host"); var templateDirectory = new TemplateDirectoryProvider<IRazorTemplate>(new SharedPathBuilder(), allTemplates, sharingGraph); _sharedTemplateLocator = new SharedTemplateLocator<IRazorTemplate>(templateDirectory, allTemplates, new RazorTemplateSelector()); }
public ExtendedTester() { var testRoot = Path.Combine(Directory.GetCurrentDirectory(), "Templates"); var pathApp = Path.Combine(testRoot, "App"); var pathPackage1 = Path.Combine(pathApp, "fubu-packages", "Package1", "WebContent"); var pathPackage2 = Path.Combine(testRoot, "Package2"); var allTemplates = new TemplateRegistry<IRazorTemplate>(); var razorSet = new RazorEngineSettings().Search; new ContentFolder(TemplateConstants.HostOrigin, pathApp).FindFiles(razorSet) .Union(new ContentFolder("Package1", pathPackage1).FindFiles(razorSet) .Union(new ContentFolder("Package2", pathPackage2).FindFiles(razorSet))) .Each(x => { if (x.Provenance == TemplateConstants.HostOrigin && x.Path.StartsWith(pathPackage1)) return; allTemplates.Register(new Template(x.Path, x.ProvenancePath, x.Provenance)); }); var viewPathPolicy = new ViewPathPolicy<IRazorTemplate>(); allTemplates.Each(viewPathPolicy.Apply); var config = new TemplateServiceConfiguration { BaseTemplateType = typeof(FubuRazorView) }; _templateService = new FubuTemplateService(allTemplates, new TemplateService(config), new FileSystem()); _pak1TemplateRegistry = new TemplateRegistry<IRazorTemplate>(allTemplates.ByOrigin(Package1)); _pak2TemplateRegistry = new TemplateRegistry<IRazorTemplate>(allTemplates.ByOrigin(Package2)); _appTemplateRegistry = new TemplateRegistry<IRazorTemplate>(allTemplates.FromHost()); _serviceLocator = MockRepository.GenerateMock<IServiceLocator>(); var sharingGraph = new SharingGraph(); sharingGraph.Dependency("Package1", ContentFolder.Application); sharingGraph.Dependency("Package2", ContentFolder.Application); var templateDirectory = new TemplateDirectoryProvider<IRazorTemplate>(new SharedPathBuilder(), allTemplates, sharingGraph); _sharedTemplateLocator = new SharedTemplateLocator<IRazorTemplate>(templateDirectory, allTemplates, new RazorTemplateSelector()); }
public ExtendedTester() { var testRoot = Path.Combine(Directory.GetCurrentDirectory(), "Templates"); var pathApp = Path.Combine(testRoot, "App"); var pathPackage1 = Path.Combine(pathApp, "fubu-packages", "Package1", "WebContent"); var pathPackage2 = Path.Combine(testRoot, "Package2"); var globalPackage = Path.Combine(testRoot, "Global"); var templateRegistry = new TemplateRegistry<ITemplate>(); var sparkSet = new SparkEngineSettings().Search; _sharingGraph = new SharingGraph(); _sharingGraph.Global("Global"); _sharingGraph.CompileDependencies("Package1", "Package2"); new ContentFolder(TemplateConstants.HostOrigin, pathApp).FindFiles(sparkSet) .Union(new ContentFolder("Package1", pathPackage1).FindFiles(sparkSet) .Union(new ContentFolder("Package2", pathPackage2).FindFiles(sparkSet) .Union(new ContentFolder("Global", globalPackage).FindFiles(sparkSet)))) .Each(x => { if (x.Provenance == TemplateConstants.HostOrigin && x.Path.StartsWith(pathPackage1)) return; templateRegistry.Register(new Template(x.Path, x.ProvenancePath, x.Provenance)); }); var viewPathPolicy = new ViewPathPolicy<ITemplate>(); templateRegistry.Each(viewPathPolicy.Apply); _viewFolder = new TemplateViewFolder(templateRegistry); _templateDirectoryProvider = new TemplateDirectoryProvider<ITemplate>(new SharedPathBuilder(), templateRegistry, _sharingGraph); _engine = new SparkViewEngine { ViewFolder = _viewFolder, BindingProvider = new FubuBindingProvider(new SparkTemplateRegistry(templateRegistry)), PartialProvider = new FubuPartialProvider(_templateDirectoryProvider) }; _pak1TemplateRegistry = new TemplateRegistry<ITemplate>(templateRegistry.ByOrigin(Package1)); _pak2TemplateRegistry = new TemplateRegistry<ITemplate>(templateRegistry.ByOrigin(Package2)); _appTemplateRegistry = new TemplateRegistry<ITemplate>(templateRegistry.FromHost()); _globalTemplateRegistry = new TemplateRegistry<ITemplate>(templateRegistry.ByOrigin(Global)); }
public SharingConfigActivator(SharingGraph sharingGraph, SharingLogsCache logs, IFubuApplicationFiles files) { _sharingGraph = sharingGraph; _diagnostics = new SharingRegistrationDiagnostics(_sharingGraph, logs); _files = files; }
public SharingConfigActivator(SharingGraph graph, IFileSystem fileSystem, SharingLogsCache logs) { _graph = graph; _fileSystem = fileSystem; _diagnostics = new SharingRegistrationDiagnostics(_graph, logs); }