From 3ce43e1eb28ef389d9b535faa11b8663e1b1ab1f Mon Sep 17 00:00:00 2001 From: Andre Rodrigues Date: Thu, 7 Apr 2011 17:06:18 -0700 Subject: [PATCH] #17553: Fixing issue on the extension reference repository that was generating an HTTP request per package on the gallery during installation. Adding a null check on the package source manager in case there is absolutely no screenshot defined. --HG-- branch : 1.x --- .../Services/ExtensionReferenceRepository.cs | 9 ++++----- .../Orchard.Packaging/Services/PackagingSourceManager.cs | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.Packaging/Services/ExtensionReferenceRepository.cs b/src/Orchard.Web/Modules/Orchard.Packaging/Services/ExtensionReferenceRepository.cs index 1ea3a9f44..508150384 100644 --- a/src/Orchard.Web/Modules/Orchard.Packaging/Services/ExtensionReferenceRepository.cs +++ b/src/Orchard.Web/Modules/Orchard.Packaging/Services/ExtensionReferenceRepository.cs @@ -38,20 +38,19 @@ namespace Orchard.Packaging.Services { } public override IQueryable GetPackages() { + IEnumerable repositoryPackages = SourceRepository.GetPackages().ToList(); IEnumerable packages = from extension in _extensionManager.AvailableExtensions() let id = PackageBuilder.BuildPackageId(extension.Id, extension.ExtensionType) let version = Version.Parse(extension.Version) - let package = SourceRepository.FindPackage(id, version) + let package = repositoryPackages.FirstOrDefault(p => p.Id == id && p.Version == version) where package != null select package; return packages.AsQueryable(); } - public override void AddPackage(IPackage package) { - } + public override void AddPackage(IPackage package) {} - public override void RemovePackage(IPackage package) { - } + public override void RemovePackage(IPackage package) {} } } diff --git a/src/Orchard.Web/Modules/Orchard.Packaging/Services/PackagingSourceManager.cs b/src/Orchard.Web/Modules/Orchard.Packaging/Services/PackagingSourceManager.cs index 535611576..ebf9aef0a 100644 --- a/src/Orchard.Web/Modules/Orchard.Packaging/Services/PackagingSourceManager.cs +++ b/src/Orchard.Web/Modules/Orchard.Packaging/Services/PackagingSourceManager.cs @@ -115,7 +115,7 @@ namespace Orchard.Packaging.Services { downloadUri.Host, downloadUri.Port)); - PublishedScreenshot screenshot = package.Screenshots.FirstOrDefault(); + PublishedScreenshot screenshot = package.Screenshots != null ? package.Screenshots.FirstOrDefault() : null; string iconUrl = GetAbsoluteUri(package.IconUrl, baseUri); string firstScreenshot = screenshot != null ? GetAbsoluteUri(screenshot.ScreenshotUri, baseUri) : string.Empty;