/** * Copyright (C) 2008-2010, Squale Project - http://www.squale.org * * This file is part of Squale. * * Squale is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation, either version 3 of the * License, or any later version. * * Squale is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with Squale. If not, see <http://www.gnu.org/licenses/>. */ /* * Created on Apr 9, 2004 */ package org.squale.jraf.bootstrap.test; import java.util.HashMap; import java.util.Map; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.squale.jraf.bootstrap.initializer.InitializableHelper; import org.squale.jraf.bootstrap.initializer.Initializer; import org.squale.jraf.bootstrap.locator.ProviderLocator; import org.squale.jraf.bootstrap.test.log.LoggingMockProvider; import org.squale.jraf.commons.exception.JrafConfigException; import org.squale.jraf.spi.bootstrap.IBootstrapConstants; import org.squale.jraf.spi.provider.IProvider; /** * <p>Title : TestInitializerHelper.java</p> * <p>Description : </p> * <p>Copyright : Copyright (c) 2004</p> * */ public class TestInitializerHelper { private static final Log log = LogFactory.getLog(TestInitializerHelper.class); /** * Initialise un provider locator pour les tests fonctionnels. * Utilise la classe d'initialisation du bootstrap pour l'initialisation. * @param in_rootContext chemin absolu du contexte * @param in_configFile chemin relatif du fichier de configuration * par rapport au contexte * @throws JrafConfigException */ public final static void initFunctionalProviderLocator( String in_rootContext, String in_configFile) throws JrafConfigException { // delegue le traitement initFunctionalProviderLocator( in_rootContext, in_configFile, Initializer.class.getName()); } /** * Initialise un provider locator pour les tests fonctionnels. * @param in_rootContext chemin absolu du contexte * @param in_configFile chemin relatif du fichier de configuration * @param in_initializationClass nom complet de la classe d'initialisation * @throws JrafConfigException */ public final static void initFunctionalProviderLocator( String in_rootContext, String in_configFile, String in_initializationClass) throws JrafConfigException { log.debug("in_rootContext : " + in_rootContext); log.debug("in_configFile : " + in_configFile); IProvider lc_provider = null; Initializer lc_initializer = null; // construction des parametres Map lc_parameters = new HashMap(); lc_parameters.put(IBootstrapConstants.ROOT_PATH_KEY, in_rootContext); lc_parameters.put( IBootstrapConstants.PROVIDER_CONFIG_KEY, in_configFile); lc_parameters.put( IBootstrapConstants.JNDI_BIND, Boolean.FALSE.toString()); // instanciation de la classe d'initialisation lc_initializer = (Initializer) InitializableHelper.instanciateInitializable( in_initializationClass); // initialisation des providers lc_provider = lc_initializer.initialize(lc_parameters); } /** * Initialise un provider locator pour les tests unitaires. * Les providers de logs et de bootstrap sont renseign�s avec * des providers "bouchons". */ public final static void initMockProviderLocator() { ProviderLocator lc_pl = new ProviderLocator(new HashMap()); lc_pl.put("bootstrap", new BootstrapMockProvider()); lc_pl.put("logging", new LoggingMockProvider()); ProviderLocator.setProviderLocator(lc_pl); } }