public StepProcessingFactory(StepMap stepsToProcess, int maxWorkers)
 {
     ProcessingSteps     = stepsToProcess;
     MaxWorkers          = maxWorkers;
     WorkProcessingOrder = new WorkProcessingOrder();
     workPackageCount    = 0;
 }
Exemple #2
0
 public void LoadFromStepMap(StepMap stepMap)
 {
     DoTaskAsynch(() =>
     {
         LoadFromStepMapInternal(stepMap);
         IsStepMapDirty = false;
     });
 }
Exemple #3
0
 public void LoadFromStepMap(StepMap stepMap)
 {
     DoTaskAsynch(() =>
     {
         LoadFromStepMapInternal(stepMap);
         IsStepMapDirty = false;
     },
                  string.Format("Load from step map ({0})", GetType().Name));
 }
Exemple #4
0
 protected override void SaveToStepMapInternal(StepMap stepMap)
 {
     stepMap.FeatureSteps = new List <FeatureSteps>();
     foreach (var featureFileInfo in Files.Where(f => f.ParsedFeature != null))
     {
         stepMap.FeatureSteps.Add(new FeatureSteps
         {
             FileName         = featureFileInfo.ProjectRelativePath,
             TimeStamp        = featureFileInfo.LastChangeDate,
             Feature          = featureFileInfo.ParsedFeature,
             GeneratorVersion = featureFileInfo.GeneratorVersion
         });
     }
 }
        /// <summary>
        ///     We know from the samples that each step, when split on whitespaces, contains the current step name at index 7 and
        ///     its prerequisite at index 1.
        /// </summary>
        /// <param name="fileName"></param>
        /// <returns></returns>
        public static StepMap GenerateStepMapFromFile(string fileName)
        {
            var input = File.ReadAllLines(fileName);
            //var stepMap = new Dictionary<string, Step>();
            var stepMap = new StepMap();

            foreach (var line in input)
            {
                var lineSplit  = line.Split(' ');
                var stepName   = lineSplit[7];
                var preReqName = lineSplit[1];
                stepMap.AddStep(stepName, preReqName);
            }

            return(stepMap);
        }
        private void LoadStepMap()
        {
            var fileName = GetStepMapFileName();

            if (!File.Exists(fileName))
            {
                return;
            }

            var stepMap = StepMap.LoadFromFile(fileName, tracer);

            if (stepMap != null)
            {
                if (stepMap.DefaultLanguage.Equals(GherkinDialectServices.DefaultLanguage)) // if default language changed in config => ignore cache
                {
                    featureFilesTracker.LoadFromStepMap(stepMap);
                }
                bindingFilesTracker.LoadFromStepMap(stepMap);
            }
        }
Exemple #7
0
        protected override void SaveToStepMapInternal(StepMap stepMap)
        {
            stepMap.ProjectStepDefinitions = new List <ProjectStepDefinitions>();
            var projectStepDefinitions = new ProjectStepDefinitions();

            projectStepDefinitions.FileStepDefinitions = new List <FileStepDefinitions>();
            stepMap.ProjectStepDefinitions.Add(projectStepDefinitions);
            foreach (var bindingFileInfo in Files.Where(f => f.IsAnalyzed && !f.IsError))
            {
                var fileStepDefinitions = new FileStepDefinitions
                {
                    FileName  = bindingFileInfo.ProjectRelativePath,
                    TimeStamp = bindingFileInfo.LastChangeDate
                };

                fileStepDefinitions.StepDefinitions = new List <StepDefinitionBindingItem>();
                fileStepDefinitions.StepDefinitions.AddRange(bindingFileInfo.StepBindings.Select(StepDefinitionBindingItem.FromStepDefinitionBinding));
                projectStepDefinitions.FileStepDefinitions.Add(fileStepDefinitions);
            }
        }
        private void SaveStepMap()
        {
            if (_featureFilesTracker == null || !_featureFilesTracker.IsInitialized || _bindingFilesTracker == null || !_bindingFilesTracker.IsInitialized)
            {
                return;
            }

            if (!_featureFilesTracker.IsStepMapDirty && !_bindingFilesTracker.IsStepMapDirty)
            {
                _tracer.Trace("Step map up-to-date", typeof(StepMap).Name);
                return;
            }

            var stepMap = StepMap.CreateStepMap(GherkinDialectServices.DefaultLanguage);

            _featureFilesTracker.SaveToStepMap(stepMap);
            _bindingFilesTracker.SaveToStepMap(stepMap);

            stepMap.SaveToFile(GetStepMapFileName(), _tracer);
        }
Exemple #9
0
        protected override void LoadFromStepMapInternal(StepMap stepMap)
        {
            if (stepMap.ProjectStepDefinitions == null || stepMap.ProjectStepDefinitions.Count == 0)
            {
                return;
            }

            var projectStepDefitions = stepMap.ProjectStepDefinitions[0];

            foreach (var fileStepDefinitions in projectStepDefitions.FileStepDefinitions)
            {
                try
                {
                    var fileInfo = FindFileInfo(fileStepDefinitions.FileName);
                    if (fileInfo == null)
                    {
                        continue;
                    }

                    if (fileInfo.IsDirty(fileStepDefinitions.TimeStamp))
                    {
                        continue;
                    }

                    fileInfo.StepBindings = fileStepDefinitions.StepDefinitions.Select(bi => bi.ToStepDefinitionBinding()).ToList();

                    FireFileUpdated(fileInfo);
                    fileInfo.IsError    = false;
                    fileInfo.IsAnalyzed = true;
                }
                catch (Exception ex)
                {
                    vsProjectScope.Tracer.Trace(string.Format("Binding load error for {0}: {1}", fileStepDefinitions.FileName, ex), GetType().Name);
                }
            }

            vsProjectScope.Tracer.Trace("Applied loaded bindings", GetType().Name);
        }
Exemple #10
0
        protected override void LoadFromStepMapInternal(StepMap stepMap)
        {
            if (stepMap.FeatureSteps == null)
            {
                return;
            }

            foreach (var featureSteps in stepMap.FeatureSteps)
            {
                try
                {
                    var fileInfo = FindFileInfo(featureSteps.FileName);
                    if (fileInfo == null)
                    {
                        continue;
                    }

                    if (fileInfo.IsDirty(featureSteps.TimeStamp))
                    {
                        continue;
                    }

                    fileInfo.ParsedFeature    = featureSteps.Feature;
                    fileInfo.GeneratorVersion = featureSteps.GeneratorVersion;

                    FireFileUpdated(fileInfo);
                    fileInfo.IsError    = false;
                    fileInfo.IsAnalyzed = true;
                }
                catch (Exception ex)
                {
                    vsProjectScope.Tracer.Trace(string.Format("Feature steps load error for {0}: {1}", featureSteps.FileName, ex), GetType().Name);
                }
            }

            vsProjectScope.Tracer.Trace("Applied loaded fieature file steps", GetType().Name);
        }
Exemple #11
0
 protected abstract void SaveToStepMapInternal(StepMap stepMap);
Exemple #12
0
 protected abstract void LoadFromStepMapInternal(StepMap stepMap);
Exemple #13
0
 public void SaveToStepMap(StepMap stepMap)
 {
     SaveToStepMapInternal(stepMap);
     IsStepMapDirty = false;
 }