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   81   3   1.5
0   30   1   2
2     1.5  
1    
16.7% of code in this file is excluded from these metrics.
 
  EntityTransactionAdapter       Line # 38 3 16.7% 3 0 100% 1.0
 
  (7)
 
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 javax.persistence.*;
26   
27    import org.perfectjpattern.core.structural.adapter.*;
28    import org.perfectjpattern.jee.api.integration.dao.*;
29   
30    /**
31    * Adapts JPA's {@link EntityTransaction} to the JPA implementation-free
32    * PerfectJPattern's {@link ITransaction}
33    *
34    * @author <a href="mailto:bravegag@hotmail.com">Giovanni Azua</a>
35    * @version $Revision: 1.0 $Date: Feb 10, 2009 8:26:06 PM $
36    */
37    public final
 
38    class EntityTransactionAdapter
39    extends Adapter<ITransaction, EntityTransaction>
40    {
41    //------------------------------------------------------------------------
42    // public
43    //------------------------------------------------------------------------
44    /**
45    * Constructs a {@link EntityTransactionAdapter} from the Adaptee
46    * {@link EntityTransaction} instance
47    *
48    * @param anAdaptee
49    * @throws IllegalArgumentException
50    */
 
51  1 toggle public
52    EntityTransactionAdapter(EntityTransaction anAdaptee)
53    throws IllegalArgumentException
54    {
55  1 super(ITransaction.class, anAdaptee);
56    }
57   
58    //------------------------------------------------------------------------
59    // protected
60    //------------------------------------------------------------------------
61    /**
62    * {@inheritDoc}
63    */
 
64  41 toggle @Override
65    protected Object
66    invokeUnderlying(Method aMethod, Object[] anArguments)
67    throws Throwable
68    {
69  41 try
70    {
71  41 return super.invokeUnderlying(aMethod, anArguments);
72    }
73    // CHECKSTYLE:OFF
74    catch (Throwable anException)
75    // CHECKSTYLE:ON
76    {
77    // make sure that Exceptions are properly chained
78    throw new DaoException(anException);
79    }
80    }
81    }