Browse Source

Refactor.

pull/179/head
Halil İbrahim Kalkan 9 years ago
parent
commit
6488277c7c
  1. 10
      src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/Embedded/EmbeddedFileSet.cs
  2. 15
      src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/Embedded/EmbeddedResourceFileInfo.cs
  3. 33
      src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/VirtualDirectoryFileInfo.cs

10
src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/Embedded/EmbeddedFileSet.cs

@ -45,8 +45,7 @@ namespace Volo.Abp.VirtualFileSystem.Embedded
resourcePath, resourcePath,
fullPath, fullPath,
CalculateFileName(fullPath), CalculateFileName(fullPath),
lastModificationTime, lastModificationTime
false
); );
} }
} }
@ -58,13 +57,10 @@ namespace Volo.Abp.VirtualFileSystem.Embedded
return; return;
} }
files[directoryPath] = new EmbeddedResourceFileInfo( //TODO: Create a different simpler class! files[directoryPath] = new VirtualDirectoryFileInfo(
Assembly,
null,
directoryPath, directoryPath,
CalculateFileName(directoryPath), CalculateFileName(directoryPath),
lastModificationTime, lastModificationTime
true
); );
if (directoryPath.Contains("/")) if (directoryPath.Contains("/"))

15
src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/Embedded/EmbeddedResourceFileInfo.cs

@ -33,14 +33,12 @@ namespace Volo.Abp.VirtualFileSystem.Embedded
public string Name { get; } public string Name { get; }
public ManifestResourceInfo ManifestResourceInfo { get; }
/// <summary> /// <summary>
/// The time, in UTC. /// The time, in UTC.
/// </summary> /// </summary>
public DateTimeOffset LastModified { get; } public DateTimeOffset LastModified { get; }
public bool IsDirectory { get; } public bool IsDirectory => false;
private readonly Assembly _assembly; private readonly Assembly _assembly;
private readonly string _resourcePath; private readonly string _resourcePath;
@ -50,28 +48,19 @@ namespace Volo.Abp.VirtualFileSystem.Embedded
string resourcePath, string resourcePath,
string physicalPath, string physicalPath,
string name, string name,
DateTimeOffset lastModified, DateTimeOffset lastModified)
bool isDirectory)
{ {
_assembly = assembly; _assembly = assembly;
_resourcePath = resourcePath; _resourcePath = resourcePath;
PhysicalPath = physicalPath; PhysicalPath = physicalPath;
Name = name; Name = name;
if (_resourcePath != null)
{
ManifestResourceInfo = _assembly.GetManifestResourceInfo(_resourcePath);
}
LastModified = lastModified; LastModified = lastModified;
IsDirectory = isDirectory;
} }
/// <inheritdoc /> /// <inheritdoc />
public Stream CreateReadStream() public Stream CreateReadStream()
{ {
var stream = _assembly.GetManifestResourceStream(_resourcePath); var stream = _assembly.GetManifestResourceStream(_resourcePath);
if (!_length.HasValue) if (!_length.HasValue)

33
src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/VirtualDirectoryFileInfo.cs

@ -0,0 +1,33 @@
using System;
using System.IO;
using Microsoft.Extensions.FileProviders;
namespace Volo.Abp.VirtualFileSystem
{
public class VirtualDirectoryFileInfo : IFileInfo
{
public bool Exists => true;
public long Length => 0;
public string PhysicalPath { get; }
public string Name { get; }
public DateTimeOffset LastModified { get; }
public bool IsDirectory => true;
public VirtualDirectoryFileInfo(string physicalPath, string name, DateTimeOffset lastModified)
{
PhysicalPath = physicalPath;
Name = name;
LastModified = lastModified;
}
public Stream CreateReadStream()
{
throw new InvalidOperationException();
}
}
}
Loading…
Cancel
Save