diff --git a/src/Orchard/Commands/CommandModule.cs b/src/Orchard/Commands/CommandModule.cs index c857232b5..fb9c192e1 100644 --- a/src/Orchard/Commands/CommandModule.cs +++ b/src/Orchard/Commands/CommandModule.cs @@ -1,7 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; +using System.Linq; using Autofac; using Autofac.Core; diff --git a/src/Orchard/DisplayManagement/Descriptors/DefaultShapeTableManager.cs b/src/Orchard/DisplayManagement/Descriptors/DefaultShapeTableManager.cs index c2f68fc30..b10395cdb 100644 --- a/src/Orchard/DisplayManagement/Descriptors/DefaultShapeTableManager.cs +++ b/src/Orchard/DisplayManagement/Descriptors/DefaultShapeTableManager.cs @@ -9,16 +9,12 @@ using Orchard.Utility; namespace Orchard.DisplayManagement.Descriptors { - public interface IFeatureMetadata { - Feature Feature { get; } - } - public class DefaultShapeTableManager : IShapeTableManager { - private readonly IEnumerable> _bindingStrategies; + private readonly IEnumerable> _bindingStrategies; private readonly IExtensionManager _extensionManager; public DefaultShapeTableManager( - IEnumerable> bindingStrategies, + IEnumerable> bindingStrategies, IExtensionManager extensionManager) { _extensionManager = extensionManager; _bindingStrategies = bindingStrategies; @@ -30,7 +26,10 @@ namespace Orchard.DisplayManagement.Descriptors { return _tables.GetOrAdd(themeName ?? "", x => { var builderFactory = new ShapeTableBuilderFactory(); foreach (var bindingStrategy in _bindingStrategies) { - var strategyDefaultFeature = bindingStrategy.Metadata.Feature; + Feature strategyDefaultFeature = bindingStrategy.Metadata.ContainsKey("Feature") ? + (Feature) bindingStrategy.Metadata["Feature"] : + null; + var builder = builderFactory.CreateTableBuilder(strategyDefaultFeature); bindingStrategy.Value.Discover(builder); } diff --git a/src/Orchard/Environment/AutofacUtil/LifetimeScopeContainer.cs b/src/Orchard/Environment/AutofacUtil/LifetimeScopeContainer.cs index 1d9ffe0e6..bd6a96e08 100644 --- a/src/Orchard/Environment/AutofacUtil/LifetimeScopeContainer.cs +++ b/src/Orchard/Environment/AutofacUtil/LifetimeScopeContainer.cs @@ -19,7 +19,7 @@ namespace Orchard.Environment.AutofacUtil { get { return _lifetimeScope.ComponentRegistry; } } - public void Dispose() { + public void Dispose() { } public ILifetimeScope BeginLifetimeScope() { diff --git a/src/Orchard/UI/Resources/ResourceManager.cs b/src/Orchard/UI/Resources/ResourceManager.cs index 6093521e5..08f961d86 100644 --- a/src/Orchard/UI/Resources/ResourceManager.cs +++ b/src/Orchard/UI/Resources/ResourceManager.cs @@ -7,6 +7,7 @@ using System.Linq; using System.Web; using Autofac.Features.Metadata; using Orchard.DisplayManagement.Descriptors; +using Orchard.Environment.Extensions.Models; namespace Orchard.UI.Resources { public class ResourceManager : IResourceManager { @@ -14,7 +15,7 @@ namespace Orchard.UI.Resources { private readonly List _links = new List(); private readonly Dictionary _metas = new Dictionary(); private readonly Dictionary> _builtResources = new Dictionary>(StringComparer.OrdinalIgnoreCase); - private readonly IEnumerable> _providers; + private readonly IEnumerable> _providers; private ResourceManifest _dynamicManifest; private List _headScripts; private List _footScripts; @@ -31,7 +32,7 @@ namespace Orchard.UI.Resources { return resourcePath; } - public ResourceManager(IEnumerable> resourceProviders) { + public ResourceManager(IEnumerable> resourceProviders) { _providers = resourceProviders; } @@ -40,7 +41,9 @@ namespace Orchard.UI.Resources { if (_manifests == null) { var builder = new ResourceManifestBuilder(); foreach (var provider in _providers) { - builder.Feature = provider.Metadata.Feature; + builder.Feature = provider.Metadata.ContainsKey("Feature") ? + (Feature) provider.Metadata["Feature"] : + null; provider.Value.BuildManifests(builder); } _manifests = builder.ResourceManifests;