Fixes PhysicalFileSystem to use IOHelper instead of HostingEnvironment. Removes all references to new IFileSystem's that canont be supported currently, leaving only the media file system.
Updates all code to use PhysicalFileSystem in place of what 'could' eventually be an abstracted IFileSystem. Updates unit tests accordingly.
This commit is contained in:
@@ -18,7 +18,7 @@ namespace Umbraco.Core.IO
|
||||
|
||||
public PhysicalFileSystem(string virtualRoot)
|
||||
{
|
||||
RootPath = System.Web.Hosting.HostingEnvironment.MapPath(virtualRoot);
|
||||
RootPath = IOHelper.MapPath(virtualRoot);
|
||||
_rootUrl = VirtualPathUtility.ToAbsolute(virtualRoot);
|
||||
}
|
||||
|
||||
|
||||
@@ -33,8 +33,8 @@ namespace Umbraco.Core.Persistence.Repositories
|
||||
}
|
||||
|
||||
private void EnsureDependencies()
|
||||
{
|
||||
_fileSystem = FileSystemProviderManager.Current.GetFileSystemProvider("macros");
|
||||
{
|
||||
_fileSystem = new PhysicalFileSystem("~/App_Data/Macros");
|
||||
var serviceStackSerializer = new ServiceStackJsonSerializer();
|
||||
_serializationService = new SerializationService(serviceStackSerializer);
|
||||
}
|
||||
|
||||
@@ -14,8 +14,13 @@ namespace Umbraco.Core.Persistence.Repositories
|
||||
/// </summary>
|
||||
internal class ScriptRepository : FileRepository<string, Script>, IScriptRepository
|
||||
{
|
||||
public ScriptRepository(IUnitOfWork work, IFileSystem fileSystem)
|
||||
: base(work, fileSystem)
|
||||
{
|
||||
}
|
||||
|
||||
public ScriptRepository(IUnitOfWork work)
|
||||
: base(work, FileSystemProviderManager.Current.GetFileSystemProvider("scripts"))
|
||||
: this(work, new PhysicalFileSystem(SystemDirectories.Scripts))
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -14,8 +14,14 @@ namespace Umbraco.Core.Persistence.Repositories
|
||||
/// </summary>
|
||||
internal class StylesheetRepository : FileRepository<string, Stylesheet>, IStylesheetRepository
|
||||
{
|
||||
public StylesheetRepository(IUnitOfWork work, IFileSystem fileSystem)
|
||||
: base(work, fileSystem)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public StylesheetRepository(IUnitOfWork work)
|
||||
: base(work, FileSystemProviderManager.Current.GetFileSystemProvider("stylesheets"))
|
||||
: this(work, new PhysicalFileSystem(SystemDirectories.Css))
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -44,8 +44,8 @@ namespace Umbraco.Core.Persistence.Repositories
|
||||
|
||||
private void EnsureDepedencies()
|
||||
{
|
||||
_masterpagesFileSystem = FileSystemProviderManager.Current.GetFileSystemProvider("masterpages");
|
||||
_viewsFileSystem = FileSystemProviderManager.Current.GetFileSystemProvider("views");
|
||||
_masterpagesFileSystem = new PhysicalFileSystem(SystemDirectories.Masterpages);
|
||||
_viewsFileSystem = new PhysicalFileSystem(SystemDirectories.MvcViews);
|
||||
}
|
||||
|
||||
#region Overrides of RepositoryBase<int,ITemplate>
|
||||
|
||||
@@ -94,7 +94,7 @@ namespace Umbraco.Tests.Models
|
||||
// Arrange
|
||||
var serviceStackSerializer = new ServiceStackJsonSerializer();
|
||||
var serializationService = new SerializationService(serviceStackSerializer);
|
||||
var fileSystem = FileSystemProviderManager.Current.GetFileSystemProvider("macros");
|
||||
var fileSystem = new PhysicalFileSystem("~/App_Data/Macros");
|
||||
|
||||
var macro = new Macro
|
||||
{
|
||||
@@ -128,7 +128,7 @@ namespace Umbraco.Tests.Models
|
||||
// Arrange
|
||||
var serviceStackSerializer = new ServiceStackJsonSerializer();
|
||||
var serializationService = new SerializationService(serviceStackSerializer);
|
||||
var fileSystem = FileSystemProviderManager.Current.GetFileSystemProvider("macros");
|
||||
var fileSystem = new PhysicalFileSystem("~/App_Data/Macros");
|
||||
|
||||
var macro = new Macro
|
||||
{
|
||||
|
||||
@@ -17,7 +17,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[SetUp]
|
||||
public void Initialize()
|
||||
{
|
||||
_fileSystem = FileSystemProviderManager.Current.GetFileSystemProvider("scripts");
|
||||
_fileSystem = new PhysicalFileSystem(SystemDirectories.Scripts, "/scripts");
|
||||
var stream = CreateStream("Umbraco.Sys.registerNamespace(\"Umbraco.Utils\");");
|
||||
_fileSystem.AddFile("test-script.js", stream);
|
||||
}
|
||||
@@ -30,7 +30,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
|
||||
// Act
|
||||
var repository = new ScriptRepository(unitOfWork);
|
||||
var repository = new ScriptRepository(unitOfWork, _fileSystem);
|
||||
|
||||
// Assert
|
||||
Assert.That(repository, Is.Not.Null);
|
||||
@@ -42,7 +42,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
// Arrange
|
||||
var provider = new FileUnitOfWorkProvider();
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
var repository = new ScriptRepository(unitOfWork);
|
||||
var repository = new ScriptRepository(unitOfWork, _fileSystem);
|
||||
|
||||
// Act
|
||||
var script = new Script("test-add-script.js") {Content = "/// <reference name=\"MicrosoftAjax.js\"/>"};
|
||||
@@ -59,7 +59,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
// Arrange
|
||||
var provider = new FileUnitOfWorkProvider();
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
var repository = new ScriptRepository(unitOfWork);
|
||||
var repository = new ScriptRepository(unitOfWork, _fileSystem);
|
||||
|
||||
// Act
|
||||
var script = new Script("test-updated-script.js") { Content = "/// <reference name=\"MicrosoftAjax.js\"/>" };
|
||||
@@ -83,7 +83,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
// Arrange
|
||||
var provider = new FileUnitOfWorkProvider();
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
var repository = new ScriptRepository(unitOfWork);
|
||||
var repository = new ScriptRepository(unitOfWork, _fileSystem);
|
||||
|
||||
// Act
|
||||
var script = repository.Get("test-script.js");
|
||||
@@ -100,7 +100,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
// Arrange
|
||||
var provider = new FileUnitOfWorkProvider();
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
var repository = new ScriptRepository(unitOfWork);
|
||||
var repository = new ScriptRepository(unitOfWork, _fileSystem);
|
||||
|
||||
// Act
|
||||
var exists = repository.Get("test-script.js");
|
||||
@@ -117,7 +117,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
// Arrange
|
||||
var provider = new FileUnitOfWorkProvider();
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
var repository = new ScriptRepository(unitOfWork);
|
||||
var repository = new ScriptRepository(unitOfWork, _fileSystem);
|
||||
|
||||
var script = new Script("test-script1.js") { Content = "/// <reference name=\"MicrosoftAjax.js\"/>" };
|
||||
repository.AddOrUpdate(script);
|
||||
@@ -143,7 +143,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
// Arrange
|
||||
var provider = new FileUnitOfWorkProvider();
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
var repository = new ScriptRepository(unitOfWork);
|
||||
var repository = new ScriptRepository(unitOfWork, _fileSystem);
|
||||
|
||||
var script = new Script("test-script1.js") { Content = "/// <reference name=\"MicrosoftAjax.js\"/>" };
|
||||
repository.AddOrUpdate(script);
|
||||
@@ -169,7 +169,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
// Arrange
|
||||
var provider = new FileUnitOfWorkProvider();
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
var repository = new ScriptRepository(unitOfWork);
|
||||
var repository = new ScriptRepository(unitOfWork, _fileSystem);
|
||||
|
||||
// Act
|
||||
var exists = repository.Exists("test-script.js");
|
||||
@@ -183,7 +183,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
_fileSystem = null;
|
||||
//Delete all files
|
||||
var fs = FileSystemProviderManager.Current.GetFileSystemProvider("scripts");
|
||||
var fs = new PhysicalFileSystem(SystemDirectories.Scripts, "/scripts");
|
||||
var files = fs.GetFiles("", "*.js");
|
||||
foreach (var file in files)
|
||||
{
|
||||
|
||||
@@ -17,7 +17,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[SetUp]
|
||||
public void Initialize()
|
||||
{
|
||||
_fileSystem = FileSystemProviderManager.Current.GetFileSystemProvider("stylesheets");
|
||||
_fileSystem = new PhysicalFileSystem(SystemDirectories.Css, "/css");
|
||||
var stream = CreateStream("body {background:#EE7600; color:#FFF;}");
|
||||
_fileSystem.AddFile("styles.css", stream);
|
||||
}
|
||||
@@ -30,7 +30,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
|
||||
// Act
|
||||
var repository = new StylesheetRepository(unitOfWork);
|
||||
var repository = new StylesheetRepository(unitOfWork, _fileSystem);
|
||||
|
||||
// Assert
|
||||
Assert.That(repository, Is.Not.Null);
|
||||
@@ -42,7 +42,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
// Arrange
|
||||
var provider = new FileUnitOfWorkProvider();
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
var repository = new StylesheetRepository(unitOfWork);
|
||||
var repository = new StylesheetRepository(unitOfWork, _fileSystem);
|
||||
|
||||
// Act
|
||||
var stylesheet = new Stylesheet("test-add.css") { Content = "body { color:#000; } .bold {font-weight:bold;}" };
|
||||
@@ -59,7 +59,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
// Arrange
|
||||
var provider = new FileUnitOfWorkProvider();
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
var repository = new StylesheetRepository(unitOfWork);
|
||||
var repository = new StylesheetRepository(unitOfWork, _fileSystem);
|
||||
|
||||
// Act
|
||||
var stylesheet = new Stylesheet("test-update.css") { Content = "body { color:#000; } .bold {font-weight:bold;}" };
|
||||
@@ -85,7 +85,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
// Arrange
|
||||
var provider = new FileUnitOfWorkProvider();
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
var repository = new StylesheetRepository(unitOfWork);
|
||||
var repository = new StylesheetRepository(unitOfWork, _fileSystem);
|
||||
|
||||
// Act
|
||||
var stylesheet = new Stylesheet("test-delete.css") { Content = "body { color:#000; } .bold {font-weight:bold;}" };
|
||||
@@ -105,7 +105,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
// Arrange
|
||||
var provider = new FileUnitOfWorkProvider();
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
var repository = new StylesheetRepository(unitOfWork);
|
||||
var repository = new StylesheetRepository(unitOfWork, _fileSystem);
|
||||
|
||||
// Act
|
||||
var stylesheet = repository.Get("styles.css");
|
||||
@@ -123,7 +123,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
// Arrange
|
||||
var provider = new FileUnitOfWorkProvider();
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
var repository = new StylesheetRepository(unitOfWork);
|
||||
var repository = new StylesheetRepository(unitOfWork, _fileSystem);
|
||||
|
||||
var stylesheet = new Stylesheet("styles-v2.css") { Content = "body { color:#000; } .bold {font-weight:bold;}" };
|
||||
repository.AddOrUpdate(stylesheet);
|
||||
@@ -145,7 +145,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
// Arrange
|
||||
var provider = new FileUnitOfWorkProvider();
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
var repository = new StylesheetRepository(unitOfWork);
|
||||
var repository = new StylesheetRepository(unitOfWork, _fileSystem);
|
||||
|
||||
var stylesheet = new Stylesheet("styles-v2.css") { Content = "body { color:#000; } .bold {font-weight:bold;}" };
|
||||
repository.AddOrUpdate(stylesheet);
|
||||
@@ -167,7 +167,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
// Arrange
|
||||
var provider = new FileUnitOfWorkProvider();
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
var repository = new StylesheetRepository(unitOfWork);
|
||||
var repository = new StylesheetRepository(unitOfWork, _fileSystem);
|
||||
|
||||
// Act
|
||||
var exists = repository.Exists("styles.css");
|
||||
|
||||
@@ -7,33 +7,5 @@
|
||||
<add key="virtualRoot" value="~/media/" />
|
||||
</Parameters>
|
||||
</Provider>
|
||||
<!-- Macros -->
|
||||
<Provider alias="macros" type="Umbraco.Core.IO.PhysicalFileSystem, Umbraco.Core">
|
||||
<Parameters>
|
||||
<add key="virtualRoot" value="~/app_data/macros/" />
|
||||
</Parameters>
|
||||
</Provider>
|
||||
<!-- Scripts -->
|
||||
<Provider alias="scripts" type="Umbraco.Core.IO.PhysicalFileSystem, Umbraco.Core">
|
||||
<Parameters>
|
||||
<add key="virtualRoot" value="~/scripts/" />
|
||||
</Parameters>
|
||||
</Provider>
|
||||
<!-- Stylesheets -->
|
||||
<Provider alias="stylesheets" type="Umbraco.Core.IO.PhysicalFileSystem, Umbraco.Core">
|
||||
<Parameters>
|
||||
<add key="virtualRoot" value="~/css/" />
|
||||
</Parameters>
|
||||
</Provider>
|
||||
<!-- Templates -->
|
||||
<Provider alias="masterpages" type="Umbraco.Core.IO.PhysicalFileSystem, Umbraco.Core">
|
||||
<Parameters>
|
||||
<add key="virtualRoot" value="~/masterpages/" />
|
||||
</Parameters>
|
||||
</Provider>
|
||||
<Provider alias="views" type="Umbraco.Core.IO.PhysicalFileSystem, Umbraco.Core">
|
||||
<Parameters>
|
||||
<add key="virtualRoot" value="~/views/" />
|
||||
</Parameters>
|
||||
</Provider>
|
||||
|
||||
</FileSystemProviders>
|
||||
|
||||
@@ -7,38 +7,5 @@
|
||||
<add key="virtualRoot" value="~/media/" />
|
||||
</Parameters>
|
||||
</Provider>
|
||||
|
||||
<!-- Macros -->
|
||||
<Provider alias="macros" type="Umbraco.Core.IO.PhysicalFileSystem, Umbraco.Core">
|
||||
<Parameters>
|
||||
<add key="virtualRoot" value="~/app_data/macros/" />
|
||||
</Parameters>
|
||||
</Provider>
|
||||
|
||||
<!-- Scripts -->
|
||||
<Provider alias="scripts" type="Umbraco.Core.IO.PhysicalFileSystem, Umbraco.Core">
|
||||
<Parameters>
|
||||
<add key="virtualRoot" value="~/scripts/" />
|
||||
</Parameters>
|
||||
</Provider>
|
||||
|
||||
<!-- Stylesheets -->
|
||||
<Provider alias="stylesheets" type="Umbraco.Core.IO.PhysicalFileSystem, Umbraco.Core">
|
||||
<Parameters>
|
||||
<add key="virtualRoot" value="~/css/" />
|
||||
</Parameters>
|
||||
</Provider>
|
||||
|
||||
<!-- Templates -->
|
||||
<Provider alias="masterpages" type="Umbraco.Core.IO.PhysicalFileSystem, Umbraco.Core">
|
||||
<Parameters>
|
||||
<add key="virtualRoot" value="~/masterpages/" />
|
||||
</Parameters>
|
||||
</Provider>
|
||||
<Provider alias="views" type="Umbraco.Core.IO.PhysicalFileSystem, Umbraco.Core">
|
||||
<Parameters>
|
||||
<add key="virtualRoot" value="~/views/" />
|
||||
</Parameters>
|
||||
</Provider>
|
||||
|
||||
</FileSystemProviders>
|
||||
|
||||
@@ -15,7 +15,7 @@ namespace Umbraco.Web.Mvc
|
||||
// //return Content("<html><body>hello</body></html>");
|
||||
// }
|
||||
|
||||
// public ActionResult PostVals(string name)
|
||||
// public ActionResult PostVals(TestFormModel model)
|
||||
// {
|
||||
// ModelState.AddModelError("name", "bad name!");
|
||||
// return CurrentUmbracoPage();
|
||||
@@ -28,6 +28,11 @@ namespace Umbraco.Web.Mvc
|
||||
// }
|
||||
//}
|
||||
|
||||
//public class TestFormModel
|
||||
//{
|
||||
// public string Name { get; set; }
|
||||
//}
|
||||
|
||||
//public class LocalSurfaceController : SurfaceController
|
||||
//{
|
||||
// public ActionResult Index()
|
||||
@@ -35,9 +40,9 @@ namespace Umbraco.Web.Mvc
|
||||
// return View();
|
||||
// }
|
||||
|
||||
// public ActionResult PostVals([Bind(Prefix = "blah")]string name)
|
||||
// public ActionResult PostVals([Bind(Prefix = "blah")]TestFormModel model)
|
||||
// {
|
||||
// ModelState.AddModelError("name", "you suck!");
|
||||
// ModelState.AddModelError("Name", "you suck!");
|
||||
// return this.RedirectToCurrentUmbracoPage();
|
||||
// }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user