public AnalyseController( IGlasswallVersionService glasswallVersionService, IFileTypeDetector fileTypeDetector, IFileAnalyser fileAnalyser, IMetricService metricService, ILogger <AnalyseController> logger) : base(logger, metricService) { _glasswallVersionService = glasswallVersionService ?? throw new ArgumentNullException(nameof(glasswallVersionService)); _fileTypeDetector = fileTypeDetector ?? throw new ArgumentNullException(nameof(fileTypeDetector)); _fileAnalyser = fileAnalyser ?? throw new ArgumentNullException(nameof(fileAnalyser)); }
public override bool Init(ICollectFilterOptions options) { _options = options.ConvertTo <FileInputFilterOptions>(); _watcher = new DFileSystemWatcher(_loggerFactory.CreateLogger <DFileSystemWatcher>(), _options); _analyser = new FileAnalyser(_loggerFactory.CreateLogger <FileAnalyser>(), _options); _watcher.SetFileChangeAction((file) => { _analyser.Analyse(file); }); _analyser.SetDealContextAction((collectContext) => { if (!OutputContext(collectContext)) { this.Pause(); } }); return(true); }