1 package org.testng.internal.thread.graph; 2 3 import org.testng.ISuite; 4 import org.testng.SuiteRunnerWorker; 5 import org.testng.collections.Lists; 6 import org.testng.internal.SuiteRunnerMap; 7 8 import java.util.List; 9 10 /** 11 * An {@code IThreadWorkerFactory} for {@code SuiteRunner}s 12 * 13 * @author nullin 14 * 15 */ 16 public class SuiteWorkerFactory implements IThreadWorkerFactory<ISuite> 17 { 18 private Integer m_verbose; 19 private String m_defaultSuiteName; 20 private SuiteRunnerMap m_suiteRunnerMap; 21 22 public SuiteWorkerFactory(SuiteRunnerMap suiteRunnerMap, 23 Integer verbose, String defaultSuiteName) { 24 m_suiteRunnerMap = suiteRunnerMap; 25 m_verbose = verbose; 26 m_defaultSuiteName = defaultSuiteName; 27 } 28 29 /** 30 * For each suite, creates a {@code SuiteRunnerWorker} 31 * @param suites set of suite runners 32 * @return list of suite runner workers 33 */ 34 @Override 35 public List<IWorker<ISuite>> createWorkers(List<ISuite> suites) 36 { 37 List<IWorker<ISuite>> suiteWorkers = Lists.newArrayList(); 38 for (ISuite suiteRunner : suites) { 39 SuiteRunnerWorker worker = new SuiteRunnerWorker(suiteRunner, m_suiteRunnerMap, 40 m_verbose, m_defaultSuiteName); 41 suiteWorkers.add(worker); 42 } 43 return suiteWorkers; 44 } 45 46 } 47