private static void RegisterWordsFilter(ContainerBuilder builder, Hunspell hunspell) { var wordsFilter = new WordsFilter.WordsFilter() .Normalize(hunspell) .RemovePrepositions(); builder.RegisterInstance(wordsFilter).As <IWordsFilter>(); }
private static IContainer BuildDependencies( int width, int height, Color[] colors, string input) { var builder = new ContainerBuilder(); var center = new Point(width / 2, height / 2); const double density = 0.05; const int angelStep = 5; var dictionaryAff = Path.GetFullPath("../../../../dictionaries/en.aff"); var dictionaryDic = Path.GetFullPath("../../../../dictionaries/en.dic"); builder.RegisterType <ArchimedeanSpiral>().As <ICurve>() .WithParameter("center", center) .WithParameter("density", density) .WithParameter("angelStep", angelStep); builder.RegisterType <CircularCloudLayouter>().As <ITagCloud>().SingleInstance(); builder.RegisterType <TagCloudVisualizer>().As <IVisualizer>(); var wordsFilePath = Path.GetFullPath(input); var wordsFileExtension = Path.GetExtension(wordsFilePath); var wordsProviderType = WordsProviderFinder.FindFileWordsProvider(wordsFileExtension); builder.RegisterType(wordsProviderType).As <IWordsProvider>() .WithParameter("filePath", wordsFilePath); var wordsFilter = new WordsFilter.WordsFilter(new Hunspell(dictionaryAff, dictionaryDic)) .Normalize() .RemovePrepositions(); builder.RegisterInstance(wordsFilter).As <IWordsFilter>(); builder.RegisterInstance(colors).As <Color[]>(); return(builder.Build()); }