Clover Coverage Report - perfectjpattern(Aggregated)
Coverage timestamp: Sat Feb 28 2009 14:35:07 CET
../../../../../img/srcFileCovDistChart9.png 84% of files have more coverage
3   77   5   1
2   30   1.67   3
3     1.67  
1    
11.1% of code in this file is excluded from these metrics.
 
  JpaManagedSessionStrategy       Line # 36 3 11.1% 5 1 87.5% 0.875
 
  (3)
 
1    //----------------------------------------------------------------------
2    //
3    // PerfectJPattern: "Design patterns are good but components are better!"
4    // ManagedDaoSessionStrategy.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 javax.persistence.*;
24   
25    import org.perfectjpattern.core.api.structural.adapter.*;
26    import org.perfectjpattern.jee.api.integration.dao.*;
27   
28    /**
29    * Concrete implementation of {@link ISessionStrategy} targeting
30    * the Ejb managed environment
31    *
32    * @author <a href="mailto:bravegag@hotmail.com">Giovanni Azua</a>
33    * @version $Revision: 1.0 $Date: Feb 8, 2009 5:24:51 PM $
34    */
35    public final
 
36    class JpaManagedSessionStrategy
37    implements ISessionStrategy
38    {
39    //------------------------------------------------------------------------
40    // public
41    //------------------------------------------------------------------------
42    /**
43    * {@inheritDoc}
44    */
 
45  1 toggle public void
46    shutdown()
47    {
48    throw new UnsupportedOperationException("Managed Session strategy " +
49    "must not be shutdown");
50    }
51   
52    //------------------------------------------------------------------------
53    /**
54    * {@inheritDoc}
55    */
 
56  7 toggle public ISession
57    getSession()
58    {
59  7 return theSessionAdapter.getTarget();
60    }
61   
62    //------------------------------------------------------------------------
 
63  3 toggle public void
64    setEntityManager(EntityManager anEntityManager)
65    {
66  3 if (theSessionAdapter == null || theSessionAdapter.
67    getAdaptee() != anEntityManager)
68    {
69  3 theSessionAdapter = new EntityManagerAdapter(anEntityManager);
70    }
71    }
72   
73    //------------------------------------------------------------------------
74    // members
75    //------------------------------------------------------------------------
76    private IAdapter<ISession, EntityManager> theSessionAdapter;
77    }