/// <summary> /// </summary> /// <param name="factoryId"></param> /// <param name="configuration"></param> /// <returns></returns> public IDataSourceAnalyser Add(LogAnalyserFactoryId factoryId, ILogAnalyserConfiguration configuration) { var template = new AnalyserTemplate { Id = AnalyserId.CreateNew(), FactoryId = factoryId, Configuration = configuration }; var analyser = new DataSourceAnalyser(template, _logFile, _logAnalyserEngine); try { analyser.Configuration = configuration; lock (_syncRoot) { _analysers.Add(analyser, template); _template.Add(template); } return(analyser); } catch (Exception) { analyser.Dispose(); throw; } }
public DataSourcesAnalyser(AnalyserId id, TimeSpan maximumWaitTime) { _syncRoot = new object(); _id = id; _maximumWaitTime = maximumWaitTime; _result = new DataSourcesResult(); _logFiles = new Dictionary <ILogFile, DataSourceResult>(); }
public bool TryGetAnalyser(AnalyserId analyserId, out IDataSourceAnalyser analyser) { lock (_syncRoot) { analyser = _analysers.Keys.FirstOrDefault(x => x.Id == analyserId); return(analyser != null); } }
public void TestDispose() { var analyser = new DataSourceAnalyserProxy(_plugin.Object, AnalyserId.CreateNew(), _scheduler, null, null); _actualAnalyser.Setup(x => x.Dispose()).Throws <NullReferenceException>(); new Action(() => analyser.Dispose()).ShouldNotThrow("because the proxy is supposed to handle failures of its plugin"); _actualAnalyser.Verify(x => x.Dispose(), Times.Once, "because the proxy should have at least tried to dispose of the inner analyser"); }
public void TestGetConfiguration1() { var analyser = new DataSourceAnalyserProxy(_plugin.Object, AnalyserId.CreateNew(), _scheduler, null, null); _actualAnalyser.Setup(x => x.Configuration).Throws <NullReferenceException>(); analyser.Configuration.Should().BeNull(); _actualAnalyser.Verify(x => x.Configuration, Times.Once); }
public override int GetHashCode() { unchecked { int hashCode = AnalyserId.GetHashCode(); hashCode = (hashCode * 397) ^ (int)Kind; hashCode = (hashCode * 397) ^ Message.GetHashCode(); return(hashCode); } }
public void TestRemoveLogFile() { var analyser = new DataSourceAnalyserProxy(_plugin.Object, AnalyserId.CreateNew(), _scheduler, null, null); _actualAnalyser.Setup(x => x.OnLogFileRemoved(It.IsAny <DataSourceId>(), It.IsAny <ILogFile>())).Throws <NullReferenceException>(); var id = DataSourceId.CreateNew(); var logFile = new Mock <ILogFile>().Object; new Action(() => analyser.OnLogFileRemoved(id, logFile)).ShouldNotThrow("because the proxy is supposed to handle failures of its plugin"); _actualAnalyser.Verify(x => x.OnLogFileRemoved(id, logFile), Times.Once, "because the proxy should have at least tried to call RemoveLogFile on the inner analyser"); }
public void TestSetConfiguration1() { var analyser = new DataSourceAnalyserProxy(_plugin.Object, AnalyserId.CreateNew(), _scheduler, null, null); _actualAnalyser.SetupSet(x => x.Configuration).Throws <NullReferenceException>(); var config = new TestLogAnalyserConfiguration(); new Action(() => analyser.Configuration = config).ShouldNotThrow(); _actualAnalyser.VerifySet(x => x.Configuration = config, Times.Once); }
public void TestSetConfiguration2() { var analyser = new DataSourceAnalyserProxy(_plugin.Object, AnalyserId.CreateNew(), _scheduler, null, null); _actualAnalyser.SetupProperty(x => x.Configuration); var config = new TestLogAnalyserConfiguration(); new Action(() => analyser.Configuration = config).ShouldNotThrow(); _actualAnalyser.Object.Configuration.Should().Be(config); }
public void TestGetConfiguration2() { var analyser = new DataSourceAnalyserProxy(_plugin.Object, AnalyserId.CreateNew(), _scheduler, null, null); _actualAnalyser.Setup(x => x.Configuration).Throws <NullReferenceException>(); var config = new TestLogAnalyserConfiguration(); _actualAnalyser.Setup(x => x.Configuration).Returns(config); analyser.Configuration.Should().BeSameAs(config); }
private IDataSourceAnalyser AddAnalyser() { var dataSourceAnalyser = new Mock <IDataSourceAnalyser>(); var analyserId = AnalyserId.CreateNew(); dataSourceAnalyser.Setup(x => x.Id).Returns(analyserId); var analyser = dataSourceAnalyser.Object; _analyser.Setup(x => x.TryGetAnalyser(analyserId, out analyser)).Returns(true); return(analyser); }
public override int GetHashCode() { unchecked { int hashCode = AnalyserId.GetHashCode(); hashCode = (hashCode * 397) ^ (int)Kind; hashCode = Mergeable ? (hashCode * 397) ^ Message.GetHashCode() : (hashCode * 397) ^ Report?.ToString().GetHashCode() ?? string.Empty.GetHashCode(); return(hashCode); } }
public void TestTryGetNonExistentAnalyser() { var activeAnalysis = new ActiveAnalysis(AnalysisId.CreateNew(), _template, _taskScheduler, _dataSourceAnalyserEngine, TimeSpan.Zero); _template.Analysers.Should().BeEmpty(); var configuration = new Mock <ILogAnalyserConfiguration>().Object; activeAnalysis.Add(new AnalyserPluginId("foobar"), configuration); activeAnalysis.TryGetAnalyser(AnalyserId.CreateNew(), out var actualAnalyser).Should().BeFalse(); actualAnalyser.Should().BeNull(); }
public bool TryReadAttribute(string name, out AnalyserId value) { Guid tmp; if (!TryReadAttribute(name, out tmp)) { value = default(AnalyserId); return(false); } value = new AnalyserId(tmp); return(true); }
public DataSourceAnalyserProxy(IDataSourceAnalyserPlugin plugin, AnalyserId id, ITaskScheduler scheduler, ILogFile logFile, ILogAnalyserConfiguration configuration) { _plugin = plugin; _id = id; _logFile = logFile; _configuration = configuration; _analyser = TryCreateAnalyser(scheduler); }
/// <summary> /// </summary> /// <param name="pluginId"></param> /// <param name="configuration"></param> /// <returns></returns> public IDataSourceAnalyser Add(AnalyserPluginId pluginId, ILogAnalyserConfiguration configuration) { var template = new AnalyserTemplate { Id = AnalyserId.CreateNew(), AnalyserPluginId = pluginId, Configuration = configuration }; var analyser = Add(template); _template.Add(template); return(analyser); }
private bool TryGetAnalyser(AnalyserId id, out IDataSourceAnalyser analyser) { if (id == AnalyserId.Empty) { analyser = new NoAnalyser(); return(true); } if (_analysis.TryGetAnalyser(id, out analyser)) { return(true); } return(false); }
public void TestClone3() { var template = new WidgetTemplate { Id = WidgetId.CreateNew(), AnalyserId = AnalyserId.CreateNew(), LogAnalyserFactoryId = new LogAnalyserFactoryId("Company.Namespace.MyFactory") }; var clone = template.Clone(); clone.Should().NotBeNull(); clone.Should().NotBeSameAs(template); clone.Id.Should().Be(template.Id); clone.AnalyserId.Should().Be(template.AnalyserId); clone.LogAnalyserFactoryId.Should().Be(template.LogAnalyserFactoryId); }
public void TestSerialize1() { var template = new AnalyserTemplate { Id = AnalyserId.CreateNew(), AnalyserPluginId = new AnalyserPluginId("lkwdqjklowlkw"), Configuration = new TestConfiguration() }; var actualTemplate = template.Roundtrip(typeof(TestConfiguration)); actualTemplate.Should().NotBeNull(); actualTemplate.Id.Should().Be(template.Id); actualTemplate.AnalyserPluginId.Should().Be(template.AnalyserPluginId); actualTemplate.Configuration.Should().NotBeNull(); actualTemplate.Configuration.Should().BeOfType <TestConfiguration>(); }
public void TestSerialize1() { var template = new WidgetTemplate { Id = WidgetId.CreateNew(), AnalyserId = AnalyserId.CreateNew(), Title = "dwankwadjkwad", Configuration = new TestConfiguration() }; var actualTemplate = template.Roundtrip(typeof(TestConfiguration)); actualTemplate.Should().NotBeNull(); actualTemplate.Id.Should().Be(template.Id); actualTemplate.AnalyserId.Should().Be(template.AnalyserId); actualTemplate.Title.Should().Be(template.Title); actualTemplate.Configuration.Should().NotBeNull(); actualTemplate.Configuration.Should().BeOfType <TestConfiguration>(); actualTemplate.Configuration.Should().NotBeSameAs(template.Configuration); }
public DataSourceAnalyserSnapshot(AnalyserId id, LogAnalyserFactoryId factoryId, ILogAnalyserConfiguration configuration, ILogAnalysisResult result, Percentage progress) { if (id == AnalyserId.Empty) { throw new ArgumentException(nameof(id)); } if (factoryId == LogAnalyserFactoryId.Empty) { throw new ArgumentException(nameof(factoryId)); } Id = id; FactoryId = factoryId; _configuration = configuration; _result = result; _progress = progress; }
public NoAnalyser(LogAnalyserFactoryId factoryId) { _id = AnalyserId.CreateNew(); _factoryId = factoryId; }
public IDataSourceAnalyser Create(AnalyserId id, ITaskScheduler scheduler, ILogFile logFile, ILogAnalyserConfiguration configuration) { return(new DataSourcesAnalyser(id, TimeSpan.FromMilliseconds(100))); }
/// <inheritdoc /> public bool TryReadAttribute(string name, out AnalyserId value) { return(_documentReader.TryReadAttribute(name, out value)); }
/// <inheritdoc /> public void WriteAttribute(string name, AnalyserId value) { WriteAttribute(name, value.ToString()); }
public bool TryGetAnalyser(AnalyserId analyserId, out IDataSourceAnalyser analyser) { throw new NotImplementedException(); }
public NoAnalyser() { _id = AnalyserId.CreateNew(); }
public NoAnalyser() { _id = AnalyserId.Empty; }