public async Task RefreshAsync() { ParseInfoLines = ""; CurrentCodeFragment = new CodeFragmentViewModel(); CodeFragments = new ObservableCollection <CodeFragmentViewModel>(); Metrics = new ObservableCollection <MetricViewModel>(); OnParseInfoUpdated("Parsing files started"); _project = await _parser.ParseAsync(_sourcePath); if (_project != null) { OnParseInfoUpdated("Parsing files finished"); } else { OnParseInfoUpdated("Error: Parsing failed"); return; } FillCodeFragments(); OnParseInfoUpdated("Parsed " + _project.GetClassCount() + " classes in " + _project.GetCompilationUnitsCount() + " compilation units"); }
private void FillCodeFragments() { foreach (var compilationUnit in _project.CompilationUnits) { foreach (var cl in compilationUnit.Classes) { var clItem = new CodeFragmentViewModel(cl); CodeFragments.Add(clItem); foreach (var method in cl.Children) { var mItem = new CodeFragmentViewModel(method); clItem.AddChild(mItem); } } } UpdateCodeFragments(); }
private void ShowCodeFragment(CodeFragmentViewModel codeFragment) { if (codeFragment != null) { CurrentCodeFragment = codeFragment; Metrics = new ObservableCollection <MetricViewModel>(); foreach (var metric in codeFragment.Model.Metrics) { Metrics.Add(new MetricViewModel(metric)); } CodeSmells = new ObservableCollection <CodeSmellViewModel>(); foreach (var codesmell in codeFragment.Model.CodeSmells) { CodeSmells.Add(new CodeSmellViewModel(codesmell)); } } }
public MainWindowViewModel(AsyncParserWrapper asyncParser, ApplicationInterfaces.IOService ioService, string path = null) { if (path != null) { _sourcePath = path; } else { //TODO: remove hardcoded paths //_sourcePath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\CodeProjects\spring-boot\spring-boot-project\spring-boot\src\main\java\org\springframework\boot"; //_sourcePath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\CodeProjects\ganttproject-2.8.5\ganttproject\ganttproject\src\net\sourceforge\ganttproject"; _sourcePath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\CodeProjects\junit-4.12\junit4\src\main"; } _project = new Project(); _parser = asyncParser; _ioService = ioService; CurrentCodeFragment = new CodeFragmentViewModel(); ExitCommand = new RelayCommand(() => Environment.Exit(0)); RefreshCommand = new RelayCommand(Refresh); OpenCommand = new RelayCommand(OpenFolder); LoadProjectCommand = new RelayCommand(LoadProject); SaveProjectCommand = new RelayCommand(SaveProject); ShowCodeFragmentCommand = new RelayCommand <CodeFragmentViewModel>(ShowCodeFragment); NextCommand = new RelayCommand(SelectNextFragment); PrevCommand = new RelayCommand(SelectPreviousFragment); ClosingCommand = new RelayCommand(Closing); _filename = "CodeSnifferSavedProject" + System.DateTime.Now.ToString("_Hmm_ddMMyyyy") + ".json"; _dataSetFilename = "TrainingSet" + System.DateTime.Now.ToString("_Hmm_ddMMyyyy") + ".csv"; }
public void AddChild(CodeFragmentViewModel codeItem) { Children.Add(codeItem); }
private CodeFragmentViewModel FindRelatedParent(CodeFragmentViewModel codeFragment) { return(CodeFragments.Where(x => x.Children.Contains(codeFragment)).FirstOrDefault()); }