Coverage Report - fr.paris.lutece.plugins.releaser.business.ClusterHome
 
Classes in this File Line Coverage Branch Coverage Complexity
ClusterHome
80 %
16/20
100 %
2/2
1,125
 
 1  
 /*
 2  
  * Copyright (c) 2002-2017, Mairie de Paris
 3  
  * All rights reserved.
 4  
  *
 5  
  * Redistribution and use in source and binary forms, with or without
 6  
  * modification, are permitted provided that the following conditions
 7  
  * are met:
 8  
  *
 9  
  *  1. Redistributions of source code must retain the above copyright notice
 10  
  *     and the following disclaimer.
 11  
  *
 12  
  *  2. Redistributions in binary form must reproduce the above copyright notice
 13  
  *     and the following disclaimer in the documentation and/or other materials
 14  
  *     provided with the distribution.
 15  
  *
 16  
  *  3. Neither the name of 'Mairie de Paris' nor 'Lutece' nor the names of its
 17  
  *     contributors may be used to endorse or promote products derived from
 18  
  *     this software without specific prior written permission.
 19  
  *
 20  
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 21  
  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 22  
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 23  
  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
 24  
  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 25  
  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 26  
  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 27  
  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 28  
  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 29  
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 30  
  * POSSIBILITY OF SUCH DAMAGE.
 31  
  *
 32  
  * License 1.0
 33  
  */
 34  
 package fr.paris.lutece.plugins.releaser.business;
 35  
 
 36  
 import fr.paris.lutece.portal.service.plugin.Plugin;
 37  
 import fr.paris.lutece.portal.service.plugin.PluginService;
 38  
 import fr.paris.lutece.portal.service.spring.SpringContextService;
 39  
 import fr.paris.lutece.util.ReferenceList;
 40  
 
 41  
 import java.util.List;
 42  
 
 43  
 /**
 44  
  * This class provides instances management methods (create, find, ...) for Cluster objects
 45  
  */
 46  
 public final class ClusterHome
 47  
 {
 48  
     // Static variable pointed at the DAO instance
 49  1
     private static IClusterDAO _dao = SpringContextService.getBean( "releaser.clusterDAO" );
 50  1
     private static Plugin _plugin = PluginService.getPlugin( "releaser" );
 51  
 
 52  
     /**
 53  
      * Private constructor - this class need not be instantiated
 54  
      */
 55  
     private ClusterHome( )
 56  0
     {
 57  0
     }
 58  
 
 59  
     /**
 60  
      * Create an instance of the cluster class
 61  
      * 
 62  
      * @param cluster
 63  
      *            The instance of the Cluster which contains the informations to store
 64  
      * @return The instance of cluster which has been created with its primary key.
 65  
      */
 66  
     public static Cluster create( Cluster cluster )
 67  
     {
 68  1
         _dao.insert( cluster, _plugin );
 69  
 
 70  1
         return cluster;
 71  
     }
 72  
 
 73  
     /**
 74  
      * Update of the cluster which is specified in parameter
 75  
      * 
 76  
      * @param cluster
 77  
      *            The instance of the Cluster which contains the data to store
 78  
      * @return The instance of the cluster which has been updated
 79  
      */
 80  
     public static Cluster update( Cluster cluster )
 81  
     {
 82  1
         _dao.store( cluster, _plugin );
 83  
 
 84  1
         return cluster;
 85  
     }
 86  
 
 87  
     /**
 88  
      * Remove the cluster whose identifier is specified in parameter
 89  
      * 
 90  
      * @param nKey
 91  
      *            The cluster Id
 92  
      */
 93  
     public static void remove( int nKey )
 94  
     {
 95  1
         _dao.delete( nKey, _plugin );
 96  1
     }
 97  
 
 98  
     /**
 99  
      * Returns an instance of a cluster whose identifier is specified in parameter
 100  
      * 
 101  
      * @param nKey
 102  
      *            The cluster primary key
 103  
      * @return an instance of Cluster
 104  
      */
 105  
     public static Cluster findByPrimaryKey( int nKey )
 106  
     {
 107  3
         Cluster cluster = _dao.load( nKey, _plugin );
 108  3
         cluster.setSites( SiteHome.findByCluster( cluster.getId( ) ) );
 109  2
         return cluster;
 110  
     }
 111  
 
 112  
     /**
 113  
      * Load the data of all the cluster objects and returns them as a list
 114  
      * 
 115  
      * @return the list which contains the data of all the cluster objects
 116  
      */
 117  
     public static List<Cluster> getClustersList( )
 118  
     {
 119  1
         List<Cluster> listCluster = _dao.selectClustersList( _plugin );
 120  1
         for ( Cluster cluster : listCluster )
 121  
         {
 122  3
             cluster.setSites( SiteHome.findByCluster( cluster.getId( ) ) );
 123  3
         }
 124  1
         return listCluster;
 125  
     }
 126  
 
 127  
     /**
 128  
      * Load the id of all the cluster objects and returns them as a list
 129  
      * 
 130  
      * @return the list which contains the id of all the cluster objects
 131  
      */
 132  
     public static List<Integer> getIdClustersList( )
 133  
     {
 134  0
         return _dao.selectIdClustersList( _plugin );
 135  
     }
 136  
 
 137  
     /**
 138  
      * Load the data of all the cluster objects and returns them as a referenceList
 139  
      * 
 140  
      * @return the referenceList which contains the data of all the cluster objects
 141  
      */
 142  
     public static ReferenceList getClustersReferenceList( )
 143  
     {
 144  0
         return _dao.selectClustersReferenceList( _plugin );
 145  
     }
 146  
 }