private List <CodeDoc> GetDocumentsFromCommit(GitHubUser user, Repository repo, GitHubCommit commit) { List <CodeDoc> cd = new List <CodeDoc>(); var associated_files = user.GitHubClient.Repository.Commit.Get(repo.Id, commit.Sha).Result; foreach (var file in associated_files.Files) { string ext = Path.GetExtension(file.Filename); if (!SrcML.supportedExtensions.ContainsKey(ext)) { Console.WriteLine("Skipping {0} ({1}): not supported by SrcML", file.Filename, file.Sha); continue; } if (file.Additions == 0 || String.Equals(file.Status, "removed")) { Console.WriteLine("Skipping {0} ({1}): file was deleted", file.Filename, file.Sha); continue; } // pulls out relevant information for later searching string parsedPatch = FullyParsePatch(file.Filename, file.RawUrl, file.Patch); if (String.IsNullOrEmpty(parsedPatch)) { Console.WriteLine("Discarding {0} ({1}): no relevant terms found in parsed patch", file.Filename, file.Sha); continue; } CodeDoc doc = new CodeDoc { Id = file.Sha, Sha = file.Sha, Author_Date = commit.Commit.Author.Date.Date, Author_Name = commit.Commit.Author.Name, Channel = user.ChannelID, Committer_Name = user.UserID, Accesstoken = user.GitHubAccessToken, Filename = file.Filename, Previous_File_Name = file.PreviousFileName, Raw_Url = file.RawUrl, Blob_Url = file.BlobUrl, Unindexed_Patch = parsedPatch, Patch = parsedPatch, Repo = repo.Name, Html_Url = commit.HtmlUrl, Message = commit.Commit.Message, Prog_Language = SrcML.supportedExtensions[ext] }; cd.Add(doc); Console.WriteLine("Adding {0} ({1}) to Solr", doc.Filename, doc.Sha); } return(cd); }
public void CreateInstance(Form main) { if (main is Main) { Main form = (Main)main; if (form.databasetree == null) { form.databasetree = new DataBasesTree(); form.databasetree.DocHandler += new EventHandler<DocumentEventArgs>((object sender, DocumentEventArgs e) => { if (e.Sender is string) { form.CreateDocument(e.Tag, () => { string msg = (string)e.Sender; CodeDoc dummyDoc = new CodeDoc(); dummyDoc.SetMessage(msg, LauguaageType.mssql); return dummyDoc; }); } else if (e.sender is TableEntity) { var obj=LCW.Framework.Common.Driver.DBDriverProvice.GetInstance; TableEntity table = (TableEntity)e.sender; form.CreateDocument(table.Name, () => { IDictionary<string, object> dic = new Dictionary<string, object>(); dic.Add("table", table.Name); dic.Add("columns", table.Columns); string msg = VelocityWrapper.CreateCode(new GeneralCode().Execute(),dic); CodeDoc dummyDoc = new CodeDoc(); dummyDoc.SetMessage(msg, LauguaageType.cs); return dummyDoc; }); } }); } form.databasetree.Show(form.DockPanel); } }