Clover coverage report - CRISPY - 1.1.1
Coverage timestamp: Mi Nov 15 2006 13:09:46 CET
file stats: LOC: 57   Methods: 4
NCLOC: 37   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
ThreadWorker.java 100% 100% 100% 100%
coverage
 1    package net.sf.crispy.concurrent;
 2   
 3    import java.lang.reflect.Method;
 4   
 5    import net.sf.crispy.InvocationException;
 6    import net.sf.crispy.impl.ServiceManager;
 7   
 8   
 9    /**
 10    * Create a Thread and execute the service call.
 11    *
 12    * @author Linke
 13    * @since Version 1.0
 14    *
 15    */
 16    public class ThreadWorker {
 17   
 18    private ThreadController threadController = null;
 19   
 20  872 public ThreadWorker(ThreadController pvThreadController) {
 21  872 threadController = pvThreadController;
 22    }
 23   
 24  312 protected Thread createNewThread(Runnable pvRunnable) {
 25  312 Thread lvThread = new Thread(pvRunnable);
 26    // lvThread.setDaemon(true);
 27  312 return lvThread;
 28    }
 29   
 30  312 public void executeAsynchrone (final Object pvObject, final Method pvMethod, final Object[] pvArgs,
 31    final ExecuteCallback pvExecutorCallback, final AsynchronousCallback pvAsynchroneCallback) {
 32   
 33  312 Runnable lvRunnable = new Runnable() {
 34   
 35  312 public void run() {
 36  312 String lvMethodName = (pvMethod == null ? "NoMethodName" : pvMethod.getName());
 37  312 try {
 38  312 Object lvResult = pvExecutorCallback.execute(pvObject, pvMethod, pvArgs);
 39  306 pvAsynchroneCallback.handleResult(lvResult, lvMethodName);
 40    } catch (Exception e) {
 41    if (ServiceManager.DEBUG_MODE_ON == true) {
 42    e.printStackTrace();
 43    }
 44  6 InvocationException lvException = new InvocationException("Exception by execution the method" +
 45    pvMethod + " with parameter: " + pvArgs, e);
 46  6 pvAsynchroneCallback.handleError(lvException, lvMethodName);
 47    }
 48    finally {
 49  312 threadController.releasThreadWorker(ThreadWorker.this);
 50    }
 51    }
 52   
 53    };
 54  312 createNewThread(lvRunnable).start();
 55    }
 56   
 57    }