Пример #1
0
        /// <summary>
        /// Crawls this instance.
        /// </summary>
        /// <exception cref="SPSCrawlerException"><c>SPSCrawlerException</c>.</exception>
        public void Crawl()
        {
            // Select top web or current
            using (SPWeb web = GetTopWeb())
            {
                try
                {
                    // Filter we only need lists
                    var dataFilter = new SPSHierarchyFilter
                    {
                        SortHierarchy  = false,
                        IncludeLists   = true,
                        IncludeWebs    = _recursive,
                        IncludeFolders = false
                    };

                    dataFilter.OnFilter += InvokeCollector;

                    // DataSource
                    using (var dataSource = new SPSHierarchyDataSource(web))
                    {
                        dataSource.Filter = dataFilter;
                        // get all elements . on filter does the rollup
                        dataSource.GetAll();
                    }

                    Processed = true;
                }
                catch (SPException ex)
                {
                    throw new SPSCrawlerException(ex);
                }
            }
        }
Пример #2
0
        public void Properties()
        {
            SPSHierarchyFilter filter = new SPSHierarchyFilter();

            Assert.IsNotNull(filter);

            filter.HideUnderscoreFolders = false;
            filter.IncludeLists          = false;
            filter.Recursive             = false;
            filter.SortHierarchy         = true;
            filter.IncludeWebs           = true;
            filter.IncludeItems          = true;
            filter.IncludeFolders        = true;
            filter.IncludeHiddenLists    = true;
            filter.IncludeHiddenFolders  = true;
            filter.IncludeNumberOfFiles  = true;
            filter.MaxDeepth             = 0;

            Assert.IsFalse(filter.HideUnderscoreFolders);
            Assert.IsFalse(filter.IncludeLists);
            Assert.IsFalse(filter.Recursive);
            Assert.IsTrue(filter.SortHierarchy);
            Assert.IsTrue(filter.IncludeWebs);
            Assert.IsTrue(filter.IncludeItems);
            Assert.IsTrue(filter.IncludeFolders);
            Assert.IsTrue(filter.IncludeHiddenLists);
            Assert.IsTrue(filter.IncludeHiddenFolders);
            Assert.IsTrue(filter.IncludeHiddenFolders);
            Assert.IsTrue(filter.IncludeNumberOfFiles);
            Assert.IsTrue(filter.MaxDeepth == 0);
        }
Пример #3
0
        private void AddNodes(string url, TreeNodeCollection childNodes)
        {
            SPSHierarchyFilter dataFilter = new SPSHierarchyFilter
            {
                SortHierarchy  = true,
                IncludeLists   = _showLists,
                IncludeWebs    = _showSubSites,
                IncludeFolders = _showFolders,
                MaxDeepth      = 9999
            };

            if (!string.IsNullOrEmpty(FilterWeb) || !string.IsNullOrEmpty(FilterList))
            {
                dataFilter.OnFilter += DataSourceFilter;
            }

            using (var dataSource = new SPSHierarchyODDataSource(_rootWeb, url))
            {
                dataSource.Filter = dataFilter;

                Debug.WriteLine("SPSHierarchyIterator");
                SPSHierarchyODIterator hierarchyIterator = new SPSHierarchyODIterator(dataSource);

                foreach (ISPSHierarchyNode node in hierarchyIterator)
                {
                    AddHierarchyNodeToTreeViewNodesCollection(childNodes, node);
                }
            }
        }
Пример #4
0
        public void Constructor()
        {
            SPSHierarchyFilter filter = new SPSHierarchyFilter();

            Assert.IsNotNull(filter);

            Assert.IsTrue(filter.MaxDeepth == 99);
            Assert.IsTrue(filter.HideUnderscoreFolders);
            Assert.IsTrue(filter.IncludeLists);
            Assert.IsTrue(filter.Recursive);
            Assert.IsFalse(filter.SortHierarchy);
            Assert.IsTrue(filter.IncludeWebs);
            Assert.IsFalse(filter.IncludeItems);
            Assert.IsFalse(filter.IncludeFolders);
            Assert.IsFalse(filter.IncludeHiddenLists);
            Assert.IsFalse(filter.IncludeHiddenFolders);
            Assert.IsFalse(filter.IncludeNumberOfFiles);
        }
        //public DataRowView GetSelectedData()
        //{
        //    if (SelectedRow != null && HasResults)
        //    {
        //        return Data.Tables[0].DefaultView[SelectedRow.Value];
        //    }
        //    Data.Tables[0].Rows.Add(Data.Tables[0].NewRow());
        //    return Data.Tables[0].DefaultView[0];
        //}

        #region Private Methods

        /// <summary>
        /// Rolls the up.
        /// </summary>
        private DataSet RollUp()
        {
            Debug.WriteLine("RollUp Called");

            if (!_processed)
            {
                Debug.WriteLine("RollUp Processing");

                _dataSet.Tables[0].Rows.Clear();
                _rowNumber = 0;

                // Select top web or current
                using (SPWeb web = GetWebToUse())
                {
                    try
                    {
                        // Filter we only need lists
                        SPSHierarchyFilter dataFilter = new SPSHierarchyFilter
                        {
                            SortHierarchy  = false,
                            IncludeLists   = true,
                            IncludeWebs    = _camlQueryRecursive,
                            IncludeFolders = false
                        };

                        dataFilter.OnFilter += DataSourceFilter;

                        // DataSource
                        using (SPSHierarchyDataSource source = new SPSHierarchyDataSource(web))
                        {
                            source.Filter = dataFilter;
                            // get all elements . on filter does the rollup
                            source.GetAll();
                        }
                        _processed = true;
                    }
                    catch (SPException ex)
                    {
                        SendError(new SPSErrorArgs(ex.TargetSite.Name, ex.Message, ex));
                    }
                }
            }
            return(_dataSet);
        }
Пример #6
0
        private void AddNodes(string url, TreeNodeCollection childNodes)
        {
            Debug.WriteLine("* AddNodes " + url);

            if (url.Contains("|") && !url.EndsWith("||"))
            {
                return;
            }

            var dataFilter = new SPSHierarchyFilter
            {
                SortHierarchy  = true,
                IncludeLists   = _showLists,
                IncludeWebs    = true,
                IncludeFolders = false,
                MaxDeepth      = 9999
            };

            if (!string.IsNullOrEmpty(FilterWeb) || !string.IsNullOrEmpty(FilterList))
            {
                dataFilter.OnFilter += DataSourceFilter;
            }


            Debug.WriteLine("* DS " + url);

            using (var dataSource = new SPSHierarchyODDataSource(url))
            {
                dataSource.Filter = dataFilter;

                Debug.WriteLine("SPSHierarchyIterator");
                var hierarchyIterator = new SPSHierarchyODIterator(dataSource);

                foreach (ISPSHierarchyNode node in hierarchyIterator)
                {
                    Debug.WriteLine("* " + node.NavigateUrl);
                    AddHierarchyNodeToTreeViewNodesCollection(childNodes, node);
                }
            }
        }
        /// <exception cref="SPSException"><c>SPSException</c>.</exception>
        protected override void CreateChildControls()
        {
            try
            {
                using (SPWeb web = SPContext.Current.Web.Site.OpenWeb())
                {
                    using (dataSource = new SPSHierarchyDataSource(web, GetList()))
                    {
                        dataSource.CacheService = CacheService;
                        SPSHierarchyFilter dataFilter = new SPSHierarchyFilter
                        {
                            IncludeFolders        = true,
                            IncludeNumberOfFiles  = ShowCounter,
                            IncludeWebs           = false,
                            IncludeLists          = false,
                            SortHierarchy         = _sortHierarchy,
                            HideUnderscoreFolders = HideUnderscoreFolders
                        };

                        if (!string.IsNullOrEmpty(Filter))
                        {
                            dataFilter.OnFilter += DataSourceFilter;
                        }

                        dataSource.Filter = dataFilter;

                        treeView             = SPSTreeViewHelper.MakeTreeView(dataSource, GenerateLinkForPath);
                        treeView.ExpandDepth = ExpandDepth;

                        Controls.Add(treeView);
                    }
                }
            }
            catch (Exception ex)
            {
                throw new SPSException(ex.TargetSite.Name, ex);
            }
        }
        protected override void CreateChildControls()
        {
            using (SPWeb web = GetWebToUse())
            {
                try
                {
                    SPSHierarchyFilter dataFilter = new SPSHierarchyFilter
                    {
                        SortHierarchy  = true,
                        IncludeLists   = _showLists,
                        IncludeWebs    = _showSubSites,
                        IncludeFolders = _showFolders,
                        MaxDeepth      = 9999
                    };

                    if (!string.IsNullOrEmpty(FilterWeb) || !string.IsNullOrEmpty(FilterList))
                    {
                        dataFilter.OnFilter += DataSourceFilter;
                    }

                    using (SPSHierarchyDataSource dataSource = new SPSHierarchyDataSource(web))
                    {
                        dataSource.CacheService = GetCacheService();
                        dataSource.Filter       = dataFilter;

                        treeView             = SPSTreeViewHelper.MakeTreeView(dataSource, null);
                        treeView.ExpandDepth = ExpandDepth;

                        Controls.Add(treeView);
                    }
                }
                catch (Exception ex)
                {
                    ErrorMessage += ex.Message;
                }
            }
        }
Пример #9
0
        /// <exception cref="SPException"><c>SPException</c>.</exception>
        protected override void CreateChildControls()
        {
            if (!string.IsNullOrEmpty(ListGuid))
            {
                try
                {
                    SPWeb web = SPContext.Current.Web;

                    using (dataSource = new SPSHierarchyDataSource(web, web.Lists[ListID]))
                    {
                        SPSHierarchyFilter dataFilter = new SPSHierarchyFilter
                        {
                            IncludeFolders       = true,
                            IncludeNumberOfFiles = true,
                            IncludeWebs          = false,
                            IncludeLists         = false,
                            SortHierarchy        = true
                        };

                        dataSource.Filter = dataFilter;

                        treeView = SPSTreeViewHelper.MakeTreeView(dataSource, null);

                        Controls.Add(treeView);
                    }
                }
                catch (Exception e)
                {
                    throw new SPException(
                              string.Format("Error: {0}\nMessage:{1}\nTrace:\n{2}",
                                            e.GetType(),
                                            e.Message,
                                            e));
                }
            }
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="SPSHierarchyFactory"/> class.
 /// </summary>
 /// <param name="filter">The filter.</param>
 public SPSHierarchyODFactory(SPSHierarchyFilter filter)
 {
     Filter = filter;
 }