diff --git a/src/Orchard.Specs/Bindings/OrchardSiteFactory.cs b/src/Orchard.Specs/Bindings/OrchardSiteFactory.cs index d9fde2601..a702b1d20 100644 --- a/src/Orchard.Specs/Bindings/OrchardSiteFactory.cs +++ b/src/Orchard.Specs/Bindings/OrchardSiteFactory.cs @@ -2,6 +2,7 @@ using Orchard.Environment.Configuration; using Orchard.Environment.Descriptor; using Orchard.Environment.Descriptor.Models; +using Orchard.Environment.Extensions.Models; using Orchard.Specs.Hosting.Orchard.Web; using TechTalk.SpecFlow; @@ -20,9 +21,9 @@ namespace Orchard.Specs.Bindings { webApp.GivenIHaveACleanSiteWith( virtualDirectory, TableData( - new { extension = "module", names = "Orchard.Setup, Orchard.Pages, Orchard.Blogs, Orchard.Messaging, Orchard.Modules, Orchard.Packaging, Orchard.PublishLater, Orchard.Themes, Orchard.Scripting, Orchard.Widgets, Orchard.Users, Orchard.Roles, Orchard.Comments, Orchard.jQuery, Orchard.Tags, TinyMce" }, - new { extension = "core", names = "Common, Dashboard, Feeds, HomePage, Navigation, Contents, Routable, Scheduling, Settings, Shapes, XmlRpc" }, - new { extension = "theme", names = "SafeMode, TheAdmin, TheThemeMachine" })); + new { extension = DefaultExtensionTypes.Module, names = "Orchard.Setup, Orchard.Pages, Orchard.Blogs, Orchard.Messaging, Orchard.Modules, Orchard.Packaging, Orchard.PublishLater, Orchard.Themes, Orchard.Scripting, Orchard.Widgets, Orchard.Users, Orchard.Roles, Orchard.Comments, Orchard.jQuery, Orchard.Tags, TinyMce" }, + new { extension = DefaultExtensionTypes.Core, names = "Common, Dashboard, Feeds, HomePage, Navigation, Contents, Routable, Scheduling, Settings, Shapes, XmlRpc" }, + new { extension = DefaultExtensionTypes.Theme, names = "SafeMode, TheAdmin, TheThemeMachine" })); webApp.WhenIGoTo("Setup"); diff --git a/src/Orchard.Specs/Bindings/WebAppHosting.cs b/src/Orchard.Specs/Bindings/WebAppHosting.cs index 5d8d009d7..93aa54d3c 100644 --- a/src/Orchard.Specs/Bindings/WebAppHosting.cs +++ b/src/Orchard.Specs/Bindings/WebAppHosting.cs @@ -7,6 +7,7 @@ using HtmlAgilityPack; using log4net.Appender; using log4net.Core; using NUnit.Framework; +using Orchard.Environment.Extensions.Models; using Orchard.Specs.Hosting; using TechTalk.SpecFlow; using Path = Bleroy.FluentPath.Path; @@ -140,13 +141,13 @@ namespace Orchard.Specs.Bindings { foreach (var row in table.Rows) { foreach (var name in row["names"].Split(',').Select(x => x.Trim())) { switch (row["extension"]) { - case "core": + case DefaultExtensionTypes.Core: GivenIHaveCore(name); break; - case "module": + case DefaultExtensionTypes.Module: GivenIHaveModule(name); break; - case "theme": + case DefaultExtensionTypes.Theme: GivenIHaveTheme(name); break; default: diff --git a/src/Orchard.Specs/Setup.feature b/src/Orchard.Specs/Setup.feature index 0ca7bad8d..c5fa0d54d 100644 --- a/src/Orchard.Specs/Setup.feature +++ b/src/Orchard.Specs/Setup.feature @@ -6,9 +6,9 @@ Feature: Setup Scenario: Root request shows setup form Given I have a clean site with | extension | names | - | module | Orchard.Setup, Orchard.Pages, Orchard.Users, Orchard.Roles, Orchard.Messaging, Orchard.Comments, Orchard.PublishLater, Orchard.Themes, Orchard.jQuery, TinyMce | - | core | Common, Contents, Dashboard, Feeds, HomePage, Navigation, Routable, Scheduling, Settings, Shapes, XmlRpc | - | theme | SafeMode | + | Module | Orchard.Setup, Orchard.Pages, Orchard.Users, Orchard.Roles, Orchard.Messaging, Orchard.Comments, Orchard.PublishLater, Orchard.Themes, Orchard.jQuery, TinyMce | + | Core | Common, Contents, Dashboard, Feeds, HomePage, Navigation, Routable, Scheduling, Settings, Shapes, XmlRpc | + | Theme | SafeMode | When I go to "/Default.aspx" Then I should see "Welcome to Orchard" And I should see "Finish Setup" @@ -17,9 +17,9 @@ Scenario: Root request shows setup form Scenario: Setup folder also shows setup form Given I have a clean site with | extension | names | - | module | Orchard.Setup, Orchard.Pages, Orchard.Users, Orchard.Roles, Orchard.Messaging, Orchard.Comments, Orchard.PublishLater, Orchard.Themes, Orchard.jQuery, TinyMce | - | core | Common, Contents, Dashboard, Feeds, HomePage, Navigation, Routable, Scheduling, Settings, Shapes, XmlRpc | - | theme | SafeMode | + | Module | Orchard.Setup, Orchard.Pages, Orchard.Users, Orchard.Roles, Orchard.Messaging, Orchard.Comments, Orchard.PublishLater, Orchard.Themes, Orchard.jQuery, TinyMce | + | Core | Common, Contents, Dashboard, Feeds, HomePage, Navigation, Routable, Scheduling, Settings, Shapes, XmlRpc | + | Theme | SafeMode | When I go to "/Setup" Then I should see "Welcome to Orchard" And I should see "Finish Setup" @@ -28,9 +28,9 @@ Scenario: Setup folder also shows setup form Scenario: Some of the initial form values are required Given I have a clean site with | extension | names | - | module | Orchard.Setup, Orchard.Pages, Orchard.Users, Orchard.Roles, Orchard.Messaging, Orchard.Comments, Orchard.PublishLater, Orchard.Themes, Orchard.jQuery, TinyMce | - | core | Common, Contents, Dashboard, Feeds, HomePage, Navigation, Routable, Scheduling, Settings, Shapes, XmlRpc | - | theme | SafeMode | + | Module | Orchard.Setup, Orchard.Pages, Orchard.Users, Orchard.Roles, Orchard.Messaging, Orchard.Comments, Orchard.PublishLater, Orchard.Themes, Orchard.jQuery, TinyMce | + | Core | Common, Contents, Dashboard, Feeds, HomePage, Navigation, Routable, Scheduling, Settings, Shapes, XmlRpc | + | Theme | SafeMode | When I go to "/Setup" And I hit "Finish Setup" Then I should see "" @@ -39,9 +39,9 @@ Scenario: Some of the initial form values are required Scenario: Calling setup on a brand new install Given I have a clean site with | extension | names | - | module | Orchard.Setup, Orchard.Pages, Orchard.Users, Orchard.Roles, Orchard.Messaging, Orchard.Scripting, Orchard.Comments, Orchard.PublishLater, Orchard.Themes, Orchard.Modules, Orchard.Widgets, Orchard.jQuery, TinyMce | - | core | Common, Contents, Dashboard, Feeds, HomePage, Navigation, Routable, Scheduling, Settings, Shapes, XmlRpc | - | theme | SafeMode, TheThemeMachine | + | Module | Orchard.Setup, Orchard.Pages, Orchard.Users, Orchard.Roles, Orchard.Messaging, Orchard.Scripting, Orchard.Comments, Orchard.PublishLater, Orchard.Themes, Orchard.Modules, Orchard.Widgets, Orchard.jQuery, TinyMce | + | Core | Common, Contents, Dashboard, Feeds, HomePage, Navigation, Routable, Scheduling, Settings, Shapes, XmlRpc | + | Theme | SafeMode, TheThemeMachine | And I am on "/Setup" When I fill in | name | value | diff --git a/src/Orchard.Specs/Setup.feature.cs b/src/Orchard.Specs/Setup.feature.cs index a1efb7e04..8dac8372a 100644 --- a/src/Orchard.Specs/Setup.feature.cs +++ b/src/Orchard.Specs/Setup.feature.cs @@ -65,15 +65,15 @@ this.ScenarioSetup(scenarioInfo); "extension", "names"}); table1.AddRow(new string[] { - "module", + "Module", "Orchard.Setup, Orchard.Pages, Orchard.Users, Orchard.Roles, Orchard.Messaging, Or" + "chard.Comments, Orchard.PublishLater, Orchard.Themes, Orchard.jQuery, TinyMce"}); table1.AddRow(new string[] { - "core", + "Core", "Common, Contents, Dashboard, Feeds, HomePage, Navigation, Routable, Scheduling, S" + "ettings, Shapes, XmlRpc"}); table1.AddRow(new string[] { - "theme", + "Theme", "SafeMode"}); #line 7 testRunner.Given("I have a clean site with", ((string)(null)), table1); @@ -101,15 +101,15 @@ this.ScenarioSetup(scenarioInfo); "extension", "names"}); table2.AddRow(new string[] { - "module", + "Module", "Orchard.Setup, Orchard.Pages, Orchard.Users, Orchard.Roles, Orchard.Messaging, Or" + "chard.Comments, Orchard.PublishLater, Orchard.Themes, Orchard.jQuery, TinyMce"}); table2.AddRow(new string[] { - "core", + "Core", "Common, Contents, Dashboard, Feeds, HomePage, Navigation, Routable, Scheduling, S" + "ettings, Shapes, XmlRpc"}); table2.AddRow(new string[] { - "theme", + "Theme", "SafeMode"}); #line 18 testRunner.Given("I have a clean site with", ((string)(null)), table2); @@ -137,15 +137,15 @@ this.ScenarioSetup(scenarioInfo); "extension", "names"}); table3.AddRow(new string[] { - "module", + "Module", "Orchard.Setup, Orchard.Pages, Orchard.Users, Orchard.Roles, Orchard.Messaging, Or" + "chard.Comments, Orchard.PublishLater, Orchard.Themes, Orchard.jQuery, TinyMce"}); table3.AddRow(new string[] { - "core", + "Core", "Common, Contents, Dashboard, Feeds, HomePage, Navigation, Routable, Scheduling, S" + "ettings, Shapes, XmlRpc"}); table3.AddRow(new string[] { - "theme", + "Theme", "SafeMode"}); #line 29 testRunner.Given("I have a clean site with", ((string)(null)), table3); @@ -175,16 +175,16 @@ this.ScenarioSetup(scenarioInfo); "extension", "names"}); table4.AddRow(new string[] { - "module", + "Module", "Orchard.Setup, Orchard.Pages, Orchard.Users, Orchard.Roles, Orchard.Messaging, Or" + "chard.Scripting, Orchard.Comments, Orchard.PublishLater, Orchard.Themes, Orchard" + ".Modules, Orchard.Widgets, Orchard.jQuery, TinyMce"}); table4.AddRow(new string[] { - "core", + "Core", "Common, Contents, Dashboard, Feeds, HomePage, Navigation, Routable, Scheduling, S" + "ettings, Shapes, XmlRpc"}); table4.AddRow(new string[] { - "theme", + "Theme", "SafeMode, TheThemeMachine"}); #line 40 testRunner.Given("I have a clean site with", ((string)(null)), table4); diff --git a/src/Orchard.Tests.Modules/Migrations/SchemaCommandGeneratorTests.cs b/src/Orchard.Tests.Modules/Migrations/SchemaCommandGeneratorTests.cs index 0477f9cd1..96c08e41a 100644 --- a/src/Orchard.Tests.Modules/Migrations/SchemaCommandGeneratorTests.cs +++ b/src/Orchard.Tests.Modules/Migrations/SchemaCommandGeneratorTests.cs @@ -123,7 +123,7 @@ Features: public IEnumerable AvailableExtensions() { foreach (var e in Manifests) { string name = e.Key; - yield return ExtensionFolders.GetDescriptorForExtension("~/", name, "Module", Manifests[name]); + yield return ExtensionFolders.GetDescriptorForExtension("~/", name, DefaultExtensionTypes.Module, Manifests[name]); } } } diff --git a/src/Orchard.Tests.Modules/Packaging/PackageBuilderTests.cs b/src/Orchard.Tests.Modules/Packaging/PackageBuilderTests.cs index c027ec556..e0c1949f2 100644 --- a/src/Orchard.Tests.Modules/Packaging/PackageBuilderTests.cs +++ b/src/Orchard.Tests.Modules/Packaging/PackageBuilderTests.cs @@ -1,12 +1,8 @@ using System; -using System.Collections.Generic; using System.IO; using System.IO.Packaging; -using System.Linq; -using System.Text; using Autofac; using NUnit.Framework; -using Orchard.Environment.Extensions; using Orchard.Environment.Extensions.Models; using Orchard.FileSystems.WebSite; using Orchard.Packaging.Services; @@ -30,7 +26,7 @@ namespace Orchard.Tests.Modules.Packaging { } return packageBuilder.BuildPackage(new ExtensionDescriptor { - ExtensionType = "Module", + ExtensionType = DefaultExtensionTypes.Module, Id = "Hello.World", Version = "1.0", Description = "a", diff --git a/src/Orchard.Tests.Modules/Packaging/PackageExpanderTests.cs b/src/Orchard.Tests.Modules/Packaging/PackageExpanderTests.cs index ad8100586..b44bd86a1 100644 --- a/src/Orchard.Tests.Modules/Packaging/PackageExpanderTests.cs +++ b/src/Orchard.Tests.Modules/Packaging/PackageExpanderTests.cs @@ -1,12 +1,6 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.IO.Packaging; -using System.Linq; -using System.Text; +using System.IO; using Autofac; using NUnit.Framework; -using Orchard.Environment.Extensions; using Orchard.Environment.Extensions.Models; using Orchard.FileSystems.VirtualPath; using Orchard.FileSystems.WebSite; @@ -27,7 +21,7 @@ namespace Orchard.Tests.Modules.Packaging { private Stream BuildHelloWorld(IPackageBuilder packageBuilder) { return packageBuilder.BuildPackage(new ExtensionDescriptor { - ExtensionType = "Module", + ExtensionType = DefaultExtensionTypes.Module, Id = "Hello.World", Version = "1.0", Description = "a", diff --git a/src/Orchard.Tests/DataMigration/DataMigrationTests.cs b/src/Orchard.Tests/DataMigration/DataMigrationTests.cs index 7f5eb746d..266c7334e 100644 --- a/src/Orchard.Tests/DataMigration/DataMigrationTests.cs +++ b/src/Orchard.Tests/DataMigration/DataMigrationTests.cs @@ -90,7 +90,7 @@ namespace Orchard.Tests.DataMigration { public IEnumerable AvailableExtensions() { foreach (var e in Manifests) { string name = e.Key; - yield return ExtensionFolders.GetDescriptorForExtension("~/", name, "Module", Manifests[name]); + yield return ExtensionFolders.GetDescriptorForExtension("~/", name, DefaultExtensionTypes.Module, Manifests[name]); } } } diff --git a/src/Orchard.Tests/DisplayManagement/Descriptors/DefaultShapeTableManagerTests.cs b/src/Orchard.Tests/DisplayManagement/Descriptors/DefaultShapeTableManagerTests.cs index 84bbb7177..5cdf6e35d 100644 --- a/src/Orchard.Tests/DisplayManagement/Descriptors/DefaultShapeTableManagerTests.cs +++ b/src/Orchard.Tests/DisplayManagement/Descriptors/DefaultShapeTableManagerTests.cs @@ -21,14 +21,14 @@ namespace Orchard.Tests.DisplayManagement.Descriptors { Id = "Theme1", Extension = new ExtensionDescriptor { Id = "Theme1", - ExtensionType = "Theme" + ExtensionType = DefaultExtensionTypes.Theme } }, new FeatureDescriptor { Id = "DerivedTheme", Extension = new ExtensionDescriptor { Id = "DerivedTheme", - ExtensionType = "Theme", + ExtensionType = DefaultExtensionTypes.Theme, BaseTheme = "BaseTheme" } }, @@ -36,7 +36,7 @@ namespace Orchard.Tests.DisplayManagement.Descriptors { Id = "BaseTheme", Extension = new ExtensionDescriptor { Id = "BaseTheme", - ExtensionType = "Theme" + ExtensionType = DefaultExtensionTypes.Theme } } }; @@ -69,7 +69,7 @@ namespace Orchard.Tests.DisplayManagement.Descriptors { Dependencies = Enumerable.Empty(), Extension = new ExtensionDescriptor { Id = "Testing", - ExtensionType = "Module", + ExtensionType = DefaultExtensionTypes.Module, } } }; diff --git a/src/Orchard.Tests/DisplayManagement/Descriptors/ShapeAttributeBindingStrategyTests.cs b/src/Orchard.Tests/DisplayManagement/Descriptors/ShapeAttributeBindingStrategyTests.cs index 17dd8927c..4fe4ebd98 100644 --- a/src/Orchard.Tests/DisplayManagement/Descriptors/ShapeAttributeBindingStrategyTests.cs +++ b/src/Orchard.Tests/DisplayManagement/Descriptors/ShapeAttributeBindingStrategyTests.cs @@ -19,7 +19,7 @@ namespace Orchard.Tests.DisplayManagement.Descriptors { public class ShapeAttributeBindingStrategyTests : ContainerTestBase { private Feature _testFeature; - protected override void Register([NotNull] Autofac.ContainerBuilder builder) { + protected override void Register([NotNull] ContainerBuilder builder) { if (builder == null) { throw new ArgumentNullException("builder"); } @@ -29,7 +29,7 @@ namespace Orchard.Tests.DisplayManagement.Descriptors { Id = "Testing", Extension = new ExtensionDescriptor { Id = "Testing", - ExtensionType = "Module", + ExtensionType = DefaultExtensionTypes.Module, } } }; diff --git a/src/Orchard.Tests/DisplayManagement/SubsystemTests.cs b/src/Orchard.Tests/DisplayManagement/SubsystemTests.cs index 953958392..34e4b7a1b 100644 --- a/src/Orchard.Tests/DisplayManagement/SubsystemTests.cs +++ b/src/Orchard.Tests/DisplayManagement/SubsystemTests.cs @@ -28,7 +28,7 @@ namespace Orchard.Tests.DisplayManagement { Extension = new ExtensionDescriptor { Id = "Testing", - ExtensionType = "Module", + ExtensionType = DefaultExtensionTypes.Module, } } }; diff --git a/src/Orchard.Tests/Environment/Extensions/ExtensionLoaderCoordinatorTests.cs b/src/Orchard.Tests/Environment/Extensions/ExtensionLoaderCoordinatorTests.cs index 9eb172636..f8ebc85b5 100644 --- a/src/Orchard.Tests/Environment/Extensions/ExtensionLoaderCoordinatorTests.cs +++ b/src/Orchard.Tests/Environment/Extensions/ExtensionLoaderCoordinatorTests.cs @@ -23,7 +23,7 @@ namespace Orchard.Tests.Environment.Extensions { [SetUp] public void Init() { var builder = new ContainerBuilder(); - _folders = new StubFolders("Module"); + _folders = new StubFolders(DefaultExtensionTypes.Module); builder.RegisterInstance(_folders).As(); builder.RegisterType().As(); builder.RegisterType().As(); @@ -254,7 +254,7 @@ Features: [Test] public void ExtensionManagerShouldLoadFeatures() { var extensionLoader = new StubLoaders(); - var extensionFolder = new StubFolders("Module"); + var extensionFolder = new StubFolders(DefaultExtensionTypes.Module); extensionFolder.Manifests.Add("TestModule", @" Name: TestModule @@ -280,7 +280,7 @@ Features: [Test] public void ExtensionManagerFeaturesContainNonAbstractClasses() { var extensionLoader = new StubLoaders(); - var extensionFolder = new StubFolders("Module"); + var extensionFolder = new StubFolders(DefaultExtensionTypes.Module); extensionFolder.Manifests.Add("TestModule", @" Name: TestModule @@ -315,7 +315,7 @@ Features: [Test] public void ExtensionManagerTestFeatureAttribute() { var extensionLoader = new StubLoaders(); - var extensionFolder = new StubFolders("Module"); + var extensionFolder = new StubFolders(DefaultExtensionTypes.Module); extensionFolder.Manifests.Add("TestModule", @" Name: TestModule @@ -345,7 +345,7 @@ Features: [Test] public void ExtensionManagerLoadFeatureReturnsTypesFromSpecificFeaturesWithFeatureAttribute() { var extensionLoader = new StubLoaders(); - var extensionFolder = new StubFolders("Module"); + var extensionFolder = new StubFolders(DefaultExtensionTypes.Module); extensionFolder.Manifests.Add("TestModule", @" Name: TestModule @@ -373,7 +373,7 @@ Features: [Test] public void ExtensionManagerLoadFeatureDoesNotReturnTypesFromNonMatchingFeatures() { var extensionLoader = new StubLoaders(); - var extensionFolder = new StubFolders("Module"); + var extensionFolder = new StubFolders(DefaultExtensionTypes.Module); extensionFolder.Manifests.Add("TestModule", @" Name: TestModule @@ -402,7 +402,7 @@ Features: [Test] public void ModuleNameIsIntroducedAsFeatureImplicitly() { var extensionLoader = new StubLoaders(); - var extensionFolder = new StubFolders("Module"); + var extensionFolder = new StubFolders(DefaultExtensionTypes.Module); extensionFolder.Manifests.Add("Minimalistic", @" Name: Minimalistic @@ -421,7 +421,7 @@ OrchardVersion: 1 [Test] public void ThemeNameIsIntroducedAsFeatureImplicitly() { var extensionLoader = new StubLoaders(); - var extensionFolder = new StubFolders("Theme"); + var extensionFolder = new StubFolders(DefaultExtensionTypes.Theme); extensionFolder.Manifests.Add("Minimalistic", @" Name: Minimalistic diff --git a/src/Orchard.Tests/Environment/Extensions/ExtensionManagerTests.cs b/src/Orchard.Tests/Environment/Extensions/ExtensionManagerTests.cs index 098cfec93..e16905dfa 100644 --- a/src/Orchard.Tests/Environment/Extensions/ExtensionManagerTests.cs +++ b/src/Orchard.Tests/Environment/Extensions/ExtensionManagerTests.cs @@ -41,7 +41,7 @@ namespace Orchard.Tests.Environment.Extensions { } public StubFolders() - : this("Module") { + : this(DefaultExtensionTypes.Module) { } public IDictionary Manifests { get; set; } @@ -459,7 +459,7 @@ Features: public void FeatureDescriptorsShouldBeLoadedInThemes() { var extensionLoader = new StubLoaders(); var moduleExtensionFolder = new StubFolders(); - var themeExtensionFolder = new StubFolders("Theme"); + var themeExtensionFolder = new StubFolders(DefaultExtensionTypes.Theme); moduleExtensionFolder.Manifests.Add("Alpha", @" Name: Alpha @@ -499,7 +499,7 @@ OrchardVersion: 1 public void ThemeFeatureDescriptorsShouldBeAbleToDependOnModules() { var extensionLoader = new StubLoaders(); var moduleExtensionFolder = new StubFolders(); - var themeExtensionFolder = new StubFolders("Theme"); + var themeExtensionFolder = new StubFolders(DefaultExtensionTypes.Theme); moduleExtensionFolder.Manifests.Add("Alpha", @" Name: Alpha diff --git a/src/Orchard.Web/Modules/Orchard.CodeGeneration/Commands/CodeGenerationCommands.cs b/src/Orchard.Web/Modules/Orchard.CodeGeneration/Commands/CodeGenerationCommands.cs index 3504adf17..05067dba9 100644 --- a/src/Orchard.Web/Modules/Orchard.CodeGeneration/Commands/CodeGenerationCommands.cs +++ b/src/Orchard.Web/Modules/Orchard.CodeGeneration/Commands/CodeGenerationCommands.cs @@ -4,13 +4,12 @@ using System.Globalization; using System.IO; using System.Linq; using System.Web.Hosting; +using Orchard.CodeGeneration.Services; using Orchard.Commands; using Orchard.Data.Migration.Generator; -using Orchard.CodeGeneration.Services; using Orchard.Data.Migration.Schema; using Orchard.Environment.Extensions; using Orchard.Environment.Extensions.Models; -using Orchard.Localization; namespace Orchard.CodeGeneration.Commands { @@ -52,7 +51,7 @@ namespace Orchard.CodeGeneration.Commands { public bool CreateDataMigration(string featureName) { Context.Output.WriteLine(T("Creating Data Migration for {0}", featureName)); - ExtensionDescriptor extensionDescriptor = _extensionManager.AvailableExtensions().FirstOrDefault(extension => extension.ExtensionType == "Module" && + ExtensionDescriptor extensionDescriptor = _extensionManager.AvailableExtensions().FirstOrDefault(extension => extension.ExtensionType == DefaultExtensionTypes.Module && extension.Features.Any(feature => String.Equals(feature.Id, featureName, StringComparison.OrdinalIgnoreCase))); if (extensionDescriptor == null) { @@ -137,7 +136,7 @@ namespace Orchard.CodeGeneration.Commands { else { if (!string.IsNullOrEmpty(BasedOn)) { if (!_extensionManager.AvailableExtensions().Any(extension => - string.Equals(extension.ExtensionType, "Theme", StringComparison.OrdinalIgnoreCase) && + string.Equals(extension.ExtensionType, DefaultExtensionTypes.Theme, StringComparison.OrdinalIgnoreCase) && string.Equals(BasedOn, extension.Id, StringComparison.OrdinalIgnoreCase))) { Context.Output.WriteLine(T("Creating Theme {0} failed: base theme named {1} was not found.", themeName, BasedOn)); return; @@ -153,7 +152,7 @@ namespace Orchard.CodeGeneration.Commands { public void CreateController(string moduleName, string controllerName) { Context.Output.WriteLine(T("Creating Controller {0} in Module {1}", controllerName, moduleName)); - ExtensionDescriptor extensionDescriptor = _extensionManager.AvailableExtensions().FirstOrDefault(extension => extension.ExtensionType == "Module" && + ExtensionDescriptor extensionDescriptor = _extensionManager.AvailableExtensions().FirstOrDefault(extension => extension.ExtensionType == DefaultExtensionTypes.Module && string.Equals(moduleName, extension.Name, StringComparison.OrdinalIgnoreCase)); if (extensionDescriptor == null) { diff --git a/src/Orchard.Web/Modules/Orchard.Modules/Controllers/AdminController.cs b/src/Orchard.Web/Modules/Orchard.Modules/Controllers/AdminController.cs index fc094bcb6..26f0a4350 100644 --- a/src/Orchard.Web/Modules/Orchard.Modules/Controllers/AdminController.cs +++ b/src/Orchard.Web/Modules/Orchard.Modules/Controllers/AdminController.cs @@ -4,6 +4,7 @@ using System.Web.Mvc; using Orchard.Data.Migration; using Orchard.Environment.Descriptor.Models; using Orchard.Environment.Extensions; +using Orchard.Environment.Extensions.Models; using Orchard.Environment.Features; using Orchard.Localization; using Orchard.Modules.Services; @@ -46,7 +47,7 @@ namespace Orchard.Modules.Controllers { if (!Services.Authorizer.Authorize(Permissions.ManageModules, T("Not allowed to manage modules"))) return new HttpUnauthorizedResult(); - var modules = _extensionManager.AvailableExtensions().Where(x => x.ExtensionType == "Module"); + var modules = _extensionManager.AvailableExtensions().Where(x => x.ExtensionType == DefaultExtensionTypes.Module); return View(new ModulesIndexViewModel { Modules = modules, @@ -60,7 +61,7 @@ namespace Orchard.Modules.Controllers { var featuresThatNeedUpdate = _dataMigrationManager.GetFeaturesThatNeedUpdate(); var features = _featureManager.GetAvailableFeatures() - .Where(f => !f.Extension.ExtensionType.Equals("Theme", StringComparison.OrdinalIgnoreCase)) + .Where(f => !f.Extension.ExtensionType.Equals(DefaultExtensionTypes.Theme, StringComparison.OrdinalIgnoreCase)) .Select(f=>new ModuleFeature{Descriptor=f, IsEnabled=_shellDescriptor.Features.Any(sf=>sf.Name==f.Id), NeedsUpdate=featuresThatNeedUpdate.Contains(f.Id)}) diff --git a/src/Orchard.Web/Modules/Orchard.Modules/Services/ModuleService.cs b/src/Orchard.Web/Modules/Orchard.Modules/Services/ModuleService.cs index 325726328..8cc0d6244 100644 --- a/src/Orchard.Web/Modules/Orchard.Modules/Services/ModuleService.cs +++ b/src/Orchard.Web/Modules/Orchard.Modules/Services/ModuleService.cs @@ -19,20 +19,16 @@ namespace Orchard.Modules.Services { } public class ModuleService : IModuleService { - private const string ModuleExtensionType = "module"; private readonly IExtensionManager _extensionManager; private readonly IShellDescriptorManager _shellDescriptorManager; - private readonly IWorkContextAccessor _workContextAccessor; public ModuleService( IOrchardServices orchardServices, IExtensionManager extensionManager, - IShellDescriptorManager shellDescriptorManager, - IWorkContextAccessor workContextAccessor) { + IShellDescriptorManager shellDescriptorManager) { Services = orchardServices; _extensionManager = extensionManager; _shellDescriptorManager = shellDescriptorManager; - _workContextAccessor = workContextAccessor; T = NullLocalizer.Instance; } diff --git a/src/Orchard.Web/Modules/Orchard.Packaging/Services/PackageBuilder.cs b/src/Orchard.Web/Modules/Orchard.Packaging/Services/PackageBuilder.cs index 8569a650c..40beb141b 100644 --- a/src/Orchard.Web/Modules/Orchard.Packaging/Services/PackageBuilder.cs +++ b/src/Orchard.Web/Modules/Orchard.Packaging/Services/PackageBuilder.cs @@ -47,7 +47,7 @@ namespace Orchard.Packaging.Services { EmbedProjectFiles(context, "Compile", "Content", "None", "EmbeddedResource"); EmbedReferenceFiles(context); } - else if (extensionDescriptor.ExtensionType == "Theme") { + else if (extensionDescriptor.ExtensionType == DefaultExtensionTypes.Theme) { // this is a simple theme with no csproj EmbedThemeFiles(context); } @@ -141,7 +141,7 @@ namespace Orchard.Packaging.Services { private static void EstablishPaths(CreateContext context, IWebSiteFolder webSiteFolder, string locationPath, string moduleName, string moduleType) { context.SourceFolder = webSiteFolder; - if (moduleType == "Theme") { + if (moduleType == DefaultExtensionTypes.Theme) { context.SourcePath = "~/Themes/" + moduleName + "/"; context.TargetPath = "\\Content\\Themes\\" + moduleName + "\\"; } diff --git a/src/Orchard.Web/Modules/Orchard.Packaging/Services/PackageInstaller.cs b/src/Orchard.Web/Modules/Orchard.Packaging/Services/PackageInstaller.cs index 2bb605c88..22c2f0497 100644 --- a/src/Orchard.Web/Modules/Orchard.Packaging/Services/PackageInstaller.cs +++ b/src/Orchard.Web/Modules/Orchard.Packaging/Services/PackageInstaller.cs @@ -2,6 +2,7 @@ using System; using System.IO; using NuGet; using Orchard.Environment.Extensions; +using Orchard.Environment.Extensions.Models; using Orchard.FileSystems.AppData; using Orchard.Localization; using Orchard.UI.Notify; @@ -94,7 +95,7 @@ namespace Orchard.Packaging.Services { { ExtensionName = package.Title ?? package.Id, ExtensionVersion = package.Version.ToString(), - ExtensionType = package.Id.StartsWith("Orchard.Theme") ? "Theme" : "Module", + ExtensionType = package.Id.StartsWith("Orchard.Theme") ? DefaultExtensionTypes.Theme : DefaultExtensionTypes.Module, ExtensionPath = applicationPath }; } diff --git a/src/Orchard.Web/Modules/Orchard.Themes/Controllers/AdminController.cs b/src/Orchard.Web/Modules/Orchard.Themes/Controllers/AdminController.cs index d1c26ee7d..fb123917a 100644 --- a/src/Orchard.Web/Modules/Orchard.Themes/Controllers/AdminController.cs +++ b/src/Orchard.Web/Modules/Orchard.Themes/Controllers/AdminController.cs @@ -5,6 +5,7 @@ using System.Web.Mvc; using Orchard.Data.Migration; using Orchard.Environment.Descriptor.Models; using Orchard.Environment.Extensions; +using Orchard.Environment.Extensions.Models; using Orchard.Environment.Features; using Orchard.Localization; using Orchard.Reports.Services; @@ -58,7 +59,7 @@ namespace Orchard.Themes.Controllers { var featuresThatNeedUpdate = _dataMigrationManager.GetFeaturesThatNeedUpdate(); var themes = _extensionManager.AvailableExtensions() - .Where(d => d.ExtensionType == "Theme") + .Where(d => d.ExtensionType == DefaultExtensionTypes.Theme) .Select(d => new ThemeEntry { Descriptor = d, NeedsUpdate = featuresThatNeedUpdate.Contains(d.Id), diff --git a/src/Orchard.Web/Modules/Orchard.Themes/Preview/PreviewThemeFilter.cs b/src/Orchard.Web/Modules/Orchard.Themes/Preview/PreviewThemeFilter.cs index aedf0be0b..ac398d620 100644 --- a/src/Orchard.Web/Modules/Orchard.Themes/Preview/PreviewThemeFilter.cs +++ b/src/Orchard.Web/Modules/Orchard.Themes/Preview/PreviewThemeFilter.cs @@ -1,25 +1,22 @@ using System.Linq; using System.Web.Mvc; using Orchard.DisplayManagement; +using Orchard.Environment.Extensions.Models; using Orchard.Environment.Features; using Orchard.Mvc.Filters; -using Orchard.Themes.ViewModels; namespace Orchard.Themes.Preview { public class PreviewThemeFilter : FilterProvider, IResultFilter { - private readonly IThemeManager _themeManager; private readonly IPreviewTheme _previewTheme; private readonly IWorkContextAccessor _workContextAccessor; private readonly dynamic _shapeFactory; private readonly IFeatureManager _featureManager; public PreviewThemeFilter( - IThemeManager themeManager, IPreviewTheme previewTheme, IWorkContextAccessor workContextAccessor, IShapeFactory shapeFactory, IFeatureManager featureManager) { - _themeManager = themeManager; _previewTheme = previewTheme; _workContextAccessor = workContextAccessor; _shapeFactory = shapeFactory; @@ -33,7 +30,7 @@ namespace Orchard.Themes.Preview { var installedThemes = _featureManager.GetEnabledFeatures() .Select(x => x.Extension) - .Where(x => x.ExtensionType == "Theme") + .Where(x => x.ExtensionType == DefaultExtensionTypes.Theme) .Distinct(); var themeListItems = installedThemes diff --git a/src/Orchard.Web/Modules/Orchard.Themes/Services/ThemeService.cs b/src/Orchard.Web/Modules/Orchard.Themes/Services/ThemeService.cs index ee75ddbdd..5e5ed5756 100644 --- a/src/Orchard.Web/Modules/Orchard.Themes/Services/ThemeService.cs +++ b/src/Orchard.Web/Modules/Orchard.Themes/Services/ThemeService.cs @@ -110,7 +110,7 @@ namespace Orchard.Themes.Services { var themes = new List(); foreach (var descriptor in extensions) { - if (!string.Equals(descriptor.ExtensionType, "Theme", StringComparison.OrdinalIgnoreCase)) { + if (!string.Equals(descriptor.ExtensionType, DefaultExtensionTypes.Theme, StringComparison.OrdinalIgnoreCase)) { continue; } diff --git a/src/Orchard.Web/Modules/Orchard.Widgets/Services/IRuleManager.cs b/src/Orchard.Web/Modules/Orchard.Widgets/Services/IRuleManager.cs index 706e549bb..38cdae2da 100644 --- a/src/Orchard.Web/Modules/Orchard.Widgets/Services/IRuleManager.cs +++ b/src/Orchard.Web/Modules/Orchard.Widgets/Services/IRuleManager.cs @@ -2,4 +2,4 @@ public interface IRuleManager : IDependency { bool Matches(string expression); } -} +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Widgets/Services/IRuleProvider.cs b/src/Orchard.Web/Modules/Orchard.Widgets/Services/IRuleProvider.cs index b85700271..260b46f0c 100644 --- a/src/Orchard.Web/Modules/Orchard.Widgets/Services/IRuleProvider.cs +++ b/src/Orchard.Web/Modules/Orchard.Widgets/Services/IRuleProvider.cs @@ -2,5 +2,4 @@ public interface IRuleProvider : IDependency { void Process(RuleContext ruleContext); } -} - +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Widgets/Services/RuleContext.cs b/src/Orchard.Web/Modules/Orchard.Widgets/Services/RuleContext.cs index dfac56841..d1db6dea2 100644 --- a/src/Orchard.Web/Modules/Orchard.Widgets/Services/RuleContext.cs +++ b/src/Orchard.Web/Modules/Orchard.Widgets/Services/RuleContext.cs @@ -4,4 +4,4 @@ public object[] Arguments { get; set; } public object Result { get; set; } } -} +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Widgets/Services/WidgetsService.cs b/src/Orchard.Web/Modules/Orchard.Widgets/Services/WidgetsService.cs index 6acc19f0c..d17aeb288 100644 --- a/src/Orchard.Web/Modules/Orchard.Widgets/Services/WidgetsService.cs +++ b/src/Orchard.Web/Modules/Orchard.Widgets/Services/WidgetsService.cs @@ -3,6 +3,7 @@ using System.Linq; using JetBrains.Annotations; using Orchard.ContentManagement; using Orchard.ContentManagement.Aspects; +using Orchard.Environment.Extensions.Models; using Orchard.Environment.Features; using Orchard.Widgets.Models; @@ -42,7 +43,7 @@ namespace Orchard.Widgets.Services { public IEnumerable GetZones() { return _featureManager.GetEnabledFeatures() .Select(x => x.Extension) - .Where(x => x.ExtensionType == "Theme") + .Where(x => x.ExtensionType == DefaultExtensionTypes.Theme) .SelectMany(x => x.Zones.Split(',')) .Distinct() .Select(x => x.Trim()) diff --git a/src/Orchard/DisplayManagement/Descriptors/DefaultShapeTableManager.cs b/src/Orchard/DisplayManagement/Descriptors/DefaultShapeTableManager.cs index e5cf361c6..8d63b5174 100644 --- a/src/Orchard/DisplayManagement/Descriptors/DefaultShapeTableManager.cs +++ b/src/Orchard/DisplayManagement/Descriptors/DefaultShapeTableManager.cs @@ -66,12 +66,11 @@ namespace Orchard.DisplayManagement.Descriptors { } var extensionType = alteration.Feature.Descriptor.Extension.ExtensionType; - - if (extensionType == "Module") { + if (extensionType == DefaultExtensionTypes.Module) { return true; } - if (extensionType == "Theme") { + if (extensionType == DefaultExtensionTypes.Theme) { // alterations from themes must be from the given theme or a base theme var featureName = alteration.Feature.Descriptor.Id; return featureName == themeName || IsBaseTheme(featureName, themeName); diff --git a/src/Orchard/DisplayManagement/Descriptors/ShapePlacementStrategy/ShapePlacementParsingStrategy.cs b/src/Orchard/DisplayManagement/Descriptors/ShapePlacementStrategy/ShapePlacementParsingStrategy.cs index f024d0a73..be5cabab6 100644 --- a/src/Orchard/DisplayManagement/Descriptors/ShapePlacementStrategy/ShapePlacementParsingStrategy.cs +++ b/src/Orchard/DisplayManagement/Descriptors/ShapePlacementStrategy/ShapePlacementParsingStrategy.cs @@ -102,7 +102,7 @@ namespace Orchard.DisplayManagement.Descriptors.ShapePlacementStrategy { } private bool FeatureIsTheme(FeatureDescriptor fd) { - return fd.Extension.ExtensionType == "Theme"; + return fd.Extension.ExtensionType == DefaultExtensionTypes.Theme; } private bool FeatureIsEnabled(FeatureDescriptor fd) { diff --git a/src/Orchard/DisplayManagement/Descriptors/ShapeTemplateStrategy/ShapeTemplateBindingStrategy.cs b/src/Orchard/DisplayManagement/Descriptors/ShapeTemplateStrategy/ShapeTemplateBindingStrategy.cs index f6270427d..7c53882f6 100644 --- a/src/Orchard/DisplayManagement/Descriptors/ShapeTemplateStrategy/ShapeTemplateBindingStrategy.cs +++ b/src/Orchard/DisplayManagement/Descriptors/ShapeTemplateStrategy/ShapeTemplateBindingStrategy.cs @@ -87,7 +87,7 @@ namespace Orchard.DisplayManagement.Descriptors.ShapeTemplateStrategy { } private bool FeatureIsEnabled(FeatureDescriptor fd) { - return (fd.Extension.ExtensionType == "Theme" && (fd.Id == "TheAdmin" || fd.Id == "SafeMode")) || + return (fd.Extension.ExtensionType == DefaultExtensionTypes.Theme && (fd.Id == "TheAdmin" || fd.Id == "SafeMode")) || _shellDescriptor.Features.Any(sf => sf.Name == fd.Id); } diff --git a/src/Orchard/Environment/Extensions/ExtensionLoaderCoordinator.cs b/src/Orchard/Environment/Extensions/ExtensionLoaderCoordinator.cs index 5775fc9ba..1f52e907a 100644 --- a/src/Orchard/Environment/Extensions/ExtensionLoaderCoordinator.cs +++ b/src/Orchard/Environment/Extensions/ExtensionLoaderCoordinator.cs @@ -156,7 +156,7 @@ namespace Orchard.Environment.Extensions { private ExtensionLoadingContext CreateLoadingContext() { var availableExtensions = _extensionManager .AvailableExtensions() - .Where(d => d.ExtensionType == "Module" || d.ExtensionType == "Theme") + .Where(d => d.ExtensionType == DefaultExtensionTypes.Module || d.ExtensionType == DefaultExtensionTypes.Theme) .OrderBy(d => d.Id) .ToList(); @@ -293,7 +293,7 @@ namespace Orchard.Environment.Extensions { monitor(_virtualPathMonitor.WhenPathChanges("~/Themes")); // Give loaders a chance to monitor any additional changes - var extensions = _extensionManager.AvailableExtensions().Where(d => d.ExtensionType == "Module" || d.ExtensionType == "Theme").ToList(); + var extensions = _extensionManager.AvailableExtensions().Where(d => d.ExtensionType == DefaultExtensionTypes.Module || d.ExtensionType == DefaultExtensionTypes.Theme).ToList(); foreach (var extension in extensions) { foreach (var loader in _loaders) { loader.Monitor(extension, monitor); @@ -301,4 +301,4 @@ namespace Orchard.Environment.Extensions { } } } -} +} \ No newline at end of file diff --git a/src/Orchard/Environment/Extensions/ExtensionManager.cs b/src/Orchard/Environment/Extensions/ExtensionManager.cs index d5a55cf8c..e23bbd74c 100644 --- a/src/Orchard/Environment/Extensions/ExtensionManager.cs +++ b/src/Orchard/Environment/Extensions/ExtensionManager.cs @@ -49,13 +49,14 @@ namespace Orchard.Environment.Extensions { /// /// internal static bool HasDependency(FeatureDescriptor item, FeatureDescriptor subject) { - if (item.Extension.ExtensionType == "Theme") { - // Themes implicitly depend on modules to ensure build and override ordering - if (subject.Extension.ExtensionType == "Module") { + if (item.Extension.ExtensionType == DefaultExtensionTypes.Theme) { + if (subject.Extension.ExtensionType == DefaultExtensionTypes.Module) { + // Themes implicitly depend on modules to ensure build and override ordering return true; } - if (subject.Extension.ExtensionType == "Theme") { - // theme depends on another if it is its base theme + + if (subject.Extension.ExtensionType == DefaultExtensionTypes.Theme) { + // Theme depends on another if it is its base theme return item.Extension.BaseTheme == subject.Id; } } diff --git a/src/Orchard/Environment/Extensions/Folders/ExtensionFolders.cs b/src/Orchard/Environment/Extensions/Folders/ExtensionFolders.cs index b0e630e54..c0121a4c6 100644 --- a/src/Orchard/Environment/Extensions/Folders/ExtensionFolders.cs +++ b/src/Orchard/Environment/Extensions/Folders/ExtensionFolders.cs @@ -25,7 +25,7 @@ namespace Orchard.Environment.Extensions.Folders { IWebSiteFolder webSiteFolder) { _paths = paths; _manifestName = manifestName; - _extensionType = manifestName == "Theme.txt" ? "Theme" : "Module"; + _extensionType = manifestName == "Theme.txt" ? DefaultExtensionTypes.Theme : DefaultExtensionTypes.Module; _manifestIsOptional = manifestIsOptional; _cacheManager = cacheManager; _webSiteFolder = webSiteFolder; diff --git a/src/Orchard/Environment/Extensions/Models/DefaultExtensionTypes.cs b/src/Orchard/Environment/Extensions/Models/DefaultExtensionTypes.cs new file mode 100644 index 000000000..b65a9d551 --- /dev/null +++ b/src/Orchard/Environment/Extensions/Models/DefaultExtensionTypes.cs @@ -0,0 +1,7 @@ +namespace Orchard.Environment.Extensions.Models { + public static class DefaultExtensionTypes { + public const string Module = "Module"; + public const string Theme = "Theme"; + public const string Core = "Core"; + } +} \ No newline at end of file diff --git a/src/Orchard/Environment/Extensions/Models/ExtensionDescriptor.cs b/src/Orchard/Environment/Extensions/Models/ExtensionDescriptor.cs index 148094cbb..68ab60486 100644 --- a/src/Orchard/Environment/Extensions/Models/ExtensionDescriptor.cs +++ b/src/Orchard/Environment/Extensions/Models/ExtensionDescriptor.cs @@ -13,7 +13,7 @@ namespace Orchard.Environment.Extensions.Models { public string Id { get; set; } /// - /// "Theme" or "Module" + /// The extension type. /// public string ExtensionType { get; set; } @@ -26,7 +26,7 @@ namespace Orchard.Environment.Extensions.Models { public string WebSite { get; set; } public string Tags { get; set; } public string AntiForgery { get; set; } - public string Zones { get; set; } + public string Zones { get; set; } public string BaseTheme { get; set; } public IEnumerable Features { get; set; } diff --git a/src/Orchard/Localization/Services/DefaultLocalizedStringManager.cs b/src/Orchard/Localization/Services/DefaultLocalizedStringManager.cs index 21227d351..b938aeabc 100644 --- a/src/Orchard/Localization/Services/DefaultLocalizedStringManager.cs +++ b/src/Orchard/Localization/Services/DefaultLocalizedStringManager.cs @@ -6,6 +6,7 @@ using System.Text; using Orchard.Caching; using Orchard.Environment.Configuration; using Orchard.Environment.Extensions; +using Orchard.Environment.Extensions.Models; using Orchard.FileSystems.WebSite; namespace Orchard.Localization.Services { @@ -112,7 +113,7 @@ namespace Orchard.Localization.Services { } foreach (var module in _extensionManager.AvailableExtensions()) { - if (String.Equals(module.ExtensionType, "Module")) { + if (String.Equals(module.ExtensionType, DefaultExtensionTypes.Module)) { string modulePath = string.Format(ModulesLocalizationFilePathFormat, module.Id, culture); text = _webSiteFolder.ReadFile(modulePath); if (text != null) { @@ -123,7 +124,7 @@ namespace Orchard.Localization.Services { } foreach (var theme in _extensionManager.AvailableExtensions()) { - if (String.Equals(theme.ExtensionType, "Theme")) { + if (String.Equals(theme.ExtensionType, DefaultExtensionTypes.Theme)) { string themePath = string.Format(ThemesLocalizationFilePathFormat, theme.Id, culture); text = _webSiteFolder.ReadFile(themePath); if (text != null) { diff --git a/src/Orchard/Orchard.Framework.csproj b/src/Orchard/Orchard.Framework.csproj index 55cae1fb6..468af860a 100644 --- a/src/Orchard/Orchard.Framework.csproj +++ b/src/Orchard/Orchard.Framework.csproj @@ -153,6 +153,7 @@ +