public static MetadataArtifactLoader Create( string path, MetadataArtifactLoader.ExtensionCheck extensionCheck, string validExtension, ICollection <string> uriRegistry) { return(MetadataArtifactLoader.Create(path, extensionCheck, validExtension, uriRegistry, (MetadataArtifactAssemblyResolver) new DefaultAssemblyResolver())); }
internal static MetadataArtifactLoader CreateResourceLoader( string path, MetadataArtifactLoader.ExtensionCheck extensionCheck, string validExtension, ICollection <string> uriRegistry, MetadataArtifactAssemblyResolver resolver) { string assemblyName = (string)null; string resourceName = (string)null; MetadataArtifactLoaderCompositeResource.ParseResourcePath(path, out assemblyName, out resourceName); bool flag = assemblyName != null && (resourceName == null || assemblyName.Trim() == MetadataArtifactLoader.wildcard); MetadataArtifactLoaderCompositeResource.ValidateExtension(extensionCheck, validExtension, resourceName); if (flag) { return((MetadataArtifactLoader) new MetadataArtifactLoaderCompositeResource(path, assemblyName, resourceName, uriRegistry, resolver)); } return((MetadataArtifactLoader) new MetadataArtifactLoaderResource(MetadataArtifactLoaderCompositeResource.ResolveAssemblyName(assemblyName, resolver), resourceName, uriRegistry)); }
internal static MetadataArtifactLoader CreateCompositeFromFilePaths( IEnumerable <string> filePaths, string validExtension, MetadataArtifactAssemblyResolver resolver) { MetadataArtifactLoader.ExtensionCheck extensionCheck = !string.IsNullOrEmpty(validExtension) ? MetadataArtifactLoader.ExtensionCheck.Specific : MetadataArtifactLoader.ExtensionCheck.All; List <MetadataArtifactLoader> allCollections = new List <MetadataArtifactLoader>(); HashSet <string> stringSet = new HashSet <string>((IEqualityComparer <string>)StringComparer.OrdinalIgnoreCase); foreach (string filePath in filePaths) { if (string.IsNullOrEmpty(filePath)) { throw new MetadataException(Strings.NotValidInputPath, (Exception) new ArgumentException(Strings.ADP_CollectionParameterElementIsNullOrEmpty((object)nameof(filePaths)))); } string path = filePath.Trim(); if (path.Length > 0) { allCollections.Add(MetadataArtifactLoader.Create(path, extensionCheck, validExtension, (ICollection <string>)stringSet, resolver)); } } return(MetadataArtifactLoader.Create(allCollections)); }
private static void ValidateExtension( MetadataArtifactLoader.ExtensionCheck extensionCheck, string validExtension, string resourceName) { if (resourceName == null) { return; } switch (extensionCheck) { case MetadataArtifactLoader.ExtensionCheck.Specific: MetadataArtifactLoader.CheckArtifactExtension(resourceName, validExtension); break; case MetadataArtifactLoader.ExtensionCheck.All: if (MetadataArtifactLoader.IsValidArtifact(resourceName)) { break; } throw new System.Data.Entity.Core.MetadataException(Strings.InvalidMetadataPath); } }
internal static MetadataArtifactLoader Create( string path, MetadataArtifactLoader.ExtensionCheck extensionCheck, string validExtension, ICollection <string> uriRegistry, MetadataArtifactAssemblyResolver resolver) { if (MetadataArtifactLoader.PathStartsWithResPrefix(path)) { return(MetadataArtifactLoaderCompositeResource.CreateResourceLoader(path, extensionCheck, validExtension, uriRegistry, resolver)); } string str = MetadataArtifactLoader.NormalizeFilePaths(path); if (Directory.Exists(str)) { return((MetadataArtifactLoader) new MetadataArtifactLoaderCompositeFile(str, uriRegistry)); } if (!File.Exists(str)) { throw new MetadataException(Strings.InvalidMetadataPath); } switch (extensionCheck) { case MetadataArtifactLoader.ExtensionCheck.Specific: MetadataArtifactLoader.CheckArtifactExtension(str, validExtension); break; case MetadataArtifactLoader.ExtensionCheck.All: if (!MetadataArtifactLoader.IsValidArtifact(str)) { throw new MetadataException(Strings.InvalidMetadataPath); } break; } return((MetadataArtifactLoader) new MetadataArtifactLoaderFile(str, uriRegistry)); }