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)); }