- IExtensionManager refactoring: LoadFeature is obsoleted and internal in favor of LoadFeatures.

- Related changes to callers.

--HG--
branch : dev
This commit is contained in:
Suha Can 2010-04-26 16:21:06 -07:00
parent 97f8ed294e
commit 4eb92e63ec
5 changed files with 11 additions and 21 deletions

View File

@ -105,10 +105,6 @@ namespace Orchard.Tests.Environment {
} }
} }
public Feature LoadFeature(FeatureDescriptor featureDescriptor) {
throw new NotImplementedException();
}
public IEnumerable<ExtensionEntry> ActiveExtensions_Obsolete() { public IEnumerable<ExtensionEntry> ActiveExtensions_Obsolete() {
throw new NotImplementedException(); throw new NotImplementedException();
} }

View File

@ -256,7 +256,7 @@ features:
[Test] [Test]
public void ExtensionManagerShouldThrowIfFeatureDoesNotExist() { public void ExtensionManagerShouldThrowIfFeatureDoesNotExist() {
var featureDescriptor = new FeatureDescriptor { Name = "NoSuchFeature" }; var featureDescriptor = new FeatureDescriptor { Name = "NoSuchFeature" };
Assert.Throws<ArgumentException>(() => _manager.LoadFeature(featureDescriptor)); Assert.Throws<ArgumentException>(() => _manager.LoadFeatures(new [] { featureDescriptor }));
} }
[Test] [Test]
@ -302,8 +302,10 @@ features:
.SelectMany(x => x.Features) .SelectMany(x => x.Features)
.Single(x => x.Name == "TestFeature"); .Single(x => x.Name == "TestFeature");
foreach (var type in extensionManager.LoadFeature(testFeature).ExportedTypes) { foreach (var feature in extensionManager.LoadFeatures(new[] { testFeature })) {
Assert.That(type == typeof(Phi)); foreach (var type in feature.ExportedTypes) {
Assert.That(type == typeof(Phi));
}
} }
} }
@ -328,9 +330,11 @@ features:
.SelectMany(x => x.Features) .SelectMany(x => x.Features)
.Single(x => x.Name == "TestModule"); .Single(x => x.Name == "TestModule");
foreach (var type in extensionManager.LoadFeature(testModule).ExportedTypes) { foreach (var feature in extensionManager.LoadFeatures(new [] { testModule })) {
Assert.That(type != typeof(Phi)); foreach (var type in feature.ExportedTypes) {
Assert.That((type == typeof(Alpha) || (type == typeof(Beta)))); Assert.That(type != typeof(Phi));
Assert.That((type == typeof(Alpha) || (type == typeof(Beta))));
}
} }
} }

View File

@ -68,10 +68,6 @@ namespace Orchard.Tests.Mvc.Routes {
throw new NotImplementedException(); throw new NotImplementedException();
} }
public Feature LoadFeature(FeatureDescriptor featureDescriptor) {
throw new NotImplementedException();
}
public IEnumerable<ExtensionEntry> ActiveExtensions_Obsolete() { public IEnumerable<ExtensionEntry> ActiveExtensions_Obsolete() {
yield return new ExtensionEntry { yield return new ExtensionEntry {
Descriptor = new ExtensionDescriptor { Descriptor = new ExtensionDescriptor {
@ -87,11 +83,6 @@ namespace Orchard.Tests.Mvc.Routes {
}; };
} }
public Feature LoadFeature(string featureName) {
throw new NotImplementedException();
}
public void InstallExtension(string extensionType, HttpPostedFileBase extensionBundle) { public void InstallExtension(string extensionType, HttpPostedFileBase extensionBundle) {
throw new NotImplementedException(); throw new NotImplementedException();
} }

View File

@ -119,7 +119,7 @@ namespace Orchard.Environment.Extensions {
return featureDescriptors; return featureDescriptors;
} }
public Feature LoadFeature(FeatureDescriptor featureDescriptor) { private Feature LoadFeature(FeatureDescriptor featureDescriptor) {
var featureName = featureDescriptor.Name; var featureName = featureDescriptor.Name;
string extensionName = GetExtensionForFeature(featureName); string extensionName = GetExtensionForFeature(featureName);
if (extensionName == null) throw new ArgumentException(T("Feature ") + featureName + T(" was not found in any of the installed extensions")); if (extensionName == null) throw new ArgumentException(T("Feature ") + featureName + T(" was not found in any of the installed extensions"));

View File

@ -6,7 +6,6 @@ namespace Orchard.Environment.Extensions {
public interface IExtensionManager { public interface IExtensionManager {
IEnumerable<ExtensionDescriptor> AvailableExtensions(); IEnumerable<ExtensionDescriptor> AvailableExtensions();
IEnumerable<Feature> LoadFeatures(IEnumerable<FeatureDescriptor> featureDescriptors); IEnumerable<Feature> LoadFeatures(IEnumerable<FeatureDescriptor> featureDescriptors);
Feature LoadFeature(FeatureDescriptor featureDescriptor);
IEnumerable<ExtensionEntry> ActiveExtensions_Obsolete(); IEnumerable<ExtensionEntry> ActiveExtensions_Obsolete();
void InstallExtension(string extensionType, HttpPostedFileBase extensionBundle); void InstallExtension(string extensionType, HttpPostedFileBase extensionBundle);