ContainersPathConstraintUpdater catches errors due to missing migrations.

--HG--
branch : dev
This commit is contained in:
Dave Reed
2011-03-10 11:39:28 -08:00
parent e0dada5fb0
commit 6c068e45ef

View File

@@ -1,9 +1,12 @@
using System.Linq; using System;
using System.Linq;
using Orchard.ContentManagement; using Orchard.ContentManagement;
using Orchard.Core.Containers.Models; using Orchard.Core.Containers.Models;
using Orchard.Core.Routable.Models; using Orchard.Core.Routable.Models;
using Orchard.Environment; using Orchard.Environment;
using Orchard.Logging;
using Orchard.Tasks; using Orchard.Tasks;
using Orchard.UI.Admin;
namespace Orchard.Core.Containers.Services { namespace Orchard.Core.Containers.Services {
public class ContainersPathConstraintUpdater : IOrchardShellEvents, IBackgroundTask { public class ContainersPathConstraintUpdater : IOrchardShellEvents, IBackgroundTask {
@@ -13,8 +16,11 @@ namespace Orchard.Core.Containers.Services {
public ContainersPathConstraintUpdater(IContainersPathConstraint containersPathConstraint, IContentManager contentManager) { public ContainersPathConstraintUpdater(IContainersPathConstraint containersPathConstraint, IContentManager contentManager) {
_containersPathConstraint = containersPathConstraint; _containersPathConstraint = containersPathConstraint;
_contentManager = contentManager; _contentManager = contentManager;
Logger = NullLogger.Instance;
} }
public ILogger Logger { get; set; }
void IOrchardShellEvents.Activated() { void IOrchardShellEvents.Activated() {
Refresh(); Refresh();
} }
@@ -27,8 +33,13 @@ namespace Orchard.Core.Containers.Services {
} }
private void Refresh() { private void Refresh() {
var routeParts = _contentManager.Query<RoutePart, RoutePartRecord>().Join<ContainerPartRecord>().List(); try {
_containersPathConstraint.SetPaths(routeParts.Select(x=>x.Path)); var routeParts = _contentManager.Query<RoutePart, RoutePartRecord>().Join<ContainerPartRecord>().List();
_containersPathConstraint.SetPaths(routeParts.Select(x => x.Path));
}
catch (Exception ex) {
Logger.Error(ex, "Error while setting path constraints for containers.");
}
} }
} }
} }