public StepProcessingFactory(StepMap stepsToProcess, int maxWorkers) { ProcessingSteps = stepsToProcess; MaxWorkers = maxWorkers; WorkProcessingOrder = new WorkProcessingOrder(); workPackageCount = 0; }
public void LoadFromStepMap(StepMap stepMap) { DoTaskAsynch(() => { LoadFromStepMapInternal(stepMap); IsStepMapDirty = false; }); }
public void LoadFromStepMap(StepMap stepMap) { DoTaskAsynch(() => { LoadFromStepMapInternal(stepMap); IsStepMapDirty = false; }, string.Format("Load from step map ({0})", GetType().Name)); }
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); } }
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); }
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); }
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); }
protected abstract void SaveToStepMapInternal(StepMap stepMap);
protected abstract void LoadFromStepMapInternal(StepMap stepMap);
public void SaveToStepMap(StepMap stepMap) { SaveToStepMapInternal(stepMap); IsStepMapDirty = false; }