From 6488277c7c5d57d4a6ca20f2e5d6664158a18f2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Fri, 3 Nov 2017 10:24:03 +0300 Subject: [PATCH] Refactor. --- .../Embedded/EmbeddedFileSet.cs | 10 ++---- .../Embedded/EmbeddedResourceFileInfo.cs | 15 ++------- .../VirtualDirectoryFileInfo.cs | 33 +++++++++++++++++++ 3 files changed, 38 insertions(+), 20 deletions(-) create mode 100644 src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/VirtualDirectoryFileInfo.cs diff --git a/src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/Embedded/EmbeddedFileSet.cs b/src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/Embedded/EmbeddedFileSet.cs index 361fd63e44..26e93d499a 100644 --- a/src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/Embedded/EmbeddedFileSet.cs +++ b/src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/Embedded/EmbeddedFileSet.cs @@ -45,8 +45,7 @@ namespace Volo.Abp.VirtualFileSystem.Embedded resourcePath, fullPath, CalculateFileName(fullPath), - lastModificationTime, - false + lastModificationTime ); } } @@ -58,13 +57,10 @@ namespace Volo.Abp.VirtualFileSystem.Embedded return; } - files[directoryPath] = new EmbeddedResourceFileInfo( //TODO: Create a different simpler class! - Assembly, - null, + files[directoryPath] = new VirtualDirectoryFileInfo( directoryPath, CalculateFileName(directoryPath), - lastModificationTime, - true + lastModificationTime ); if (directoryPath.Contains("/")) diff --git a/src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/Embedded/EmbeddedResourceFileInfo.cs b/src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/Embedded/EmbeddedResourceFileInfo.cs index 008912c48e..22df03f2ab 100644 --- a/src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/Embedded/EmbeddedResourceFileInfo.cs +++ b/src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/Embedded/EmbeddedResourceFileInfo.cs @@ -33,14 +33,12 @@ namespace Volo.Abp.VirtualFileSystem.Embedded public string Name { get; } - public ManifestResourceInfo ManifestResourceInfo { get; } - /// /// The time, in UTC. /// public DateTimeOffset LastModified { get; } - public bool IsDirectory { get; } + public bool IsDirectory => false; private readonly Assembly _assembly; private readonly string _resourcePath; @@ -50,28 +48,19 @@ namespace Volo.Abp.VirtualFileSystem.Embedded string resourcePath, string physicalPath, string name, - DateTimeOffset lastModified, - bool isDirectory) + DateTimeOffset lastModified) { _assembly = assembly; _resourcePath = resourcePath; PhysicalPath = physicalPath; Name = name; - - if (_resourcePath != null) - { - ManifestResourceInfo = _assembly.GetManifestResourceInfo(_resourcePath); - } - LastModified = lastModified; - IsDirectory = isDirectory; } /// public Stream CreateReadStream() { - var stream = _assembly.GetManifestResourceStream(_resourcePath); if (!_length.HasValue) diff --git a/src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/VirtualDirectoryFileInfo.cs b/src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/VirtualDirectoryFileInfo.cs new file mode 100644 index 0000000000..4a84ee5929 --- /dev/null +++ b/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(); + } + } +} \ No newline at end of file