1336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beustpackage org.testng.remote;
2336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust
3336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beustimport org.testng.SuiteRunner;
4336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beustimport org.testng.internal.remote.SlavePool;
569e715ffa3624f1dd4b1bc55cb8919d25dc732b3gkorlandimport org.testng.remote.adapter.RemoteResultListener;
6336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beustimport org.testng.xml.XmlSuite;
7336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust
8336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust/**
9336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust * A worker that will be put into an Executor and that sends a suite
10336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust * This class
110f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin *
12336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust * @author cbeust
13336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust */
14336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beustpublic class RemoteSuiteWorker extends RemoteWorker implements Runnable {
15336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  private XmlSuite m_suite;
160f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin
1769e715ffa3624f1dd4b1bc55cb8919d25dc732b3gkorland  public RemoteSuiteWorker(XmlSuite suite, SlavePool slavePool, RemoteResultListener listener) {
1869e715ffa3624f1dd4b1bc55cb8919d25dc732b3gkorland    super(listener, slavePool);
19336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust    m_suite = suite;
20336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  }
210f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin
220f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin  @Override
23336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  public void run() {
24336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust    try {
25336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust      SuiteRunner result = sendSuite(getSlavePool().getSlave(), m_suite);
2669e715ffa3624f1dd4b1bc55cb8919d25dc732b3gkorland      m_listener.onResult(result);
27336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust    }
28336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust    catch (Exception e) {
29336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust      e.printStackTrace();
300f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin    }
31336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust
32336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  }
33336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust}
34336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust
35