Exemplo n.º 1
0
        private void Initialize(string lang, INodesForIndexingProvider nfip, bool isFullRestart)
        {
            if (!_isInitialized)
            {
                lock (this)
                {
                    if (!_isInitialized)
                    {
                        isStopIndexingRequested = false;

                        _isInitialized = false;

                        OnIndexingStarted();

                        NodesForIndexingProvider = nfip;
                        CurrentLanguage          = lang;
                        CurrentView = nfip.GetHashKeyForIndex();

                        if (isFullRestart || IsNeedsReIndexing())
                        {
                            DoInitialize(isFullRestart);

                            ThreadSafeQueue <Node> queuedNodes = new ThreadSafeQueue <Node>(NodesForIndexingProvider.GetNodesForIndexing());

                            RunFullIndexingInSeparateThread(queuedNodes);
                        }
                    }
                }
            }
        }
Exemplo n.º 2
0
        private LuceneIndexMgr InitializeIndex(INodesForIndexingProvider deepNodeFinder)
        {
            LuceneIndexMgr result = new LuceneIndexMgr();

            indexMrgsNeedingCleanupAtTearDown.Add(result);

            bool isInitializationCompletedHandlerCalled = false;

            result.IndexingCompleted += delegate { isInitializationCompletedHandlerCalled = true; };

            Assert.IsFalse(result.IsInitialized, "TEST SANITY: IsInitialized should be false");

            result.Initialize("en", deepNodeFinder);

            Stopwatch timer = new Stopwatch();

            timer.Start();

            while (result.IsIndexing)
            {
                if (timer.ElapsedMilliseconds > 120000)
                {
                    throw new Exception("It's taken longer than 120 seconds to initialize");
                }
                Thread.Sleep(500);
            }

            Thread.Sleep(1000);

            Assert.IsTrue(isInitializationCompletedHandlerCalled,
                          "isInitializationCompletedHandlerCalled was false but should be true");
            Assert.IsTrue(result.IsInitialized, "IsInitialized was false but should be true");

            return(result);
        }
Exemplo n.º 3
0
        /// <summary>
        /// </summary>
        public void ChangeToView(INodesForIndexingProvider newNodesForIndexingProvider)
        {
            lock (this)
            {
                try
                {
                    NodesForIndexingProvider = newNodesForIndexingProvider;
                    CurrentView = NodesForIndexingProvider.GetHashKeyForIndex();

                    if (IsNeedsReIndexing())
                    {
                        _isInitialized = false;
                        Initialize(CurrentLanguage, NodesForIndexingProvider, false);
                    }
                }
                catch (Exception e)
                {
                    Debug.Write(new Exception("AbstractIndexMgr: An error occurred in ChangeToView", e));
                }
            }
        }
Exemplo n.º 4
0
 /// <summary>
 /// </summary>
 public void ChangeToView(INodesForIndexingProvider nodesForIndexingProvider)
 {
     _indexMgr.ChangeToView(nodesForIndexingProvider);
 }
Exemplo n.º 5
0
 /// <summary>
 /// </summary>
 public void Initialize(string currentLanguage, INodesForIndexingProvider nodesForIndexingProvider)
 {
     _indexMgr.Initialize(currentLanguage, nodesForIndexingProvider);
 }
Exemplo n.º 6
0
        private void Initialize(string lang, INodesForIndexingProvider nfip, bool isFullRestart)
        {
            if (!_isInitialized)
            {
                lock (this)
                {
                    if (!_isInitialized)
                    {
                        isStopIndexingRequested = false;

                        _isInitialized = false;

                        OnIndexingStarted();

                        NodesForIndexingProvider = nfip;
                        CurrentLanguage = lang;
                        CurrentView = nfip.GetHashKeyForIndex();

                        if (isFullRestart || IsNeedsReIndexing())
                        {
                            DoInitialize(isFullRestart);

                            ThreadSafeQueue<Node> queuedNodes = new ThreadSafeQueue<Node>(NodesForIndexingProvider.GetNodesForIndexing());

                            RunFullIndexingInSeparateThread(queuedNodes);
                        }
                    }
                }
            }
        }
Exemplo n.º 7
0
 ///<summary>
 ///</summary>
 public void Initialize(string lang, INodesForIndexingProvider nfip)
 {
     Initialize(lang,nfip,true);
 }
Exemplo n.º 8
0
        /// <summary>
        /// </summary>
        public void ChangeToView(INodesForIndexingProvider newNodesForIndexingProvider)
        {
            lock (this)
            {
                try
                {
                    NodesForIndexingProvider = newNodesForIndexingProvider;
                    CurrentView = NodesForIndexingProvider.GetHashKeyForIndex();

                    if (IsNeedsReIndexing())
                    {
                        _isInitialized = false;
                        Initialize(CurrentLanguage, NodesForIndexingProvider, false);
                    }
                }
                catch (Exception e)
                {
                    Debug.Write(new Exception("AbstractIndexMgr: An error occurred in ChangeToView", e));
                }
            }
        }
Exemplo n.º 9
0
 /// <summary>
 /// </summary>
 public void Initialize(string currentLanguage, INodesForIndexingProvider nodesForIndexingProvider)
 {
     _indexMgr.Initialize(currentLanguage, nodesForIndexingProvider);
 }
Exemplo n.º 10
0
 /// <summary>
 /// </summary>
 public void ChangeToView(INodesForIndexingProvider nodesForIndexingProvider)
 {
     _indexMgr.ChangeToView(nodesForIndexingProvider);
 }
Exemplo n.º 11
0
 public void SetupOnlyOnce()
 {
     _deepNodeFinder = GetNodeProvider();
     _indexMgr       = InitializeIndex(_deepNodeFinder);
 }
Exemplo n.º 12
0
 public void SetupOnlyOnce()
 {
     _deepNodeFinder = GetNodeProvider();
     _indexMgr = InitializeIndex(_deepNodeFinder);
 }
Exemplo n.º 13
0
        private LuceneIndexMgr InitializeIndex(INodesForIndexingProvider deepNodeFinder)
        {
            LuceneIndexMgr result = new LuceneIndexMgr();
            indexMrgsNeedingCleanupAtTearDown.Add(result);

            bool isInitializationCompletedHandlerCalled = false;
            result.IndexingCompleted += delegate { isInitializationCompletedHandlerCalled = true; };

            Assert.IsFalse(result.IsInitialized, "TEST SANITY: IsInitialized should be false");

            result.Initialize("en", deepNodeFinder);

            Stopwatch timer = new Stopwatch();
            timer.Start();

            while (result.IsIndexing)
            {
                if (timer.ElapsedMilliseconds > 120000)
                    throw new Exception("It's taken longer than 120 seconds to initialize");
                Thread.Sleep(500);
            }

            Thread.Sleep(1000);

            Assert.IsTrue(isInitializationCompletedHandlerCalled,
                          "isInitializationCompletedHandlerCalled was false but should be true");
            Assert.IsTrue(result.IsInitialized, "IsInitialized was false but should be true");

            return result;
        }
Exemplo n.º 14
0
 ///<summary>
 ///</summary>
 public void Initialize(string lang, INodesForIndexingProvider nfip)
 {
     Initialize(lang, nfip, true);
 }