public void Run(string[] args) { var ui = new CLI(args); var appSettings = ui.ApplicationSettings; var words = reader.ReadWords(appSettings.InputPath); words = formattingComponent.FormatWords(words); var generator = new TagsCloudGenerator (wordsSizer, layouterFactory.CreateTagsCloudLayouter(appSettings.TagsCloudCenter, tagsCloudFactory)); boringWordsRepository.LoadWords(appSettings.BlackListPath); words = filteringComponent.FilterWords(words); var cloud = generator.CreateCloud(words, appSettings.ImageSettings.LetterSize); renderer.RenderIntoFile(appSettings.ImageSettings, colorManager, cloud); }
public void SetUp() { var container = new Container(); container.RegisterSingleton <ILayouterAlgorithm>(() => new SimpleRadialAlgorithm()); container.RegisterSingleton <ICloudLayouter>(() => new CircularCloudLayouter(new Point(1024, 1024), container.GetInstance <ILayouterAlgorithm>())); container.RegisterSingleton <IWordsReader, SimpleTxtReader>(); container.RegisterSingleton <ILayoutPainter, SimpleLayoutPainter>(); container.RegisterCollection <IWordFormatter>(new SimpleWordFormatter()); container.RegisterSingleton <WordsNormalizer>(); container.RegisterSingleton <WordsLayouter>(); container.RegisterSingleton <TagsCloudGenerator>(); container.Verify(); generator = container.GetInstance <TagsCloudGenerator>(); inputFile = CreateInputFile(); }
public Result <None> Run(string[] args) { var ui = new CLI(args); var appSettings = ui.ApplicationSettings; var generator = new TagsCloudGenerator (wordsSizer, layouterFactory.CreateTagsCloudLayouter(appSettings.TagsCloudCenter, tagsCloudFactory)); var result = boringWordsRepository.LoadWords(appSettings.BlackListPath) .Then(x => reader.ReadWords(appSettings.InputPath)) .Then(words => formattingComponent.FormatWords(words)) .Then(words => filteringComponent.FilterWords(words)) .Then(words => generator.CreateCloud(words, appSettings.ImageSettings.LetterSize)) .Then(tagsCloud => renderer.RenderIntoFile(appSettings.ImageSettings, colorManager, tagsCloud)); if (!result.IsSuccess) { Console.WriteLine(result.Error); } return(result); }
private void MenuItemGenerate_Click(object sender, RoutedEventArgs e) { if (string.IsNullOrWhiteSpace(inputFileName)) { MenuItemOpenFile_Click(null, null); if (string.IsNullOrWhiteSpace(inputFileName)) { return; } } var wordsLoader = new WordsLoader(knownParsers); var words = wordsLoader.LoadWords(inputFileName); var selectedFilters = filtersOptions.Where(fo => fo.IsActive).OrderBy(fo => fo.Priority).Select(fo => fo.Filter).ToArray(); var wordsFilterer = new WordsFilterer(selectedFilters); var filteredWords = wordsFilterer.FilterWords(words); tagsCloud = new TagsCloudGenerator(selectedLayouter, selectedRenderer); tagsCloud.GenerateCloud(filteredWords); UpdateImageControl(); }
public void SetUp() { var layouter = new CircularCloudLayouter(new Point(300, 300), new TagsCloudFactory()); generator = new TagsCloudGenerator(new FrequencyWordsSizer(), layouter); }