public PluginRegistry() { For<IDocumentIndexProvider>().Singleton().Use(c => { var logger = c.GetInstance<IActivityLogger>(); var setup = c.GetInstance<DocumentIndexSetup>(); return new DocumentIndexProvider(logger.Debug, setup); }); For<DocumentIndexSetup>().Singleton().Use(() => { var folder = new PluginDataFolder(); return new DocumentIndexSetup(indexPath: folder.Path, minStringLengthToSearch: 2, maxStringLengthIgnore: 60, aliveTimeoutInMinutes:20); }); For<QueryEntityTypeProvider>().Singleton().Use<QueryEntityTypeProvider>(); Forward<QueryEntityTypeProvider, IQueryResultFactory>(); Forward<QueryEntityTypeProvider, IEntityTypeProvider>(); For<IDocumentIdFactory>().Singleton().Use<DocumentIdFactory>(); For<IEntityIndexer>().Singleton().Use<EntityIndexer>(); For<AutomaticOnDemandProfileCreator>().Singleton().Use<AutomaticOnDemandProfileCreator>(); Forward<AutomaticOnDemandProfileCreator, ITargetProcessMessageWhenNoProfilesHandler>(); Forward<AutomaticOnDemandProfileCreator, ITargetProcessConditionalMessageRouter>(); For<QueryParser>().Singleton().Use<QueryParser>(); For<QueryPlanBuilder>().Use<QueryPlanBuilder>(); For<QueryPlanExecutor>().Use<QueryPlanExecutor>(); For<QueryRunner>().Use<QueryRunner>(); For<TextOperations>().Singleton().Use<TextOperations>(); }
public DocumentIndexSetup Load() { int aliveTimeoutInMinutes = PluginSettings.LoadInt(IndexAliveTimeoutInMinutesName, 10); int deferredOptimizeCallsOnChange = PluginSettings.LoadInt(DeferredOptimizeCallsOnChangeName, 1); DeferredOptimizeType optimizeType = PluginSettings.LoadEnum(DeferredOptimizeTypeName, DeferredOptimizeType.None); int checkIntervalInMinutes = PluginSettings.LoadInt(SearchCheckIntervalInMinutesName, aliveTimeoutInMinutes); int? managedMemoryThresholdInMb = PluginSettings.LoadInt(ManagedMemoryThresholdInMbName); var folder = new PluginDataFolder(); return new DocumentIndexSetup(indexPath: folder.Path, minStringLengthToSearch: 2, maxStringLengthIgnore: 60, aliveTimeoutInMinutes: aliveTimeoutInMinutes, deferredOptimizeCounter: deferredOptimizeCallsOnChange, deferredOptimizeType: optimizeType, checkIntervalInMinutes: checkIntervalInMinutes, managedMemoryThresholdInMb: managedMemoryThresholdInMb); }
public LibraryLocalFolder(PluginDataFolder pluginDataFolder) { Path = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, pluginDataFolder.Path, MashupLibraryFolderName); }