public CodeSearcherLogic( ICodeSearcherLogger logger, Func <string> getIndexPath, Func <string> getSourcePath, Func <IList <string> > getFileExtension) { m_Logger = logger; m_GetIndexPath = getIndexPath; m_GetSourcePath = getSourcePath; m_GetFileExtension = getFileExtension; }
/// <inheritdoc /> ICodeSearcherManager ICodeSearcherFactory.GetCodeSearcherManager(ICodeSearcherLogger logger) { if (logger is null) { throw new ArgumentNullException(nameof(logger)); } var mgr = Ioc.Get <ICodeSearcherManager>(new ConstructorArgument("logger", logger)); return(mgr); }
/// <summary> /// Default constructor to create code-searcher Web API controller /// </summary> /// <param name="logger">Instance where all messages should be logged into</param> /// <param name="memoryCache">Instance to cache data</param> public CodeSearcherController(ILogger <CodeSearcherController> logger, IMemoryCache memoryCache) { m_Logger = new WebLogAdapter(logger); m_Manager = Factory.Get().GetCodeSearcherManager(m_Logger); m_MemoryCache = memoryCache; string cachedManagementInformation; if (m_MemoryCache.TryGetValue <string>(CacheKeys.ManagementInformationKey, out cachedManagementInformation)) { if (string.Compare(cachedManagementInformation, m_Manager.ManagementInformationPath, StringComparison.OrdinalIgnoreCase) != 0) { m_Manager.ManagementInformationPath = cachedManagementInformation; } } }
/// <inheritdoc /> ICodeSearcherLogic ICodeSearcherFactory.GetCodeSearcherLogic( ICodeSearcherLogger logger, Func <string> getIndexPath, Func <string> getSourcePath, Func <IList <string> > getFileExtension) { //for testing if (m_CodeSearcherLogic != null) { return(m_CodeSearcherLogic); } if (logger is null) { throw new ArgumentNullException(nameof(logger)); } if (getIndexPath is null) { throw new ArgumentNullException(nameof(getIndexPath)); } if (getSourcePath is null) { throw new ArgumentNullException(nameof(getSourcePath)); } if (getFileExtension is null) { throw new ArgumentNullException(nameof(getFileExtension)); } return(Ioc.Get <ICodeSearcherLogic>( new ConstructorArgument("logger", logger), new ConstructorArgument("getIndexPath", getIndexPath), new ConstructorArgument("getSourcePath", getSourcePath), new ConstructorArgument("getFileExtension", getFileExtension) )); }
public CodeSearcherManager(ICodeSearcherLogger logger) { m_Logger = logger ?? throw new ArgumentNullException(nameof(logger)); ManagementInformationPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), FolderNames.ManagementFolder); ReadMetaFilesFromDisk(); }