private void populateTableWithMethodSignatureAndActionObjectId(String sDbId, String sVulnId, String sActionObjectId) { OunceMySql.populateDataGridViewWithLddbData("rec", sDbId, "vuln_id", sVulnId, dgvLddb_rec); OunceMySql.populateDataGridViewWithLddbData("actionobjects", sDbId, "vuln_id", sVulnId, dgvLddb_actionobjects); if (dgvLddb_actionobjects.Rows.Count == 0) { // if there are no actionObjects for this entry force the update (for example the case with taint propagators updateTablesWithRelatedActionObjectId(); } }
private void updateTablesWithRelatedActionObjectId() { foreach (String sTableName in dLddbDataGridViews.Keys) { switch (sTableName) { case "stored_writeable_alias_info": case "taint_info": case "writes_through_info": OunceMySql.populateDataGridViewWithLddbData(sTableName, lbCurrentMethodDbId.Text, "vuln_id", lbSelectedMethodVulnId.Text, dLddbDataGridViews[sTableName]); break; case "actionobjects": case "rec": break; case "validation_descriptor": OunceMySql.populateDataGridViewWithLddbData(sTableName, lbCurrentMethodDbId.Text, "record_id", lbSelectedMethodVulnId.Text, dLddbDataGridViews[sTableName]); break; default: if (lbSelectedActionObjectId.Text != "") { populateDataGridViewWithTableMapppingToActionObjectId(sTableName, lbSelectedActionObjectId.Text); } else { dLddbDataGridViews[sTableName].Columns.Clear(); } // populateDataGridViewWithTableMapppingToActionObjectId(sTableName, "-1"); // query with no results break; } } }
private void populateDataGridViewWithTableMapppingToActionObjectId(String sTableToSee, String sActionObjectId) { OunceMySql.populateDataGridViewWithLddbData(sTableToSee, "", "ao_id", sActionObjectId, dLddbDataGridViews[sTableToSee]); }