--HG--
branch : dev
This commit is contained in:
Dave Reed
2010-12-01 11:41:58 -08:00
3 changed files with 0 additions and 57 deletions

View File

@@ -1,55 +0,0 @@
using System;
using System.Linq;
using Orchard.Environment.Extensions.Models;
using Orchard.FileSystems.Dependencies;
using Orchard.Logging;
namespace Orchard.Environment.Extensions.Loaders {
public class AreaExtensionLoader : ExtensionLoaderBase {
private readonly string _hostAssemblyName = "Orchard.Web";
private readonly IAssemblyLoader _assemblyLoader;
public AreaExtensionLoader(IDependenciesFolder dependenciesFolder, IAssemblyLoader assemblyLoader)
: base(dependenciesFolder) {
_assemblyLoader = assemblyLoader;
Logger = NullLogger.Instance;
}
public ILogger Logger { get; set; }
public override int Order { get { return 50; } }
public override ExtensionProbeEntry Probe(ExtensionDescriptor descriptor) {
if (descriptor.Location == "~/Areas") {
return new ExtensionProbeEntry {
Descriptor = descriptor,
Loader = this,
LastWriteTimeUtc = DateTime.MinValue,
VirtualPath = "~/Areas/" + descriptor.Id,
};
}
return null;
}
protected override ExtensionEntry LoadWorker(ExtensionDescriptor descriptor) {
//Logger.Information("Loading extension \"{0}\"", descriptor.Name);
var assembly = _assemblyLoader.Load(_hostAssemblyName);
if (assembly == null) {
Logger.Warning("Support for 'Areas' modules disabled because assembly '{0}' could not be loaded", _hostAssemblyName);
return null;
}
return new ExtensionEntry {
Descriptor = descriptor,
Assembly = assembly,
ExportedTypes = assembly.GetExportedTypes().Where(x => IsTypeFromModule(x, descriptor))
};
}
private bool IsTypeFromModule(Type type, ExtensionDescriptor descriptor) {
return (type.Namespace + ".").StartsWith(_hostAssemblyName + ".Areas." + descriptor.Id + ".");
}
}
}

View File

@@ -78,7 +78,6 @@ namespace Orchard.Environment {
builder.RegisterType<ThemeFolders>().As<IExtensionFolders>().SingleInstance() builder.RegisterType<ThemeFolders>().As<IExtensionFolders>().SingleInstance()
.WithParameter(new NamedParameter("paths", new[] { "~/Core", "~/Themes" })); .WithParameter(new NamedParameter("paths", new[] { "~/Core", "~/Themes" }));
builder.RegisterType<AreaExtensionLoader>().As<IExtensionLoader>().SingleInstance();
builder.RegisterType<CoreExtensionLoader>().As<IExtensionLoader>().SingleInstance(); builder.RegisterType<CoreExtensionLoader>().As<IExtensionLoader>().SingleInstance();
builder.RegisterType<ReferencedExtensionLoader>().As<IExtensionLoader>().SingleInstance(); builder.RegisterType<ReferencedExtensionLoader>().As<IExtensionLoader>().SingleInstance();
builder.RegisterType<PrecompiledExtensionLoader>().As<IExtensionLoader>().SingleInstance(); builder.RegisterType<PrecompiledExtensionLoader>().As<IExtensionLoader>().SingleInstance();

View File

@@ -642,7 +642,6 @@
<Compile Include="Events\IEventBus.cs" /> <Compile Include="Events\IEventBus.cs" />
<Compile Include="Environment\Extensions\Folders\AreaFolders.cs" /> <Compile Include="Environment\Extensions\Folders\AreaFolders.cs" />
<Compile Include="Environment\Extensions\Folders\ExtensionFolders.cs" /> <Compile Include="Environment\Extensions\Folders\ExtensionFolders.cs" />
<Compile Include="Environment\Extensions\Loaders\AreaExtensionLoader.cs" />
<Compile Include="Environment\Extensions\Models\Feature.cs" /> <Compile Include="Environment\Extensions\Models\Feature.cs" />
<Compile Include="Environment\Extensions\Models\FeatureDescriptor.cs" /> <Compile Include="Environment\Extensions\Models\FeatureDescriptor.cs" />
<Compile Include="Environment\Extensions\OrchardFeatureAttribute.cs" /> <Compile Include="Environment\Extensions\OrchardFeatureAttribute.cs" />