Project Report: fawkez

Packagesummary org.jcoderz.commons

org.jcoderz.commons.CommonsTestRunnerSessionImpl

LineHitsNoteSource
1  /*
2   * $Id: CommonsTestRunnerSessionImpl.java 1011 2008-06-16 17:57:36Z amandel $
3   *
4   * Copyright 2006, The jCoderZ.org Project. All rights reserved.
5   *
6   * Redistribution and use in source and binary forms, with or without
7   * modification, are permitted provided that the following conditions are
8   * met:
9   *
10   *    * Redistributions of source code must retain the above copyright
11   *      notice, this list of conditions and the following disclaimer.
12   *    * Redistributions in binary form must reproduce the above
13   *      copyright notice, this list of conditions and the following
14   *      disclaimer in the documentation and/or other materials
15   *      provided with the distribution.
16   *    * Neither the name of the jCoderZ.org Project nor the names of
17   *      its contributors may be used to endorse or promote products
18   *      derived from this software without specific prior written
19   *      permission.
20   *
21   * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND
22   * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24   * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS
25   * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26   * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27   * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
28   * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
29   * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
30   * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
31   * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32   */
33  package org.jcoderz.commons;
34   
35   
36  import java.lang.reflect.Constructor;
37   
38   
39  /**
40   * Implementation for the TestRunnerSeession bean.
41   *
42   * @author Michael Griffel
43   */
44  public class CommonsTestRunnerSessionImpl
45        implements CommonsTestRunnerSessionInterface
46  {
47     /**
48      * {@inheritDoc}
49      * @ejb.transaction type="Supports"
50      * @ejb.interface-method view-type="remote"
51      */
52     public void runTest (String testClassName, String testMethodName)
53           throws CommonsTestRunnerException
54     {
55        executeTest(testClassName, testMethodName);
56     }
57   
58     /**
59      * {@inheritDoc}
60      * @ejb.transaction type="Required"
61      * @ejb.interface-method view-type="remote"
62      */
63     public void runTestWithTx (String testClassName, String testMethodName)
64           throws CommonsTestRunnerException
65     {
66        executeTest(testClassName, testMethodName);
67     }
68   
69     private void executeTest (String testClassName, String testMethodName)
70           throws CommonsTestRunnerException
71     {
72        try
73        {
74           final Class theClass = Class.forName(testClassName);
75           final Class[] argTypes = {};
76   
77           final Constructor constructor = theClass.getConstructor(argTypes);
78           final Object[] args = new Object[]{};
79           final Object obj = constructor.newInstance(args);
80           final ServerTestCase test = (ServerTestCase) obj;
81           test.setName(testMethodName);
82           test.runBareAtServer();
83        }
84        // This is necessary as we don't know which exceptions will occur
85        catch (Throwable x)
86        {
87           throw new CommonsTestRunnerException(x);
88        }
89     }
90  }
91   

Findings in this File

f (1) Catching 'Throwable' is not allowed.Not required for testcode.