예제 #1
0
 /// <summary>
 /// Sets up the working set object
 /// </summary>
 protected void SetupWorkingSet()
 {
     WorkingSet           = new TWorkingSet();
     WorkingSet.Factory   = new TaskFactory(Scheduler);
     WorkingSet.Archive   = Data;
     SourceArchiveMonitor = new ArchiveMonitor <SrcMLArchive>(Scheduler, StoragePath, SourceArchive, Data);
 }
예제 #2
0
        /// <summary>
        /// Sets up the <see cref="CurrentDataArchive"/> and <see cref="CurrentWorkingSet"/> to respond to events from the srcML service
        /// </summary>
        protected override void Setup() {
            string storagePath = _srcMLService.CurrentMonitor.MonitorStoragePath;
            SrcMLArchive sourceArchive = _srcMLService.CurrentSrcMLArchive;

            CurrentDataArchive = new DataArchive(storagePath, sourceArchive, GlobalScheduler);
            CurrentDataArchive.Generator.ErrorLog = sourceArchive.Generator.ErrorLog;
            CurrentDataArchive.Generator.IsLoggingErrors = true;

            _srcMonitor = new ArchiveMonitor<SrcMLArchive>(GlobalScheduler, storagePath, sourceArchive, CurrentDataArchive);
            CurrentWorkingSet = _workingSetFactories.Default.CreateWorkingSet(storagePath, CurrentDataArchive, GlobalTaskFactory);
            CurrentWorkingSet.UseAsynchronousMethods = true;
        }
예제 #3
0
        /// <summary>
        /// Sets up the <see cref="CurrentDataArchive"/> and <see cref="CurrentWorkingSet"/> to respond to events from the srcML service
        /// </summary>
        protected override void Setup()
        {
            string       storagePath   = _srcMLService.CurrentMonitor.MonitorStoragePath;
            SrcMLArchive sourceArchive = _srcMLService.CurrentSrcMLArchive;

            CurrentDataArchive = new DataArchive(storagePath, sourceArchive, GlobalScheduler);
            CurrentDataArchive.Generator.ErrorLog        = sourceArchive.Generator.ErrorLog;
            CurrentDataArchive.Generator.IsLoggingErrors = true;

            _srcMonitor       = new ArchiveMonitor <SrcMLArchive>(GlobalScheduler, storagePath, sourceArchive, CurrentDataArchive);
            CurrentWorkingSet = _workingSetFactories.Default.CreateWorkingSet(storagePath, CurrentDataArchive, GlobalTaskFactory);
            CurrentWorkingSet.UseAsynchronousMethods = true;
        }
예제 #4
0
 /// <summary>
 /// Implementation method for <see cref="AbstractMonitoringService.StopMonitoring"/>
 /// </summary>
 protected override void StopMonitoringImpl()
 {
     if (null != CurrentWorkingSet)
     {
         _srcMonitor.FileChanged -= _srcMonitor_FileChanged;
         CurrentWorkingSet.StopMonitoring();
         _srcMonitor.StopMonitoring();
         CurrentWorkingSet.Dispose();
         _srcMonitor.Dispose();
         CurrentWorkingSet  = null;
         CurrentDataArchive = null;
         _srcMonitor        = null;
     }
 }
예제 #5
0
 private void RespondToMonitoringStopped(object sender, EventArgs e)
 {
     try {
         if (null != CurrentWorkingSet)
         {
             IsMonitoring = false;
             CurrentWorkingSet.StopMonitoring();
             _srcMonitor.StopMonitoring();
             CurrentWorkingSet.Dispose();
             _srcMonitor.Dispose();
             CurrentWorkingSet  = null;
             CurrentDataArchive = null;
             _srcMonitor        = null;
         }
     } catch (Exception ex) {
         SrcMLFileLogger.DefaultLogger.Error(SrcMLExceptionFormatter.CreateMessage(ex, "Exception in SrcMLDataService.RespondToMonitoringStopped"));
     }
 }
예제 #6
0
        private void RespondToMonitoringStarted(object sender, EventArgs e)
        {
            CurrentDataArchive = new DataArchive(_srcMLService.CurrentMonitor.MonitorStoragePath, _srcMLService.CurrentSrcMLArchive, Scheduler);
            CurrentDataArchive.Generator.ErrorLog        = _srcMLService.CurrentSrcMLArchive.Generator.ErrorLog;
            CurrentDataArchive.Generator.IsLoggingErrors = true;

            _srcMonitor       = new ArchiveMonitor <SrcMLArchive>(Scheduler, _srcMLService.CurrentMonitor.MonitorStoragePath, _srcMLService.CurrentSrcMLArchive, CurrentDataArchive);
            CurrentWorkingSet = _workingSetFactories.Default.CreateWorkingSet(_srcMLService.CurrentMonitor.MonitorStoragePath, CurrentDataArchive, TaskFactory);

            if (_srcMLService.IsUpdating)
            {
                _srcMLService.UpdateArchivesCompleted += GenerateDataAfterUpdate;
            }
            else
            {
                GenerateDataAfterUpdate(this, e);
            }
            IsMonitoring = true;
        }
예제 #7
0
 /// <summary>
 /// Implementation method for <see cref="AbstractMonitoringService.StopMonitoring"/>
 /// </summary>
 protected override void StopMonitoringImpl() {
     if(null != CurrentWorkingSet) {
         _srcMonitor.FileChanged -= _srcMonitor_FileChanged;
         CurrentWorkingSet.StopMonitoring();
         _srcMonitor.StopMonitoring();
         CurrentWorkingSet.Dispose();
         _srcMonitor.Dispose();
         CurrentWorkingSet = null;
         CurrentDataArchive = null;
         _srcMonitor = null;
     }
 }
예제 #8
0
        private void RespondToMonitoringStarted(object sender, EventArgs e) {
            CurrentDataArchive = new DataArchive(_srcMLService.CurrentMonitor.MonitorStoragePath, _srcMLService.CurrentSrcMLArchive, Scheduler);
            CurrentDataArchive.Generator.ErrorLog = _srcMLService.CurrentSrcMLArchive.Generator.ErrorLog;
            CurrentDataArchive.Generator.IsLoggingErrors = true;

            _srcMonitor = new ArchiveMonitor<SrcMLArchive>(Scheduler, _srcMLService.CurrentMonitor.MonitorStoragePath, _srcMLService.CurrentSrcMLArchive, CurrentDataArchive);
            CurrentWorkingSet = _workingSetFactories.Default.CreateWorkingSet(_srcMLService.CurrentMonitor.MonitorStoragePath, CurrentDataArchive, TaskFactory);
            
            if(_srcMLService.IsUpdating) {
                _srcMLService.UpdateArchivesCompleted += GenerateDataAfterUpdate;
            } else {
                GenerateDataAfterUpdate(this, e);
            }
            IsMonitoring = true;
        }
예제 #9
0
        private void RespondToMonitoringStopped(object sender, EventArgs e) {

            try {
                if(null != CurrentWorkingSet) {
                    IsMonitoring = false;
                    CurrentWorkingSet.StopMonitoring();
                    _srcMonitor.StopMonitoring();
                    CurrentWorkingSet.Dispose();
                    _srcMonitor.Dispose();
                    CurrentWorkingSet = null;
                    CurrentDataArchive = null;
                    _srcMonitor = null;
                }
            } catch(Exception ex) {
                SrcMLFileLogger.DefaultLogger.Error(SrcMLExceptionFormatter.CreateMessage(ex, "Exception in SrcMLDataService.RespondToMonitoringStopped"));
            }
            
        }