public IEnumerable <LibraryHierarchyNode> GetNodes(LibraryHierarchy libraryHierarchy)
        {
            var key   = new LibraryHierarchyCacheKey(libraryHierarchy, this.Filter);
            var nodes = this.LibraryHierarchyCache.GetNodes(key, () => this.GetNodesCore(libraryHierarchy));

            if (this.LibraryManager.SelectedItem != null)
            {
                this.ApplySelection(nodes);
            }
            return(nodes);
        }
        public LibraryHierarchyNode[] GetNodes(LibraryHierarchyNode libraryHierarchyNode, string filter)
        {
            var key = new LibraryHierarchyCacheKey(null, libraryHierarchyNode, filter);

            return(this.LibraryHierarchyCache.GetNodes(key, () => this.GetNodesCore(libraryHierarchyNode, filter)));
        }
 public void Evict(LibraryHierarchyCacheKey key)
 {
     Logger.Write(this, LogLevel.Debug, "Evicting cache entry: {0}", key);
     this.Nodes.TryRemove(key);
 }
 public LibraryHierarchyNode[] GetNodes(LibraryHierarchyCacheKey key, Func <IEnumerable <LibraryHierarchyNode> > factory)
 {
     return(this.Nodes.GetOrAdd(key, _key => new Lazy <LibraryHierarchyNode[]>(() => factory().ToArray())).Value);
 }
Esempio n. 5
0
 public IEnumerable <LibraryHierarchyNode> GetNodes(LibraryHierarchyCacheKey key, Func <IEnumerable <LibraryHierarchyNode> > factory)
 {
     return(this.Nodes.GetOrAdd(key, _key => new Lazy <IList <LibraryHierarchyNode> >(() => new List <LibraryHierarchyNode>(factory()))).Value);
 }
        public IEnumerable <LibraryHierarchyNode> GetNodes(LibraryHierarchyNode libraryHierarchyNode)
        {
            var key = new LibraryHierarchyCacheKey(libraryHierarchyNode, this.Filter);

            return(this.LibraryHierarchyCache.GetNodes(key, () => this.GetNodesCore(libraryHierarchyNode)));
        }