diff --git a/source/.idea/.idea.Octopus.Server.Core.Versioning/.idea/workspace.xml b/source/.idea/.idea.Octopus.Server.Core.Versioning/.idea/workspace.xml index a499bfd..0f1d791 100644 --- a/source/.idea/.idea.Octopus.Server.Core.Versioning/.idea/workspace.xml +++ b/source/.idea/.idea.Octopus.Server.Core.Versioning/.idea/workspace.xml @@ -2,8 +2,8 @@ + - @@ -750,7 +751,7 @@ - + 1510532881615 @@ -763,7 +764,7 @@ - @@ -1602,31 +1603,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1722,5 +1698,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/source/Octopus.Server.Core.Versioning/Octopus/Core/Resources/Metadata/IMetadataFactory.cs b/source/Octopus.Server.Core.Versioning/Octopus/Core/Resources/Metadata/IMetadataFactory.cs index 22f091e..e1448fb 100644 --- a/source/Octopus.Server.Core.Versioning/Octopus/Core/Resources/Metadata/IMetadataFactory.cs +++ b/source/Octopus.Server.Core.Versioning/Octopus/Core/Resources/Metadata/IMetadataFactory.cs @@ -2,12 +2,19 @@ namespace Octopus.Core.Resources.Metadata { + /// + /// Defines a factory that can be used to extract the metadata of a package from a variety of + /// imports. The methods extended from IPackageIDParser will inspect the supplied paramaters + /// to work out which feed type the package id represents. The methods from this interface + /// add a field called feedType that allows the feed type to be explictly defined. + /// public interface IMetadataFactory : IPackageIDParser { /// /// Extracts metadata from a package ID (i.e. no version information) /// /// The package id + /// The type of feed that supplied the package /// The metadata assocaited with the package id BasePackageMetadata GetMetadataFromPackageID(string packageID, FeedType feedType); /// @@ -16,6 +23,7 @@ public interface IMetadataFactory : IPackageIDParser /// /// The package id /// The parsed metadata if we returned true + /// The type of feed that supplied the package /// True if this package id could be parsed bool CanGetMetadataFromPackageID(string packageID, out BasePackageMetadata metadata, FeedType feedType); /// @@ -24,6 +32,7 @@ public interface IMetadataFactory : IPackageIDParser /// The package id /// The package version /// The package extension + /// The type of feed that supplied the package /// The metadata assocaited with the package id PackageMetadata GetMetadataFromPackageID(string packageID, string version, string extension, FeedType feedType); /// @@ -34,6 +43,7 @@ public interface IMetadataFactory : IPackageIDParser /// The package extension /// The file size /// The file hash + /// The type of feed that supplied the package /// The metadata assocaited with the package id PhysicalPackageMetadata GetMetadataFromPackageID(string packageID, string version, string extension, long size, string hash, FeedType feedType); /// @@ -45,6 +55,7 @@ public interface IMetadataFactory : IPackageIDParser /// /// The package file name /// The extensions that this parser should know about + /// The type of feed that supplied the package /// The metadata assocaited with the package file PackageMetadata GetMetadataFromPackageName(string packageFile, string[] extensions, FeedType feedType); /// @@ -57,6 +68,7 @@ public interface IMetadataFactory : IPackageIDParser /// The package file name /// The extensions that this parser should know about /// The package metadata if the parsing was successful + /// The type of feed that supplied the package /// True if the file could be parsed, and false otherwise bool CanGetMetadataFromPackageName(string packageFile, string[] extensions, out PackageMetadata packageMetadata, FeedType feedType); /// @@ -68,6 +80,7 @@ public interface IMetadataFactory : IPackageIDParser /// /// The package file name /// The extensions that this parser should know about + /// The type of feed that supplied the package /// A tuple with a boolean indicating the success of the parsing, and the metadata if parsing was successful Maybe CanGetMetadataFromPackageName(string packageFile, string[] extensions, FeedType feedType); /// @@ -78,6 +91,7 @@ public interface IMetadataFactory : IPackageIDParser /// This method will break down these filenames. /// /// The package file name + /// The type of feed that supplied the package /// A tuple with a boolean indicating the success of the parsing, and the metadata if parsing was successful Maybe CanGetMetadataFromPackageName(string packageFile, FeedType feedType); /// @@ -88,6 +102,7 @@ public interface IMetadataFactory : IPackageIDParser /// /// The package file name /// The extensions that this parser should know about + /// The type of feed that supplied the package /// The metadata assocaited with the package file PackageMetadata GetMetadataFromServerPackageName(string packageFile, string[] extensions, FeedType feedType); /// @@ -97,6 +112,7 @@ public interface IMetadataFactory : IPackageIDParser /// This method will break down this filename. /// /// The package file name + /// The type of feed that supplied the package /// The metadata assocaited with the package file PackageMetadata GetMetadataFromServerPackageName(string packageFile, FeedType feedType); /// @@ -108,6 +124,7 @@ public interface IMetadataFactory : IPackageIDParser /// The package file name /// The extensions that this parser should know about /// The package metadata if the parsing was successful + /// The type of feed that supplied the package /// True if the file could be parsed, and false otherwise bool CanGetMetadataFromServerPackageName(string packageFile, string[] extensions, out PackageMetadata packageMetadata, FeedType feedType); /// @@ -117,6 +134,7 @@ public interface IMetadataFactory : IPackageIDParser /// This method will break down this filename. /// /// The package file name + /// The type of feed that supplied the package /// A tuple with a boolean indicating the success of the parsing, and the metadata if parsing was successful Maybe CanGetMetadataFromServerPackageName(string packageFile, string[] extensions, FeedType feedType); /// @@ -126,6 +144,7 @@ public interface IMetadataFactory : IPackageIDParser /// This method will break down this filename. /// /// The package file name + /// The type of feed that supplied the package /// A tuple with a boolean indicating the success of the parsing, and the metadata if parsing was successful Maybe CanGetMetadataFromServerPackageName(string packageFile, FeedType feedType); /// @@ -138,6 +157,7 @@ public interface IMetadataFactory : IPackageIDParser /// The extensions that this parser should know about /// The file size /// The file hash + /// The type of feed that supplied the package /// The metadata assocaited with the package file PhysicalPackageMetadata GetMetadataFromServerPackageName( string packageFile,