mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
Fixing an incomplete save/merge for previous commit
--HG-- branch : dev
This commit is contained in:
@@ -43,7 +43,7 @@ namespace Orchard.Tests.Modules.Setup {
|
|||||||
//builder.Register<Notifier>().As<INotifier>();
|
//builder.Register<Notifier>().As<INotifier>();
|
||||||
//builder.Register<DefaultOrchardHost>().As<IOrchardHost>();
|
//builder.Register<DefaultOrchardHost>().As<IOrchardHost>();
|
||||||
//builder.Register<DatabaseMigrationManager>().As<IDatabaseMigrationManager>();
|
//builder.Register<DatabaseMigrationManager>().As<IDatabaseMigrationManager>();
|
||||||
//builder.Register<ShellSettingsLoader>().As<IShellSettingsLoader>();
|
//builder.Register<DefaultTenantManager>().As<ITenantManager>();
|
||||||
//builder.Register<TestAppDataFolder>().As<IAppDataFolder>();
|
//builder.Register<TestAppDataFolder>().As<IAppDataFolder>();
|
||||||
//_container = builder.Build();
|
//_container = builder.Build();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ using Orchard.Environment.Configuration;
|
|||||||
|
|
||||||
namespace Orchard.Tests.Environment.Configuration {
|
namespace Orchard.Tests.Environment.Configuration {
|
||||||
[TestFixture]
|
[TestFixture]
|
||||||
public class ShellSettingsLoaderTests {
|
public class DefaultTenantManagerTests {
|
||||||
private string _tempFolder;
|
private string _tempFolder;
|
||||||
private AppDataFolder _appData;
|
private AppDataFolder _appData;
|
||||||
|
|
||||||
@@ -26,7 +26,7 @@ namespace Orchard.Tests.Environment.Configuration {
|
|||||||
|
|
||||||
_appData.CreateFile("Sites\\Default\\Settings.txt", "Name: Default\r\nDataProvider: SQLite\r\nDataConnectionString: something else");
|
_appData.CreateFile("Sites\\Default\\Settings.txt", "Name: Default\r\nDataProvider: SQLite\r\nDataConnectionString: something else");
|
||||||
|
|
||||||
IShellSettingsLoader loader = new ShellSettingsLoader(_appData);
|
ITenantManager loader = new DefaultTenantManager(_appData);
|
||||||
var settings = loader.LoadSettings().Single();
|
var settings = loader.LoadSettings().Single();
|
||||||
Assert.That(settings, Is.Not.Null);
|
Assert.That(settings, Is.Not.Null);
|
||||||
Assert.That(settings.Name, Is.EqualTo("Default"));
|
Assert.That(settings.Name, Is.EqualTo("Default"));
|
||||||
@@ -41,7 +41,7 @@ namespace Orchard.Tests.Environment.Configuration {
|
|||||||
_appData.CreateFile("Sites\\Default\\Settings.txt", "Name: Default\r\nDataProvider: SQLite\r\nDataConnectionString: something else");
|
_appData.CreateFile("Sites\\Default\\Settings.txt", "Name: Default\r\nDataProvider: SQLite\r\nDataConnectionString: something else");
|
||||||
_appData.CreateFile("Sites\\Another\\Settings.txt", "Name: Another\r\nDataProvider: SQLite2\r\nDataConnectionString: something else2");
|
_appData.CreateFile("Sites\\Another\\Settings.txt", "Name: Another\r\nDataProvider: SQLite2\r\nDataConnectionString: something else2");
|
||||||
|
|
||||||
IShellSettingsLoader loader = new ShellSettingsLoader(_appData);
|
ITenantManager loader = new DefaultTenantManager(_appData);
|
||||||
var settings = loader.LoadSettings();
|
var settings = loader.LoadSettings();
|
||||||
Assert.That(settings.Count(), Is.EqualTo(2));
|
Assert.That(settings.Count(), Is.EqualTo(2));
|
||||||
|
|
||||||
@@ -60,7 +60,7 @@ namespace Orchard.Tests.Environment.Configuration {
|
|||||||
public void NewSettingsCanBeStored() {
|
public void NewSettingsCanBeStored() {
|
||||||
_appData.CreateFile("Sites\\Default\\Settings.txt", "Name: Default\r\nDataProvider: SQLite\r\nDataConnectionString: something else");
|
_appData.CreateFile("Sites\\Default\\Settings.txt", "Name: Default\r\nDataProvider: SQLite\r\nDataConnectionString: something else");
|
||||||
|
|
||||||
IShellSettingsLoader loader = new ShellSettingsLoader(_appData);
|
ITenantManager loader = new DefaultTenantManager(_appData);
|
||||||
var foo = new ShellSettings {Name = "Foo", DataProvider = "Bar", DataConnectionString = "Quux"};
|
var foo = new ShellSettings {Name = "Foo", DataProvider = "Bar", DataConnectionString = "Quux"};
|
||||||
|
|
||||||
Assert.That(loader.LoadSettings().Count(), Is.EqualTo(1));
|
Assert.That(loader.LoadSettings().Count(), Is.EqualTo(1));
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ namespace Orchard.Tests.Environment {
|
|||||||
builder.RegisterInstance(new ViewEngineCollection { new WebFormViewEngine() });
|
builder.RegisterInstance(new ViewEngineCollection { new WebFormViewEngine() });
|
||||||
builder.RegisterInstance(new StuExtensionManager()).As<IExtensionManager>();
|
builder.RegisterInstance(new StuExtensionManager()).As<IExtensionManager>();
|
||||||
builder.RegisterInstance(new Mock<IHackInstallationGenerator>().Object);
|
builder.RegisterInstance(new Mock<IHackInstallationGenerator>().Object);
|
||||||
builder.RegisterInstance(new StubShellSettingsLoader()).As<IShellSettingsLoader>();
|
builder.RegisterInstance(new StubShellSettingsLoader()).As<ITenantManager>();
|
||||||
});
|
});
|
||||||
_lifetime = _container.BeginLifetimeScope();
|
_lifetime = _container.BeginLifetimeScope();
|
||||||
var updater = new ContainerUpdater();
|
var updater = new ContainerUpdater();
|
||||||
@@ -55,7 +55,7 @@ namespace Orchard.Tests.Environment {
|
|||||||
updater.Update(_lifetime);
|
updater.Update(_lifetime);
|
||||||
}
|
}
|
||||||
|
|
||||||
public class StubShellSettingsLoader : IShellSettingsLoader {
|
public class StubShellSettingsLoader : ITenantManager {
|
||||||
private readonly List<IShellSettings> _shellSettings = new List<IShellSettings>
|
private readonly List<IShellSettings> _shellSettings = new List<IShellSettings>
|
||||||
{new ShellSettings {Name = "testing"}};
|
{new ShellSettings {Name = "testing"}};
|
||||||
|
|
||||||
|
|||||||
@@ -153,7 +153,7 @@
|
|||||||
<Compile Include="Data\StubLocator.cs" />
|
<Compile Include="Data\StubLocator.cs" />
|
||||||
<Compile Include="Environment\AutofacUtil\DynamicProxy2\DynamicProxyTests.cs" />
|
<Compile Include="Environment\AutofacUtil\DynamicProxy2\DynamicProxyTests.cs" />
|
||||||
<Compile Include="Environment\Configuration\AppDataFolderTests.cs" />
|
<Compile Include="Environment\Configuration\AppDataFolderTests.cs" />
|
||||||
<Compile Include="Environment\Configuration\ShellSettingsLoaderTests.cs" />
|
<Compile Include="Environment\Configuration\DefaultTenantManagerTests.cs" />
|
||||||
<Compile Include="Environment\DefaultCompositionStrategyTests.cs" />
|
<Compile Include="Environment\DefaultCompositionStrategyTests.cs" />
|
||||||
<Compile Include="Environment\DefaultOrchardHostTests.cs" />
|
<Compile Include="Environment\DefaultOrchardHostTests.cs" />
|
||||||
<Compile Include="Environment\DefaultOrchardShellTests.cs" />
|
<Compile Include="Environment\DefaultOrchardShellTests.cs" />
|
||||||
|
|||||||
@@ -21,17 +21,17 @@ namespace Orchard.Setup.Controllers {
|
|||||||
public class SetupController : Controller {
|
public class SetupController : Controller {
|
||||||
private readonly INotifier _notifier;
|
private readonly INotifier _notifier;
|
||||||
private readonly IOrchardHost _orchardHost;
|
private readonly IOrchardHost _orchardHost;
|
||||||
private readonly IShellSettingsLoader _shellSettingsLoader;
|
private readonly ITenantManager _tenantManager;
|
||||||
private readonly IAppDataFolder _appDataFolder;
|
private readonly IAppDataFolder _appDataFolder;
|
||||||
|
|
||||||
public SetupController(
|
public SetupController(
|
||||||
INotifier notifier,
|
INotifier notifier,
|
||||||
IOrchardHost orchardHost,
|
IOrchardHost orchardHost,
|
||||||
IShellSettingsLoader shellSettingsLoader,
|
ITenantManager tenantManager,
|
||||||
IAppDataFolder appDataFolder) {
|
IAppDataFolder appDataFolder) {
|
||||||
_notifier = notifier;
|
_notifier = notifier;
|
||||||
_orchardHost = orchardHost;
|
_orchardHost = orchardHost;
|
||||||
_shellSettingsLoader = shellSettingsLoader;
|
_tenantManager = tenantManager;
|
||||||
_appDataFolder = appDataFolder;
|
_appDataFolder = appDataFolder;
|
||||||
T = NullLocalizer.Instance;
|
T = NullLocalizer.Instance;
|
||||||
}
|
}
|
||||||
@@ -134,7 +134,7 @@ namespace Orchard.Setup.Controllers {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_shellSettingsLoader.SaveSettings(shellSettings);
|
_tenantManager.SaveSettings(shellSettings);
|
||||||
|
|
||||||
_orchardHost.Reinitialize();
|
_orchardHost.Reinitialize();
|
||||||
|
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ namespace Orchard.Environment.Configuration {
|
|||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
public string DataProvider { get; set; }
|
public string DataProvider { get; set; }
|
||||||
public string DataConnectionString { get; set; }
|
public string DataConnectionString { get; set; }
|
||||||
|
public string DataPrefix { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
static IShellSettings ParseSettings(string text) {
|
static IShellSettings ParseSettings(string text) {
|
||||||
@@ -57,15 +58,16 @@ namespace Orchard.Environment.Configuration {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
static string ComposeSettings(IShellSettings shellSettings) {
|
static string ComposeSettings(IShellSettings settings) {
|
||||||
if (shellSettings == null)
|
if (settings == null)
|
||||||
return "";
|
return "";
|
||||||
|
|
||||||
var ser = new YamlSerializer();
|
var ser = new YamlSerializer();
|
||||||
return ser.Serialize(new Content {
|
return ser.Serialize(new Content {
|
||||||
Name = shellSettings.Name,
|
Name = settings.Name,
|
||||||
DataProvider = shellSettings.DataProvider,
|
DataProvider = settings.DataProvider,
|
||||||
DataConnectionString = shellSettings.DataConnectionString
|
DataConnectionString = settings.DataConnectionString,
|
||||||
|
DataPrefix = settings.DataPrefix,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,17 +15,17 @@ namespace Orchard.Environment {
|
|||||||
private readonly ControllerBuilder _controllerBuilder;
|
private readonly ControllerBuilder _controllerBuilder;
|
||||||
private readonly IEnumerable<IShellContainerFactory> _shellContainerFactories;
|
private readonly IEnumerable<IShellContainerFactory> _shellContainerFactories;
|
||||||
|
|
||||||
private readonly IShellSettingsLoader _shellSettingsLoader;
|
private readonly ITenantManager _tenantManager;
|
||||||
private IOrchardShell _current;
|
private IOrchardShell _current;
|
||||||
|
|
||||||
|
|
||||||
public DefaultOrchardHost(
|
public DefaultOrchardHost(
|
||||||
IContainerProvider containerProvider,
|
IContainerProvider containerProvider,
|
||||||
IShellSettingsLoader shellSettingsLoader,
|
ITenantManager tenantManager,
|
||||||
ControllerBuilder controllerBuilder,
|
ControllerBuilder controllerBuilder,
|
||||||
IEnumerable<IShellContainerFactory> shellContainerFactories) {
|
IEnumerable<IShellContainerFactory> shellContainerFactories) {
|
||||||
_containerProvider = containerProvider;
|
_containerProvider = containerProvider;
|
||||||
_shellSettingsLoader = shellSettingsLoader;
|
_tenantManager = tenantManager;
|
||||||
_controllerBuilder = controllerBuilder;
|
_controllerBuilder = controllerBuilder;
|
||||||
_shellContainerFactories = shellContainerFactories;
|
_shellContainerFactories = shellContainerFactories;
|
||||||
}
|
}
|
||||||
@@ -95,7 +95,7 @@ namespace Orchard.Environment {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public virtual ILifetimeScope CreateShellContainer() {
|
public virtual ILifetimeScope CreateShellContainer() {
|
||||||
var settings = _shellSettingsLoader.LoadSettings();
|
var settings = _tenantManager.LoadSettings();
|
||||||
if (settings.Any()) {
|
if (settings.Any()) {
|
||||||
//TEMP: multi-tenancy not implemented yet
|
//TEMP: multi-tenancy not implemented yet
|
||||||
var shellContainer = CreateShellContainer(settings.Single());
|
var shellContainer = CreateShellContainer(settings.Single());
|
||||||
|
|||||||
@@ -1,14 +1,11 @@
|
|||||||
using System;
|
using System;
|
||||||
using Autofac;
|
using Autofac;
|
||||||
using Autofac.Builder;
|
|
||||||
using Autofac.Core;
|
|
||||||
using Autofac.Integration.Web;
|
using Autofac.Integration.Web;
|
||||||
using Orchard.Environment.AutofacUtil;
|
using Orchard.Environment.AutofacUtil;
|
||||||
using Orchard.Environment.Configuration;
|
using Orchard.Environment.Configuration;
|
||||||
using Orchard.Environment.ShellBuilders;
|
using Orchard.Environment.ShellBuilders;
|
||||||
using Orchard.Extensions;
|
using Orchard.Extensions;
|
||||||
using Orchard.Extensions.Loaders;
|
using Orchard.Extensions.Loaders;
|
||||||
using Orchard.Mvc;
|
|
||||||
|
|
||||||
namespace Orchard.Environment {
|
namespace Orchard.Environment {
|
||||||
public static class OrchardStarter {
|
public static class OrchardStarter {
|
||||||
@@ -20,7 +17,7 @@ namespace Orchard.Environment {
|
|||||||
builder.RegisterType<DefaultCompositionStrategy>().As<ICompositionStrategy>().SingleInstance();
|
builder.RegisterType<DefaultCompositionStrategy>().As<ICompositionStrategy>().SingleInstance();
|
||||||
builder.RegisterType<DefaultShellContainerFactory>().As<IShellContainerFactory>().SingleInstance();
|
builder.RegisterType<DefaultShellContainerFactory>().As<IShellContainerFactory>().SingleInstance();
|
||||||
builder.RegisterType<AppDataFolder>().As<IAppDataFolder>().SingleInstance();
|
builder.RegisterType<AppDataFolder>().As<IAppDataFolder>().SingleInstance();
|
||||||
builder.RegisterType<ShellSettingsLoader>().As<IShellSettingsLoader>().SingleInstance();
|
builder.RegisterType<DefaultTenantManager>().As<ITenantManager>().SingleInstance();
|
||||||
builder.RegisterType<SafeModeShellContainerFactory>().As<IShellContainerFactory>().SingleInstance();
|
builder.RegisterType<SafeModeShellContainerFactory>().As<IShellContainerFactory>().SingleInstance();
|
||||||
|
|
||||||
// The container provider gives you access to the lowest container at the time,
|
// The container provider gives you access to the lowest container at the time,
|
||||||
|
|||||||
@@ -158,7 +158,8 @@
|
|||||||
<Compile Include="Environment\AutofacUtil\DynamicProxy2\DynamicProxyExtensions.cs" />
|
<Compile Include="Environment\AutofacUtil\DynamicProxy2\DynamicProxyExtensions.cs" />
|
||||||
<Compile Include="Environment\AutofacUtil\DynamicProxy2\ConstructorFinderWrapper.cs" />
|
<Compile Include="Environment\AutofacUtil\DynamicProxy2\ConstructorFinderWrapper.cs" />
|
||||||
<Compile Include="Environment\Configuration\AppDataFolder.cs" />
|
<Compile Include="Environment\Configuration\AppDataFolder.cs" />
|
||||||
<Compile Include="Environment\Configuration\ShellSettingsLoader.cs" />
|
<Compile Include="Environment\Configuration\DefaultTenantManager.cs" />
|
||||||
|
<Compile Include="Environment\Configuration\ITenantManager.cs" />
|
||||||
<Compile Include="Environment\AutofacUtil\ContainerUpdater.cs" />
|
<Compile Include="Environment\AutofacUtil\ContainerUpdater.cs" />
|
||||||
<Compile Include="Environment\ShellBuilders\DefaultShellContainerFactory.cs" />
|
<Compile Include="Environment\ShellBuilders\DefaultShellContainerFactory.cs" />
|
||||||
<Compile Include="Environment\ShellBuilders\IShellContainerFactory.cs" />
|
<Compile Include="Environment\ShellBuilders\IShellContainerFactory.cs" />
|
||||||
|
|||||||
Reference in New Issue
Block a user