package org.testng.internal.thread.graph; import org.testng.ISuite; import org.testng.SuiteRunnerWorker; import org.testng.collections.Lists; import org.testng.xml.XmlSuite; import java.util.List; import java.util.Map; import java.util.Set; /** * An {@code IThreadWorkerFactory} for {@code SuiteRunner}s * * @author nullin * */ public class SuiteWorkerFactory implements IThreadWorkerFactory<ISuite> { private Integer m_verbose; private String m_defaultSuiteName; private Map<XmlSuite, ISuite> m_suiteRunnerMap; public SuiteWorkerFactory(Map<XmlSuite, ISuite> suiteRunnerMap, Integer verbose, String defaultSuiteName) { m_suiteRunnerMap = suiteRunnerMap; m_verbose = verbose; m_defaultSuiteName = defaultSuiteName; } /** * For each suite, creates a {@code SuiteRunnerWorker} * @param suites set of suite runners * @return list of suite runner workers */ @Override public List<IWorker<ISuite>> createWorkers(Set<ISuite> suites) { List<IWorker<ISuite>> suiteWorkers = Lists.newArrayList(); for (ISuite suiteRunner : suites) { suiteWorkers.add(new SuiteRunnerWorker(suiteRunner, m_suiteRunnerMap, m_verbose, m_defaultSuiteName)); } return suiteWorkers; } }