From 30191928b55951cd02009e1ed21206a677487d58 Mon Sep 17 00:00:00 2001 From: Louis DeJardin Date: Fri, 12 Nov 2010 18:58:35 -0800 Subject: [PATCH] Incremental improvement to extension manager --HG-- branch : perf extra : rebase_source : f2697bf60ab12c79e848e1794652e19ac5933d3a --- .../profiling-setup-commands.txt | 2 - .../ExtensionLoaderCoordinatorTests.cs | 15 +++--- .../Extensions/ExtensionManagerTests.cs | 19 +++---- .../Views/DumpShapeTable.cshtml | 2 +- .../Views/ThinBorder.cshtml | 2 +- .../Extensions/ExtensionManager.cs | 52 +++++-------------- .../Extensions/IExtensionManager.cs | 8 --- 7 files changed, 33 insertions(+), 67 deletions(-) diff --git a/src/Orchard.Profile/profiling-setup-commands.txt b/src/Orchard.Profile/profiling-setup-commands.txt index 4334a7817..cac8a0755 100644 --- a/src/Orchard.Profile/profiling-setup-commands.txt +++ b/src/Orchard.Profile/profiling-setup-commands.txt @@ -1,3 +1 @@ setup /SiteName:Profiling /AdminUsername:admin /AdminPassword:profiling-secret /DatabaseProvider:SqlCe /EnabledFeatures:Profiling,Orchard.Framework,Routable,Common,Dashboard,Feeds,Orchard.PublishLater,HomePage,Contents,Messaging,Navigation,Reports,Scheduling,Indexing,Settings,Localization,XmlRpc,Orchard.Users,Orchard.Roles,TinyMce,Orchard.Themes,Orchard.MultiTenancy,Orchard.Blogs,Orchard.Comments,Orchard.Modules,Orchard.Widgets,Orchard.Media,Orchard.Tags,Orchard.Experimental -add profiling data -feature disable Orchard.Experimental diff --git a/src/Orchard.Tests/Environment/Extensions/ExtensionLoaderCoordinatorTests.cs b/src/Orchard.Tests/Environment/Extensions/ExtensionLoaderCoordinatorTests.cs index e7e774c1a..9a1423b9b 100644 --- a/src/Orchard.Tests/Environment/Extensions/ExtensionLoaderCoordinatorTests.cs +++ b/src/Orchard.Tests/Environment/Extensions/ExtensionLoaderCoordinatorTests.cs @@ -11,6 +11,7 @@ using Orchard.Environment.Extensions.Loaders; using Orchard.Environment.Extensions.Models; using Orchard.FileSystems.Dependencies; using Orchard.Tests.Extensions.ExtensionTypes; +using Orchard.Tests.Stubs; namespace Orchard.Tests.Environment.Extensions { [TestFixture] @@ -265,7 +266,7 @@ Features: Description: Contains the Phi type. "); - IExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader }); + IExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader }, new StubCacheManager()); var testFeature = extensionManager.AvailableExtensions() .SelectMany(x => x.Features); @@ -291,7 +292,7 @@ Features: Description: Contains the Phi type. "); - IExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader }); + IExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader }, new StubCacheManager()); var testFeature = extensionManager.AvailableExtensions() .SelectMany(x => x.Features); @@ -326,7 +327,7 @@ Features: Description: Contains the Phi type. "); - IExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader }); + IExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader }, new StubCacheManager()); var testFeature = extensionManager.AvailableExtensions() .SelectMany(x => x.Features) .Single(x => x.Name == "TestFeature"); @@ -356,7 +357,7 @@ Features: Description: Contains the Phi type. "); - IExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader }); + IExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader }, new StubCacheManager()); var testFeature = extensionManager.AvailableExtensions() .SelectMany(x => x.Features) .Single(x => x.Name == "TestFeature"); @@ -384,7 +385,7 @@ Features: Description: Contains the Phi type. "); - IExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader }); + IExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader }, new StubCacheManager()); var testModule = extensionManager.AvailableExtensions() .SelectMany(x => x.Features) .Single(x => x.Name == "TestModule"); @@ -408,7 +409,7 @@ Version: 1.0.3 OrchardVersion: 1 "); - IExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader }); + IExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader }, new StubCacheManager()); var minimalisticModule = extensionManager.AvailableExtensions().Single(x => x.Name == "Minimalistic"); Assert.That(minimalisticModule.Features.Count(), Is.EqualTo(1)); @@ -427,7 +428,7 @@ Version: 1.0.3 OrchardVersion: 1 "); - IExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader }); + IExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader }, new StubCacheManager()); var minimalisticModule = extensionManager.AvailableExtensions().Single(x => x.Name == "Minimalistic"); Assert.That(minimalisticModule.Features.Count(), Is.EqualTo(1)); diff --git a/src/Orchard.Tests/Environment/Extensions/ExtensionManagerTests.cs b/src/Orchard.Tests/Environment/Extensions/ExtensionManagerTests.cs index 0bd04045b..48d70aeec 100644 --- a/src/Orchard.Tests/Environment/Extensions/ExtensionManagerTests.cs +++ b/src/Orchard.Tests/Environment/Extensions/ExtensionManagerTests.cs @@ -11,6 +11,7 @@ using Orchard.Environment.Extensions.Loaders; using Orchard.Environment.Extensions.Models; using Orchard.FileSystems.Dependencies; using Orchard.Tests.Extensions.ExtensionTypes; +using Orchard.Tests.Stubs; namespace Orchard.Tests.Environment.Extensions { [TestFixture] @@ -268,7 +269,7 @@ Features: Description: Contains the Phi type. "); - IExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader }); + IExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader }, new StubCacheManager()); var testFeature = extensionManager.AvailableExtensions() .SelectMany(x => x.Features); @@ -294,7 +295,7 @@ Features: Description: Contains the Phi type. "); - IExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader }); + IExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader }, new StubCacheManager()); var testFeature = extensionManager.AvailableExtensions() .SelectMany(x => x.Features); @@ -329,7 +330,7 @@ Features: Description: Contains the Phi type. "); - IExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader }); + IExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader }, new StubCacheManager()); var testFeature = extensionManager.AvailableExtensions() .SelectMany(x => x.Features) .Single(x => x.Name == "TestFeature"); @@ -359,7 +360,7 @@ Features: Description: Contains the Phi type. "); - IExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader }); + IExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader }, new StubCacheManager()); var testFeature = extensionManager.AvailableExtensions() .SelectMany(x => x.Features) .Single(x => x.Name == "TestFeature"); @@ -387,7 +388,7 @@ Features: Description: Contains the Phi type. "); - IExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader }); + IExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader }, new StubCacheManager()); var testModule = extensionManager.AvailableExtensions() .SelectMany(x => x.Features) .Single(x => x.Name == "TestModule"); @@ -411,7 +412,7 @@ Version: 1.0.3 OrchardVersion: 1 "); - IExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader }); + IExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader }, new StubCacheManager()); var minimalisticModule = extensionManager.AvailableExtensions().Single(x => x.Name == "Minimalistic"); Assert.That(minimalisticModule.Features.Count(), Is.EqualTo(1)); @@ -447,7 +448,7 @@ Features: Dependencies: Beta "); - IExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader }); + IExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader }, new StubCacheManager()); var features = extensionManager.AvailableFeatures(); Assert.That(features.Aggregate("<", (a,b)=>a+b.Name+"<"), Is.EqualTo(" a + b.Name + "<"), Is.EqualTo("().GetShapeTable(workContext.CurrentTheme.ThemeName); + var shapeTable = workContext.Resolve().GetShapeTable(workContext.CurrentTheme.Name);