1336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beustpackage org.testng.internal.thread; 2336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust 3336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust 4336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beustimport java.util.concurrent.ExecutionException; 5336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beustimport java.util.concurrent.Future; 6336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust 7336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust/** 86b25aa4051da296381a83a25971a7a4289543e54the.mindstorm * A very reduced interface of <code>Future</code>. 9336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust * 10336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust * @author <a href="mailto:the_mindstorm@evolva.ro>the_mindstorm</a> 11336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust */ 12336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beustpublic class FutureResultAdapter implements IFutureResult { 13336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust Future<?> m_future; 14336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust 15336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust public FutureResultAdapter(Future<?> future) { 16336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust m_future = future; 17336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust } 18336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust 190f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin @Override 200f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin public Object get() throws InterruptedException, ThreadExecutionException { 21336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust try { 22336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust return m_future.get(); 230f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin } 246b25aa4051da296381a83a25971a7a4289543e54the.mindstorm catch(ExecutionException ee) { 256b25aa4051da296381a83a25971a7a4289543e54the.mindstorm throw new ThreadExecutionException(ee.getCause()); // NOTE there is no need to keep the EE 26336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust } 27336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust } 28336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust}