Coverage Report - pt.digitalis.dif.ioc.DefaultModulesSeleccionModule
 
Classes in this File Line Coverage Branch Coverage Complexity
DefaultModulesSeleccionModule
0%
0/23
0%
0/4
2
 
 1  0
 /**
 2  
  * - Digitalis Internal Framework v2.0 - (C) 2007, Digitalis Informatica. Distribuicao e Gestao de Informatica, Lda.
 3  
  * Estrada de Paco de Arcos num.9 - Piso -1 2780-666 Paco de Arcos Telefone: (351) 21 4408990 Fax: (351) 21 4408999
 4  
  * http://www.digitalis.pt
 5  
  */
 6  
 package pt.digitalis.dif.ioc;
 7  
 
 8  
 import pt.digitalis.dif.controller.security.managers.IAuthenticationManager;
 9  
 import pt.digitalis.dif.controller.security.managers.IAuthorizationManager;
 10  
 import pt.digitalis.dif.controller.security.managers.IIdentityManager;
 11  
 import pt.digitalis.dif.dem.managers.IMessageManager;
 12  
 import pt.digitalis.dif.utils.logging.DIFLogger;
 13  
 import pt.digitalis.utils.common.StringUtils;
 14  
 import pt.digitalis.utils.ioc.modules.IIoCDynamicModule;
 15  
 import pt.digitalis.utils.ioc.modules.IoCBinder;
 16  
 import pt.digitalis.utils.ioc.modules.IoCBinding;
 17  
 
 18  
 /**
 19  
  * @author Pedro Viegas <a href="mailto:pviegas@digitalis.pt">pviegas@digitalis.pt</a><br/>
 20  
  * @created 4 de Fev de 2011
 21  
  */
 22  0
 public class DefaultModulesSeleccionModule implements IIoCDynamicModule {
 23  
 
 24  
     /**  */
 25  0
     private DIFDefaultModulesConfiguration moduleConfig = DIFDefaultModulesConfiguration.getInstance();
 26  
 
 27  
     /**
 28  
      * @param binder
 29  
      * @param serviceClass
 30  
      *            to bind
 31  
      */
 32  
     private void bindDefaultModule(IoCBinder binder, Class<?> serviceClass)
 33  
     {
 34  0
         IoCBinding previousBinding = moduleConfig.getDefaultImplementationBindingFor(serviceClass);
 35  0
         IoCBinding newDefaultBinding = null;
 36  
 
 37  0
         if (previousBinding != null)
 38  
         {
 39  0
             newDefaultBinding = binder.bind(serviceClass, previousBinding.getImplementationType());
 40  0
             if (previousBinding.isSingleton())
 41  0
                 newDefaultBinding.asSingleton();
 42  
 
 43  0
             DIFLogger.getLogger().info(
 44  0
                     "    => "
 45  0
                             + StringUtils.camelCaseToString(previousBinding.getInterfaceType().getSimpleName()
 46  0
                                     .substring(1)) + ": " + previousBinding.getId() + " ("
 47  0
                             + previousBinding.getImplementationType().getSimpleName() + ")");
 48  
         }
 49  
         else
 50  
         {
 51  0
             DIFLogger.getLogger().warn("    => " + "No bindings for: " + serviceClass.getCanonicalName());
 52  
         }
 53  0
     }
 54  
 
 55  
     /**
 56  
      * @see pt.digitalis.utils.ioc.modules.IIoCModule#configure(pt.digitalis.utils.ioc.modules.IoCBinder)
 57  
      */
 58  
     public void configure(IoCBinder binder)
 59  
     {
 60  0
         DIFLogger.getLogger().info("Core Module Resolution");
 61  
 
 62  0
         bindDefaultModule(binder, IMessageManager.class);
 63  0
         bindDefaultModule(binder, IIdentityManager.class);
 64  0
         bindDefaultModule(binder, IAuthenticationManager.class);
 65  0
         bindDefaultModule(binder, IAuthorizationManager.class);
 66  
 
 67  0
         DIFLogger.getLogger().info("");
 68  0
     }
 69  
 }