Example #1
0
        /// <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>();
 }
Example #3
0
 public bool TryGetAnalyser(AnalyserId analyserId, out IDataSourceAnalyser analyser)
 {
     lock (_syncRoot)
     {
         analyser = _analysers.Keys.FirstOrDefault(x => x.Id == analyserId);
         return(analyser != null);
     }
 }
Example #4
0
        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");
        }
Example #5
0
        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);
        }
Example #6
0
 public override int GetHashCode()
 {
     unchecked
     {
         int hashCode = AnalyserId.GetHashCode();
         hashCode = (hashCode * 397) ^ (int)Kind;
         hashCode = (hashCode * 397) ^ Message.GetHashCode();
         return(hashCode);
     }
 }
Example #7
0
        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");
        }
Example #8
0
        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);
        }
Example #9
0
        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);
        }
Example #10
0
        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);
        }
Example #12
0
 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);
     }
 }
Example #13
0
        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();
        }
Example #14
0
            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);
            }
Example #15
0
        public DataSourceAnalyserProxy(IDataSourceAnalyserPlugin plugin,
                                       AnalyserId id,
                                       ITaskScheduler scheduler,
                                       ILogFile logFile,
                                       ILogAnalyserConfiguration configuration)
        {
            _plugin        = plugin;
            _id            = id;
            _logFile       = logFile;
            _configuration = configuration;

            _analyser = TryCreateAnalyser(scheduler);
        }
Example #16
0
        /// <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);
        }
Example #17
0
        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);
        }
Example #18
0
        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>();
        }
Example #20
0
        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);
        }
Example #21
0
        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;
        }
Example #22
0
 public NoAnalyser(LogAnalyserFactoryId factoryId)
 {
     _id        = AnalyserId.CreateNew();
     _factoryId = factoryId;
 }
Example #23
0
 public IDataSourceAnalyser Create(AnalyserId id, ITaskScheduler scheduler, ILogFile logFile,
                                   ILogAnalyserConfiguration configuration)
 {
     return(new DataSourcesAnalyser(id, TimeSpan.FromMilliseconds(100)));
 }
Example #24
0
 /// <inheritdoc />
 public bool TryReadAttribute(string name, out AnalyserId value)
 {
     return(_documentReader.TryReadAttribute(name, out value));
 }
Example #25
0
 /// <inheritdoc />
 public void WriteAttribute(string name, AnalyserId value)
 {
     WriteAttribute(name, value.ToString());
 }
Example #26
0
 public bool TryGetAnalyser(AnalyserId analyserId, out IDataSourceAnalyser analyser)
 {
     throw new NotImplementedException();
 }
Example #27
0
 public NoAnalyser()
 {
     _id = AnalyserId.CreateNew();
 }
Example #28
0
 public NoAnalyser()
 {
     _id = AnalyserId.Empty;
 }