package org.Webgatherer.ExperimentalLabs.EmailExtraction; import com.google.inject.Inject; import com.google.inject.Provider; import org.Webgatherer.Common.Properties.PropertiesContainer; import org.Webgatherer.CoreEngine.Core.Threadable.WebGather.PageRetrieverThreadManager; import org.Webgatherer.CoreEngine.Core.Threadable.WebGather.ThreadCommunicationPageRetriever; import org.Webgatherer.CoreEngine.Core.Threadable.WebGather.ThreadRetrievePage; import org.Webgatherer.CoreEngine.lib.WebDriverFactory; import org.openqa.selenium.WebDriver; /** * @author Rick Dane */ public class PageRetrieverThreadManagerEmailExtraction extends PageRetrieverThreadManager { protected WebDriver driver; protected int sizeOfStringArrayEnum = 9; protected Provider<ThreadRetrievePageEmailExtraction> threadRetrievePageProvider; @Inject public PageRetrieverThreadManagerEmailExtraction(Provider<ThreadRetrievePage> threadRetrievePageProvider, PropertiesContainer propertiesContainer, ThreadCommunicationPageRetriever threadCommunicationPageRetriever, WebDriverFactory webDriverFactory, Provider<ThreadRetrievePageEmailExtraction> threadRetrievePageIndeedProvider) { super(threadRetrievePageProvider, propertiesContainer, threadCommunicationPageRetriever); driver = webDriverFactory.createNewWebDriver(); this.threadRetrievePageProvider = threadRetrievePageIndeedProvider; } @Override protected void launchThread(String[] entry, int retrieveType) { ThreadRetrievePageEmailExtraction threadRetrievePage = threadRetrievePageProvider.get(); threadRetrievePage.configure(entry, threadCommunication, retrieveType, threadCommunicationPageRetriever); threadRetrievePage.start(); } @Override protected boolean determineIfCanStartThreadImmediately(String[] entry) { return true; } }