mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 11:44:58 +08:00
Removing obsolete method
--HG-- branch : dev
This commit is contained in:
@@ -94,15 +94,6 @@ namespace Orchard.Tests.Environment {
|
||||
yield return ext;
|
||||
}
|
||||
|
||||
public IEnumerable<ExtensionEntry> ActiveExtensions_Obsolete() {
|
||||
var feature = FrameworkFeature(new FeatureDescriptor { Name = "Orchard.Framework" });
|
||||
yield return new ExtensionEntry {
|
||||
Assembly = feature.ExportedTypes.First().Assembly,
|
||||
Descriptor = AvailableExtensions().First(),
|
||||
ExportedTypes = feature.ExportedTypes
|
||||
};
|
||||
}
|
||||
|
||||
public IEnumerable<Feature> LoadFeatures(IEnumerable<FeatureDescriptor> featureDescriptors) {
|
||||
foreach (var descriptor in featureDescriptors) {
|
||||
if (descriptor.Name == "Orchard.Framework") {
|
||||
|
@@ -8,7 +8,6 @@ using Orchard.Environment.Extensions.Folders;
|
||||
using Orchard.Environment.Extensions.Loaders;
|
||||
using Orchard.Environment.Extensions.Models;
|
||||
using Orchard.Tests.Extensions.ExtensionTypes;
|
||||
using Yaml.Grammar;
|
||||
|
||||
namespace Orchard.Tests.Environment.Extensions {
|
||||
[TestFixture]
|
||||
@@ -35,7 +34,7 @@ namespace Orchard.Tests.Environment.Extensions {
|
||||
public IDictionary<string, string> Manifests { get; set; }
|
||||
|
||||
public IEnumerable<ExtensionDescriptor> AvailableExtensions() {
|
||||
foreach(var e in Manifests) {
|
||||
foreach (var e in Manifests) {
|
||||
string name = e.Key;
|
||||
var parseResult = ExtensionFolders.ParseManifest(Manifests[name]);
|
||||
yield return ExtensionFolders.GetDescriptorForExtension("~/", name, "Module", parseResult);
|
||||
@@ -250,27 +249,35 @@ features:
|
||||
[Test]
|
||||
public void ExtensionManagerShouldThrowIfFeatureDoesNotExist() {
|
||||
var featureDescriptor = new FeatureDescriptor { Name = "NoSuchFeature" };
|
||||
Assert.Throws<ArgumentException>(() => _manager.LoadFeatures(new [] { featureDescriptor }));
|
||||
Assert.Throws<ArgumentException>(() => _manager.LoadFeatures(new[] { featureDescriptor }));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ExtensionManagerTestFeatureAttribute() {
|
||||
var extensionManager = new Moq.Mock<IExtensionManager>();
|
||||
var extensionEntry = new ExtensionEntry {
|
||||
Descriptor = new ExtensionDescriptor { Name = "Module"},
|
||||
ExportedTypes = new[] { typeof(Alpha), typeof(Beta), typeof(Phi) }
|
||||
};
|
||||
extensionEntry.Descriptor.Features = new[] {
|
||||
new FeatureDescriptor
|
||||
{Name = "Module", Extension = extensionEntry.Descriptor},
|
||||
new FeatureDescriptor
|
||||
{Name = "TestFeature", Extension = extensionEntry.Descriptor}
|
||||
};
|
||||
extensionManager.Setup(x => x.ActiveExtensions_Obsolete()).Returns(new[] {extensionEntry});
|
||||
var extensionLoader = new StubLoaders();
|
||||
var extensionFolder = new StubFolders();
|
||||
|
||||
foreach (var type in extensionManager.Object.ActiveExtensions_Obsolete().SelectMany(x => x.ExportedTypes)) {
|
||||
foreach (OrchardFeatureAttribute featureAttribute in type.GetCustomAttributes(typeof(OrchardFeatureAttribute), false)) {
|
||||
Assert.That(featureAttribute.FeatureName, Is.EqualTo("TestFeature"));
|
||||
extensionFolder.Manifests.Add("TestModule", @"
|
||||
name: TestModule
|
||||
version: 1.0.3
|
||||
orchardversion: 1
|
||||
features:
|
||||
TestModule:
|
||||
Description: My test module for Orchard.
|
||||
TestFeature:
|
||||
Description: Contains the Phi type.
|
||||
");
|
||||
|
||||
IExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader });
|
||||
var testFeature = extensionManager.AvailableExtensions()
|
||||
.SelectMany(x => x.Features)
|
||||
.Single(x => x.Name == "TestFeature");
|
||||
|
||||
foreach (var feature in extensionManager.LoadFeatures(new[] { testFeature })) {
|
||||
foreach (var type in feature.ExportedTypes) {
|
||||
foreach (OrchardFeatureAttribute featureAttribute in type.GetCustomAttributes(typeof(OrchardFeatureAttribute), false)) {
|
||||
Assert.That(featureAttribute.FeatureName, Is.EqualTo("TestFeature"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -324,7 +331,7 @@ features:
|
||||
.SelectMany(x => x.Features)
|
||||
.Single(x => x.Name == "TestModule");
|
||||
|
||||
foreach (var feature in extensionManager.LoadFeatures(new [] { testModule })) {
|
||||
foreach (var feature in extensionManager.LoadFeatures(new[] { testModule })) {
|
||||
foreach (var type in feature.ExportedTypes) {
|
||||
Assert.That(type != typeof(Phi));
|
||||
Assert.That((type == typeof(Alpha) || (type == typeof(Beta))));
|
||||
|
@@ -1,10 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Routing;
|
||||
using NUnit.Framework;
|
||||
using Orchard.Environment.Extensions;
|
||||
using Orchard.Environment.Extensions.Models;
|
||||
using Orchard.Environment.Topology.Models;
|
||||
using Orchard.Mvc.Routes;
|
||||
@@ -58,38 +55,5 @@ namespace Orchard.Tests.Mvc.Routes {
|
||||
Assert.That(barAdmin.DataTokens["area"], Is.EqualTo("Long.Name.Bar"));
|
||||
Assert.That(barRoute.DataTokens["area"], Is.EqualTo("Long.Name.Bar"));
|
||||
}
|
||||
|
||||
public class StubExtensionManager : IExtensionManager {
|
||||
public IEnumerable<ExtensionDescriptor> AvailableExtensions() {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public IEnumerable<Feature> LoadFeatures(IEnumerable<FeatureDescriptor> features) {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public IEnumerable<ExtensionEntry> ActiveExtensions_Obsolete() {
|
||||
yield return new ExtensionEntry {
|
||||
Descriptor = new ExtensionDescriptor {
|
||||
Name = "Long.Name.Foo",
|
||||
DisplayName = "Foo",
|
||||
}
|
||||
};
|
||||
yield return new ExtensionEntry {
|
||||
Descriptor = new ExtensionDescriptor {
|
||||
Name = "Long.Name.Bar",
|
||||
DisplayName = "Bar",
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public void InstallExtension(string extensionType, HttpPostedFileBase extensionBundle) {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public void UninstallExtension(string extensionType, string extensionName) {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -2,6 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using ICSharpCode.SharpZipLib.Zip;
|
||||
using Orchard.Environment.Extensions.Folders;
|
||||
using Orchard.Environment.Extensions.Helpers;
|
||||
@@ -9,13 +10,11 @@ using Orchard.Environment.Extensions.Loaders;
|
||||
using Orchard.Environment.Extensions.Models;
|
||||
using Orchard.Localization;
|
||||
using Orchard.Logging;
|
||||
using System.Web;
|
||||
|
||||
namespace Orchard.Environment.Extensions {
|
||||
public class ExtensionManager : IExtensionManager {
|
||||
private readonly IEnumerable<IExtensionFolders> _folders;
|
||||
private readonly IEnumerable<IExtensionLoader> _loaders;
|
||||
private IEnumerable<ExtensionEntry> _activeExtensions;
|
||||
|
||||
public Localizer T { get; set; }
|
||||
public ILogger Logger { get; set; }
|
||||
@@ -30,7 +29,7 @@ namespace Orchard.Environment.Extensions {
|
||||
// This method does not load extension types, simply parses extension manifests from
|
||||
// the filesystem.
|
||||
public IEnumerable<ExtensionDescriptor> AvailableExtensions() {
|
||||
return _folders.SelectMany(folder=>folder.AvailableExtensions());
|
||||
return _folders.SelectMany(folder => folder.AvailableExtensions());
|
||||
}
|
||||
|
||||
public IEnumerable<Feature> LoadFeatures(IEnumerable<FeatureDescriptor> featureDescriptors) {
|
||||
@@ -39,14 +38,6 @@ namespace Orchard.Environment.Extensions {
|
||||
.ToArray();
|
||||
}
|
||||
|
||||
// This method loads types from extensions into the ExtensionEntry array.
|
||||
public IEnumerable<ExtensionEntry> ActiveExtensions_Obsolete() {
|
||||
if (_activeExtensions == null) {
|
||||
_activeExtensions = BuildActiveExtensions().ToList();
|
||||
}
|
||||
return _activeExtensions;
|
||||
}
|
||||
|
||||
private Feature LoadFeature(FeatureDescriptor featureDescriptor) {
|
||||
var featureName = featureDescriptor.Name;
|
||||
string extensionName = GetExtensionForFeature(featureName);
|
||||
@@ -165,14 +156,15 @@ namespace Orchard.Environment.Extensions {
|
||||
var moreRecentEntry = loaders
|
||||
.Select(loader => loader.Probe(descriptor))
|
||||
.Where(entry => entry != null)
|
||||
.OrderByDescending( entry => entry.LastModificationTimeUtc)
|
||||
.OrderByDescending(entry => entry.LastModificationTimeUtc)
|
||||
.FirstOrDefault();
|
||||
|
||||
ExtensionEntry result = null;
|
||||
foreach (var loader in loaders) {
|
||||
ExtensionEntry entry = loader.Load(moreRecentEntry);
|
||||
if (entry != null && result == null)
|
||||
if (entry != null && result == null) {
|
||||
result = entry;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
@@ -8,8 +8,5 @@ namespace Orchard.Environment.Extensions {
|
||||
IEnumerable<Feature> LoadFeatures(IEnumerable<FeatureDescriptor> featureDescriptors);
|
||||
void InstallExtension(string extensionType, HttpPostedFileBase extensionBundle);
|
||||
void UninstallExtension(string extensionType, string extensionName);
|
||||
|
||||
// Used by the HackInstallationGenerator and will be removed along with it.
|
||||
IEnumerable<ExtensionEntry> ActiveExtensions_Obsolete();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user