aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-09-18 19:33:21 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-09-18 19:33:21 -0400
commit18a909797fe1a8d8005841582ed01e91c31509dd (patch)
tree7f3971a66d5d1b3d29f01f10e9e56dfa04ef5c4f
parent2ccd7d3e774120b2d25818fdfa97da54a8e8ce00 (diff)
hide concurrent dictionary from folder subclasses
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs6
-rw-r--r--MediaBrowser.Controller/Entities/Folder.cs10
-rw-r--r--MediaBrowser.Controller/Entities/IndexFolder.cs5
3 files changed, 13 insertions, 8 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index db3e546d1..ae6ef6340 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -1042,7 +1042,9 @@ namespace MediaBrowser.Controller.Entities
throw new ArgumentNullException("user");
}
- if (user.Configuration.MaxParentalRating == null)
+ var maxAllowedRating = user.Configuration.MaxParentalRating;
+
+ if (maxAllowedRating == null)
{
return true;
}
@@ -1067,7 +1069,7 @@ namespace MediaBrowser.Controller.Entities
return true;
}
- return value.Value <= user.Configuration.MaxParentalRating.Value;
+ return value.Value <= maxAllowedRating.Value;
}
/// <summary>
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs
index 252b4d0a8..d14ee2228 100644
--- a/MediaBrowser.Controller/Entities/Folder.cs
+++ b/MediaBrowser.Controller/Entities/Folder.cs
@@ -476,7 +476,7 @@ namespace MediaBrowser.Controller.Entities
{
get
{
- LazyInitializer.EnsureInitialized(ref _children, ref _childrenInitialized, ref _childrenSyncLock, LoadChildren);
+ LazyInitializer.EnsureInitialized(ref _children, ref _childrenInitialized, ref _childrenSyncLock, LoadChildrenInternal);
return _children;
}
private set
@@ -529,16 +529,20 @@ namespace MediaBrowser.Controller.Entities
}
}
+ private ConcurrentDictionary<Guid, BaseItem> LoadChildrenInternal()
+ {
+ return new ConcurrentDictionary<Guid, BaseItem>(LoadChildren().ToDictionary(i => i.Id));
+ }
/// <summary>
/// Loads our children. Validation will occur externally.
/// We want this sychronous.
/// </summary>
/// <returns>ConcurrentBag{BaseItem}.</returns>
- protected virtual ConcurrentDictionary<Guid, BaseItem> LoadChildren()
+ protected virtual IEnumerable<BaseItem> LoadChildren()
{
//just load our children from the repo - the library will be validated and maintained in other processes
- return new ConcurrentDictionary<Guid, BaseItem>(GetCachedChildren().ToDictionary(i => i.Id));
+ return GetCachedChildren();
}
/// <summary>
diff --git a/MediaBrowser.Controller/Entities/IndexFolder.cs b/MediaBrowser.Controller/Entities/IndexFolder.cs
index 6b88ea1fc..57e4a35d3 100644
--- a/MediaBrowser.Controller/Entities/IndexFolder.cs
+++ b/MediaBrowser.Controller/Entities/IndexFolder.cs
@@ -1,7 +1,6 @@
using MediaBrowser.Common.Extensions;
using MediaBrowser.Model.Entities;
using MoreLinq;
-using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
@@ -111,7 +110,7 @@ namespace MediaBrowser.Controller.Entities
/// Override to return the children defined to us when we were created
/// </summary>
/// <value>The actual children.</value>
- protected override ConcurrentDictionary<Guid,BaseItem> LoadChildren()
+ protected override IEnumerable<BaseItem> LoadChildren()
{
var originalChildSource = ChildSource.ToList();
@@ -136,7 +135,7 @@ namespace MediaBrowser.Controller.Entities
// Now - since we built the index grouping from the bottom up - we now need to properly set Parents from the top down
SetParents(this, kids.OfType<IndexFolder>());
- return new ConcurrentDictionary<Guid, BaseItem>(kids.DistinctBy(i => i.Id).ToDictionary(i => i.Id));
+ return kids.DistinctBy(i => i.Id);
}
/// <summary>