private void DoMasking(IMaskingStrategy strategy, IEnumerable <DataRow> source, string columnName) { strategy.Initialize(source.First().Table, columnName); foreach (var row in source) { strategy.ParallelMaskingAction(row); } }
private void DoMasking(IMaskingStrategy strategy, DataTable table, string columnName) { strategy.Initialize(table, columnName); foreach (var row in table.AsEnumerable()) { strategy.ParallelMaskingAction(row); } }
public CMaskingMaster() { strategy = null; strategyNames = new Dictionary <string, string>(); strategyNames = CReflectionTools.GetStrategyNamesFromNamespace("DiplomaMaster.MaskingMethods", "CMasking_"); MaskImage = new Image <Gray, byte>(1, 1, new Gray(0)); NeuronBodyMasks = new List <NeuronBodyMask>(); }
public void SetMethod(string MethodName) { if (!strategyNames.ContainsKey(MethodName)) { throw new Exception("SetMethod: method name incorrect!"); } else { Assembly assembly = Assembly.GetExecutingAssembly(); Type type = assembly.GetTypes() .First(t => t.Name == strategyNames[MethodName]); strategy = (IMaskingStrategy)Activator.CreateInstance(type); } }
private async Task ApplyMask(Dictionary <string, Tuple <MaskingOptions, string> > maskingInformation, IEnumerable <DataRow> dataRows) { Console.Out.WriteLine("Combining multiple strategies into one..."); List <IMaskingStrategy> strats = new List <IMaskingStrategy>(); foreach (var item in maskingInformation) { string colName = item.Key; MaskingOptions option = item.Value.Item1; string method = item.Value.Item2; var strategy = MaskingStrategyFactory.CreateStrategyFromMaskingOption(option, method); strategy.Initialize(dataRows.First().Table, colName); //'must call this here for aggregatre strategies Console.Out.WriteLine($"Applying datamask of type {option} to column {colName}"); strats.Add(strategy); } IMaskingStrategy CombinedStrategy = MaskingStrategyFactory.CombineStrategiesIntoSingleStrategy(strats); DataMasker masker = new DataMasker(CombinedStrategy); await masker.MaskDataRowEnumerableAsync(dataRows, "allcols"); Console.Out.WriteLine("Strategies executed."); }
public DataMasker(IMaskingStrategy strategy) { m_Strategy = strategy; }
public void AddStrategy(IMaskingStrategy strategy) { m_Strategies.Add(strategy); }
public static IMaskingStrategy CreateStrategyFromMaskingOption(MaskingOptions option, string maskingMethod = null) { IMaskingStrategy ret = m_OptionToStrategyFactoryMethods[option](maskingMethod); return(ret); }