public SiteWordsExtractor()
        {
            // initialize the windows form components
            InitializeComponent();

            listViewResults.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);

            // load logger configuration
            configLogger();
            log.Info("-------------------");
            log.Info("Application started");


            AppSettings.Settings = AppSettingsStorage.Load();
            updateStatusLine("Configuration Loaded");
            progressLabel.Text = "";
            m_statsRootFolder  = null;
            m_reportFolder     = null;
            m_ElementsCounter  = null;
            m_htmlProcessor    = new HtmlProcessor();
            m_columnSorter     = new ListViewColumnSorter();
            listViewResults.ListViewItemSorter = m_columnSorter;

            validateSettings();
        }
        private bool init()
        {
            log.Info("Start working on site: " + siteURL.Text);

            // create stats sub folder
            createStatsSubFolder();
            if (String.IsNullOrWhiteSpace(m_statsRootFolder))
            {
                return(false);
            }

            // create report sub folder
            createReportFolder();
            if (String.IsNullOrWhiteSpace(m_reportFolder))
            {
                return(false);
            }

            m_allDocuments    = new List <RtfDocument>();
            m_ElementsCounter = new ElementsCounter(m_htmlProcessor);

            m_backgroundWorker         = new BackgroundWorker();
            m_backgroundWorker.DoWork += new DoWorkEventHandler(doWork);

            log.Debug("Initialized");

            return(true);
        }
        private void done()
        {
            // close log file
            log.Info("Done working on site: " + siteURL.Text);
            log.Info(progressLabel.Text);

            createGlobalRtfReport();

            m_ElementsCounter.SaveAsXls(m_reportFolder + AppSettings.Settings.Application.StatisticsFilename + ".xls");
            m_ElementsCounter = null;

            // invalidate the reports folder
            m_statsRootFolder = null;
            m_reportFolder    = null;
        }