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.
 
  JpaQueryAdapter       Line # 38 3 16.7% 3 0 100% 1.0
 
  (6)
 
1    //----------------------------------------------------------------------
2    //
3    // PerfectJPattern: "Design patterns are good but components are better!"
4    // HibernateQueryAdapter.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 Hibernate's {@link Query} to the JPA implementation-free
32    * PerfectJPattern's {@link IQuery} definition
33    *
34    * @author <a href="mailto:bravegag@hotmail.com">Giovanni Azua</a>
35    * @version $Revision: 1.0 $Date: Feb 18, 2009 11:54:49 AM $
36    */
37    public
 
38    class JpaQueryAdapter
39    extends Adapter<IQuery, Query>
40    {
41    //------------------------------------------------------------------------
42    // public
43    //------------------------------------------------------------------------
44    /**
45    * Constructs a {@link JpaQueryAdapter} from the Adaptee
46    * {@link Query} instance
47    *
48    * @param anAdaptee Adaptee Hibernate Query
49    * @throws IllegalArgumentException
50    */
 
51  15 toggle public
52    JpaQueryAdapter(Query anAdaptee)
53    throws IllegalArgumentException
54    {
55  15 super(IQuery.class, anAdaptee);
56    }
57   
58    //------------------------------------------------------------------------
59    // protected
60    //------------------------------------------------------------------------
61    /**
62    * {@inheritDoc}
63    */
 
64  15 toggle @Override
65    protected Object
66    invokeUnderlying(Method aMethod, Object[] anArguments)
67    throws Throwable
68    {
69  15 try
70    {
71  15 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    }