Exemplo n.º 1
0
        private static void RegisterWordsFilter(ContainerBuilder builder, Hunspell hunspell)
        {
            var wordsFilter = new WordsFilter.WordsFilter()
                              .Normalize(hunspell)
                              .RemovePrepositions();

            builder.RegisterInstance(wordsFilter).As <IWordsFilter>();
        }
Exemplo n.º 2
0
        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());
        }