Clover Coverage Report - perfectjpattern(Aggregated)
Coverage timestamp: Sat Feb 28 2009 14:35:07 CET
../../../../../img/srcFileCovDistChart10.png 0% of files have more coverage
3   80   3   1.5
0   30   1   2
2     1.5  
1    
16.7% of code in this file is excluded from these metrics.
 
  HibernateTransactionAdapter       Line # 37 3 16.7% 3 0 100% 1.0
 
  (14)
 
1    //----------------------------------------------------------------------
2    //
3    // PerfectJPattern: "Design patterns are good but components are better!"
4    // HibernateTransactionAdapter.java Copyright (c) 2009 Giovanni Azua Garcia
5    // bravegag@hotmail.com
6    //
7    // This program is free software; you can redistribute it and/or
8    // modify it under the terms of the GNU General Public License
9    // as published by the Free Software Foundation; either version 3
10    // of the License, or (at your option) any later version.
11    //
12    // This program is distributed in the hope that it will be useful,
13    // but WITHOUT ANY WARRANTY; without even the implied warranty of
14    // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15    // GNU General Public License for more details.
16    //
17    // You should have received a copy of the GNU General Public License
18    // along with this program; if not, see <http://www.gnu.org/licenses/>.
19    //
20    //----------------------------------------------------------------------
21    package org.perfectjpattern.jee.integration.dao;
22   
23    import java.lang.reflect.*;
24   
25    import org.hibernate.*;
26    import org.perfectjpattern.core.structural.adapter.*;
27    import org.perfectjpattern.jee.api.integration.dao.*;
28   
29    /**
30    * Adapts Hibernate's {@link Transaction} to the JPA implementation-free
31    * PerfectJPattern's {@link ITransaction} definition
32    *
33    * @author <a href="mailto:bravegag@hotmail.com">Giovanni Azua</a>
34    * @version $Revision: 1.0 $Date: Feb 10, 2009 8:26:06 PM $
35    */
36    public final
 
37    class HibernateTransactionAdapter
38    extends Adapter<ITransaction, Transaction>
39    {
40    //------------------------------------------------------------------------
41    // public
42    //------------------------------------------------------------------------
43    /**
44    * Constructs a {@link HibernateTransactionAdapter} from the Adaptee
45    * {@link Transaction} instance
46    *
47    * @param anAdaptee
48    * @throws IllegalArgumentException
49    */
 
50  11 toggle public
51    HibernateTransactionAdapter(Transaction anAdaptee)
52    throws IllegalArgumentException
53    {
54  11 super(ITransaction.class, anAdaptee);
55    }
56   
57    //------------------------------------------------------------------------
58    // protected
59    //------------------------------------------------------------------------
60    /**
61    * {@inheritDoc}
62    */
 
63  70 toggle @Override
64    protected Object
65    invokeUnderlying(Method aMethod, Object[] anArguments)
66    throws Throwable
67    {
68  70 try
69    {
70  70 return super.invokeUnderlying(aMethod, anArguments);
71    }
72    // CHECKSTYLE:OFF
73    catch (Throwable anException)
74    // CHECKSTYLE:ON
75    {
76    // make sure that Exceptions are properly chained
77    throw new DaoException(anException);
78    }
79    }
80    }