public void ClearRepository()
 {
     parsers.Clear();
     wordSplitter = null;
     resultsReorderer = null;
     queryWeightsSupplier = null;
     queryRewriter = null;
     indexFilterManager = null;
 }
        public void FindAndRegisterValidExtensionPoints_RemovesInvalidCustomIndexFilterManagerConfiguration()
        {
            CreateExtensionPointsConfiguration(addInvalidIndexFilterManagerConfiguration: true);
            ExtensionPointsConfigurationAnalyzer.FindAndRegisterValidExtensionPoints(extensionPointsConfiguration, logger);

            IIndexFilterManager indexFilterManager = ExtensionPointsRepository.Instance.GetIndexFilterManagerImplementation();

            Assert.IsNotNull(indexFilterManager, "Default index filter manager should be used!");
            Assert.AreEqual(indexFilterManager.GetType().FullName, "Sando.Indexer.IndexFiltering.IndexFilterManager", "Invalid index filter manager returned!");

            string logFileContent = File.ReadAllText(logFilePath);

            Assert.IsTrue(logFileContent.Contains("Invalid index filter manager configuration found - it will be omitted during registration process."), "Log file should contain information about removed invalid index filter manager configuration!");
        }
        public void FindAndRegisterValidExtensionPoints_RegistersUsableCustomIndexFilterManager()
        {
            CreateExtensionPointsConfiguration(addValidIndexFilterManagerConfiguration: true);
            ExtensionPointsConfigurationAnalyzer.FindAndRegisterValidExtensionPoints(extensionPointsConfiguration, logger);

            IIndexFilterManager indexFilterManager = ExtensionPointsRepository.Instance.GetIndexFilterManagerImplementation();

            Assert.IsNotNull(indexFilterManager, "Index filter manager should be registered!");
            Assert.AreEqual(indexFilterManager.GetType().FullName, "Sando.TestExtensionPoints.TestIndexFilterManager", "Invalid index filter manager returned!");

            bool shouldBeIndexed = false;

            Assert.DoesNotThrow(() => shouldBeIndexed = indexFilterManager.ShouldFileBeIndexed("C:\\\\index.xml"));
            Assert.IsTrue(shouldBeIndexed, "Invalid results from ShouldFileBeIndexed method!");
        }
Esempio n. 4
0
        private static void FindAndRegisterValidIndexFilterManagerExtensionPoints(ExtensionPointsConfiguration extensionPointsConfiguration, ILog logger)
        {
            logger.Info("Reading index filter manager extension point configuration started");
            BaseExtensionPointConfiguration indexFilterManagerConfiguration = extensionPointsConfiguration.IndexFilterManagerConfiguration;

            if (indexFilterManagerConfiguration != null)
            {
                try
                {
                    logger.Info(String.Format("Index filter manager found: {0}, from assembly: {1}", indexFilterManagerConfiguration.FullClassName, indexFilterManagerConfiguration.LibraryFileRelativePath));
                    IIndexFilterManager indexFilterManager = CreateInstance <IIndexFilterManager>(extensionPointsConfiguration.PluginDirectoryPath, indexFilterManagerConfiguration.LibraryFileRelativePath, indexFilterManagerConfiguration.FullClassName);
                    ExtensionPointsRepository.Instance.RegisterIndexFilterManagerImplementation(indexFilterManager);
                    logger.Info(String.Format("Index filter manager {0} successfully registered.", indexFilterManagerConfiguration.FullClassName));
                }
                catch (Exception ex)
                {
                    logger.Error(String.Format("Index filter manager {0} cannot be registered: {1}", indexFilterManagerConfiguration.FullClassName, ex.Message));
                }
            }
            logger.Info("Reading index filter manager extension point configuration finished");
        }
        public void RegisterIndexFilterManagerImplementation(IIndexFilterManager indexFilterManager)
        {
            Contract.Requires(indexFilterManager != null, "ExtensionPointsManager:RegisterIndexFilterManagerImplementation - indexFilterManager cannot be null!");

            this.indexFilterManager = indexFilterManager;
        }
        public void RegisterIndexFilterManagerImplementation(IIndexFilterManager indexFilterManager)
        {
            Contract.Requires(indexFilterManager != null, "ExtensionPointsManager:RegisterIndexFilterManagerImplementation - indexFilterManager cannot be null!");

            this.indexFilterManager = indexFilterManager;
        }