Skip to content

Commit

Permalink
dont redact pks
Browse files Browse the repository at this point in the history
  • Loading branch information
JFriel committed Dec 11, 2023
1 parent da567f7 commit 6a7e640
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ public class ExecuteCommandIdentifyCHIInCatalogue : BasicCommandExecution, IAtom
private bool _bailOutEarly;

Check notice

Code scanning / CodeQL

Missed 'readonly' opportunity Note

Field '_bailOutEarly' can be 'readonly'.
private readonly Dictionary<string, List<string>> _allowLists = new();

//TODO don;t show PKs
public ExecuteCommandIdentifyCHIInCatalogue(IBasicActivateItems activator, [DemandsInitialization("The catalogue to search")] ICatalogue catalogue, bool bailOutEarly = false, string allowListLocation = null) : base(activator)
{
_catalouge = catalogue;
Expand Down Expand Up @@ -58,6 +59,8 @@ public static string WrapCHIInContext(string chi, string source, int padding = 2

private void handleFoundCHI(string foundChi, string contextValue, string columnName, string pkValue, string pkColumn)
{
if (pkColumn.Split(".").Last().Replace("[", "").Replace("]", "") == columnName.Replace("[", "").Replace("]", "")) return; //don't redact PKs, it gets messy
//^TODO check this works and doesn;t need to munge the []^
if (foundChis.Rows.Count == 0)
{
//init
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@ public ExecuteCommandPasteClipboardAsNewCatalogueItems(IBasicActivateItems activ
_clipboardContentGetter = clipboardContentGetter;
}

public override Image<Rgba32> GetImage(IIconProvider iconProvider) =>
iconProvider.GetImage(RDMPConcept.Clipboard, OverlayKind.Import);
//public override Image<Rgba32> GetImage(IIconProvider iconProvider) =>
// iconProvider.GetImage(RDMPConcept.Clipboard, OverlayKind.Import);

public override void Execute()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,10 +100,13 @@ in dt.Columns.Cast<DataColumn>()
}
var ft = tbl.GetFullyQualifiedName().Replace("_RAW", ""); //TODO
ft = ft.Replace("..", ".[dbo].");
var rc = new RedactedCHI(_job.RepositoryLocator.CatalogueRepository, foundChi, replacementIdex, ft, pkValue, pkColumnName.Split(".").Last(), $"[{col.ColumnName}]");
rc.SaveToDatabase();
var redactionString = "##########";
row[col] = row[col].ToString().Replace(foundChi, redactionString.Substring(0, Math.Min(foundChi.Length, redactionString.Length)));
if (pkColumnName.Split(".").Last().Replace("[","").Replace("]","") != $"{col.ColumnName}")
{
var rc = new RedactedCHI(_job.RepositoryLocator.CatalogueRepository, foundChi, replacementIdex, ft, pkValue, pkColumnName.Split(".").Last(), $"[{col.ColumnName}]");
rc.SaveToDatabase();
var redactionString = "##########";
row[col] = row[col].ToString().Replace(foundChi, redactionString.Substring(0, Math.Min(foundChi.Length, redactionString.Length)));
}
}
else
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,6 @@ public override void Execute()
cmd.Execute();
}

public override Image<Rgba32> GetImage([NotNull] IIconProvider iconProvider) =>
iconProvider.GetImage(RDMPConcept.Dataset, OverlayKind.Link);
//public override Image<Rgba32> GetImage([NotNull] IIconProvider iconProvider) =>
// iconProvider.GetImage(RDMPConcept.Dataset, OverlayKind.Link);
}
7 changes: 5 additions & 2 deletions Rdmp.UI/SimpleDialogs/RedactChisInCatalogueDialog.cs
Original file line number Diff line number Diff line change
Expand Up @@ -53,11 +53,11 @@ private void Redact(int rowIndex)
var pkColumn = result.ItemArray[4].ToString();
var replacementIdex = int.Parse(result.ItemArray[5].ToString());
var table = name.Replace($".[{column}]", "");
var rc = new RedactedCHI(_catalogue.CatalogueRepository, foundChi, replacementIdex, table, pkValue,"TODO", $"[{column}]");
var rc = new RedactedCHI(_catalogue.CatalogueRepository, foundChi, replacementIdex, table, pkValue,pkColumn, $"[{column}]");
rc.SaveToDatabase();

var redactedString = new string('#', foundChi.Length);
var fetchSQL = $"select {column} from {table} where {pkColumn} = '{pkValue}' and charindex('{foundChi}',{column},{replacementIdex}) >0";
var fetchSQL = $"select TOP 1 {column} from {table} where {pkColumn} = '{pkValue}' and charindex('{foundChi}',{column},{replacementIdex}) >0";
var existingResultsDT = new DataTable();

Check warning

Code scanning / CodeQL

Missing Dispose call on local IDisposable Warning

Disposable 'DataTable' is created but not disposed.
var columnInfo = _activator.RepositoryLocator.CatalogueRepository.GetAllObjects<ColumnInfo>().Where(ci => ci.Name == $"{table}.[{column}]").First();
var catalogue = columnInfo.CatalogueItems.FirstOrDefault().Catalogue;
Expand Down Expand Up @@ -93,6 +93,9 @@ private void handleClick(object sender, DataGridViewCellEventArgs e)

private void ShowResults()
{
if(_results.Rows.Count ==0) {
//TODO show a 'no results found' message
}

Check warning

Code scanning / CodeQL

Futile conditional Warning

If-statement with an empty then-branch and no else-branch.
dgResults.DataSource = _results;
DataGridViewButtonColumn confirmColumn = new DataGridViewButtonColumn();

Check warning

Code scanning / CodeQL

Missing Dispose call on local IDisposable Warning

Disposable 'DataGridViewButtonColumn' is created but not disposed.
confirmColumn.Text = "Redact";
Expand Down

0 comments on commit 6a7e640

Please sign in to comment.