private void getAllItems() { OldAnalysisGrid.DataSource = tblItems; _cloneAnalyzer = new CloneAnalyzer(""); List <source> sourceList = _cloneAnalyzer.GetAllOldAnalyzeDetails(); cycloneEntities _cycloneEntities = new cycloneEntities(); foreach (source i in sourceList) { DataRow dr = tblItems.NewRow(); dr["Source ID"] = i.source_id; dr["Source Name"] = i.source_name; dr["Source Location"] = i.location; dr["Last Analysed Time"] = i.create_date; dr["Line of Code in Last Analysis"] = _cycloneEntities.source_analyzer .Where(a => a.source_id == i.source_id) .OrderByDescending(a => a.processed_time).FirstOrDefault().line_of_code_count; dr["Clone Count in Last Analysis"] = _cycloneEntities.source_analyzer .Where(a => a.source_id == i.source_id) .OrderByDescending(a => a.processed_time).FirstOrDefault().clones_count; DataGridViewButtonColumn visualizeButtonColumn = new DataGridViewButtonColumn(); visualizeButtonColumn.Name = "Analysis History"; visualizeButtonColumn.Text = "View"; visualizeButtonColumn.UseColumnTextForButtonValue = true; int columnIndex = 6; if (OldAnalysisGrid.Columns["Analysis History"] == null) { OldAnalysisGrid.Columns.Insert(columnIndex, visualizeButtonColumn); } tblItems.Rows.Add(dr); } OldAnalysisGrid.Refresh(); }
private void getPreviousData() { dataGridView.DataSource = dataTable; _cloneAnalyzer = new CloneAnalyzer(""); List <source_analyzer> anlyzerList = _cloneAnalyzer.GetAllDetailsByID(sourceId); cycloneEntities _cycloneEntities = new cycloneEntities(); foreach (source_analyzer i in anlyzerList) { DataRow dr = dataTable.NewRow(); dataGridView.AllowUserToAddRows = false; dr["Source ID"] = sourceId; dr["Analyzer ID"] = i.analyzer_id.PadLeft(4, '0'); dr["Processed Time"] = i.processed_time; dr["Source File Count"] = i.source_file_count; dr["Line of Code Count"] = i.line_of_code_count; dr["Clone Class Count"] = i.clone_classes_count; dr["Clones Count"] = i.clones_count; DataGridViewButtonColumn visualizeButtonColumn = new DataGridViewButtonColumn(); visualizeButtonColumn.Name = "Visualize Statistics"; visualizeButtonColumn.Text = "Visualize"; visualizeButtonColumn.UseColumnTextForButtonValue = true; int columnIndex = 7; if (dataGridView.Columns["Visualize Statistics"] == null) { dataGridView.Columns.Insert(columnIndex, visualizeButtonColumn); } dataTable.Rows.Add(dr); } dataGridView.Refresh(); }
private void getAnalysisResult() { dataGridView1.DataSource = dataTable; _cloneAnalyzer = new CloneAnalyzer(""); source_analyzer anlyzer = _cloneAnalyzer.GetAnalyzeDetailsByID(_sourceAnalyzeId); cycloneEntities _cycloneEntities = new cycloneEntities(); if (anlyzer != null) { DataRow dr = dataTable.NewRow(); dataGridView1.AllowUserToAddRows = false; dr["Source ID"] = anlyzer.source_id; _sourceId = anlyzer.source_id; dr["Analyzer ID"] = _sourceAnalyzeId; dr["Processed Time"] = anlyzer.processed_time; dr["Source File Count"] = anlyzer.source_file_count; dr["Line of Code Count"] = anlyzer.line_of_code_count; dr["Clone Class Count"] = anlyzer.clone_classes_count; dr["Clones Count"] = anlyzer.clones_count; dataTable.Rows.Add(dr); } dataGridView1.Refresh(); }
private void btnAnalyzeCode_Click(object sender, EventArgs e) { try { String LocalFilePath = txtLocalSourceUrl.Text; String GitHubUrl = txtGitSourceUrl.Text; String ProjectName = txtProjectName.Text; if (String.IsNullOrEmpty(LocalFilePath) && String.IsNullOrEmpty(GitHubUrl)) { MessageBox.Show("Please specify either Local File Path or GIT Url"); } else { if (!String.IsNullOrEmpty(ProjectName)) { Boolean IsOneTime = chkOneTimeAnalyse.Checked; Boolean IsTimeToTime = chkTimeToTimeAnalyze.Checked; if (IsOneTime || IsTimeToTime) { if (!String.IsNullOrEmpty(LocalFilePath)) { if (Directory.Exists(LocalFilePath) && Directory.EnumerateFiles(LocalFilePath).Count() > 0) { //setup cqr and cqb and update db _cloneAnalyzer = new CloneAnalyzer(ProjectName); var TimeInterval = cmbInterval.SelectedValue; if (IsOneTime) { TimeInterval = ""; } Waiting waitingForm = new Waiting(); waitingForm.Show(); string analyzeId = ""; var status = _cloneAnalyzer.ProcessLocalFilePath(LocalFilePath, ProjectName, GitHubUrl, TimeInterval.ToString(), out analyzeId); waitingForm.Hide(); waitingForm.Dispose(); if (analyzeId != "") { Form3 frmJustResult = new Form3(analyzeId); frmJustResult.Show(); } } else { MessageBox.Show("Specified directory not exist or empty"); } } else if (!String.IsNullOrEmpty(GitHubUrl)) { //git hub implementation if (GitHubUrl.Contains(".git")) { //assume that the master branch always as /archive/master.zip Waiting waitingForm = new Waiting(); waitingForm.Show(); Application.DoEvents(); var GitHubUrlforMain = GitHubUrl.Replace(".git", "/archive/master.zip"); string url = @GitHubUrlforMain; WebClient client = new WebClient(); //client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted); var workingDirectory = ConfigurationSettings.AppSettings["DefaultSourceLocation"]; CloneAnalyzer ca = new CloneAnalyzer(""); string analyzeId = ""; if (ca.CreateBaseLocationForSource()) { String uniqueProjectRef = Guid.NewGuid().ToString(); if (!Directory.Exists(workingDirectory + "\\GitSources\\" + uniqueProjectRef)) { Directory.CreateDirectory(workingDirectory + "\\GitSources\\" + uniqueProjectRef); } client.DownloadFile(new Uri(url), @workingDirectory + "\\GitSources\\" + uniqueProjectRef + "\\" + uniqueProjectRef + ".zip"); ZipFile.ExtractToDirectory(@workingDirectory + "\\GitSources\\" + uniqueProjectRef + "\\" + uniqueProjectRef + ".zip", @workingDirectory + "\\GitSources\\" + uniqueProjectRef + "\\"); ca = new CloneAnalyzer(""); var TimeInterval = cmbInterval.SelectedValue; if (IsOneTime) { TimeInterval = ""; } ca.ProcessLocalFilePath(@workingDirectory + "\\GitSources\\" + uniqueProjectRef, ProjectName, GitHubUrl, TimeInterval.ToString(), out analyzeId); } waitingForm.Hide(); waitingForm.Dispose(); if (analyzeId != "") { Form3 frmJustResult = new Form3(analyzeId); frmJustResult.Show(); } txtGitSourceUrl.Text = ""; txtLocalSourceUrl.Text = ""; txtProjectName.Text = ""; chkOneTimeAnalyse.Checked = false; chkTimeToTimeAnalyze.Checked = false; chkOneTimeAnalyse.Enabled = false; chkTimeToTimeAnalyze.Enabled = false; } else { MessageBox.Show("Seems like provided GIT Url is invalid."); } } else { MessageBox.Show("Please specify either Local File Path or GIT Url"); } } else { MessageBox.Show("Please specify a analysis method"); } } else { MessageBox.Show("Please specify a Project Name"); } } } catch (Exception ex) { MessageBox.Show(ex.Message); } }