Author: tchemit Date: 2009-08-31 15:19:59 +0200 (Mon, 31 Aug 2009) New Revision: 62 Modified: trunk/bonzoms-business/src/main/java/org/chorem/bonzoms/RegisterBonzomsServices.java Log: [FIX] #31 CLassCastException H2Dialect en Dialect (build hibernate factory at init time) Modified: trunk/bonzoms-business/src/main/java/org/chorem/bonzoms/RegisterBonzomsServices.java =================================================================== --- trunk/bonzoms-business/src/main/java/org/chorem/bonzoms/RegisterBonzomsServices.java 2009-08-31 13:19:32 UTC (rev 61) +++ trunk/bonzoms-business/src/main/java/org/chorem/bonzoms/RegisterBonzomsServices.java 2009-08-31 13:19:59 UTC (rev 62) @@ -16,20 +16,20 @@ * License along with this program. If not, see * <http://www.gnu.org/licenses/gpl-3.0.html>. ##%* */ - package org.chorem.bonzoms; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import org.chorem.bonzoms.services.*; import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; +import org.apache.commons.logging.LogFactory; import org.chorem.bonzoms.impl.ServiceOrganizationXPIL; import org.chorem.bonzoms.impl.ServicePersonXPIL; import org.chorem.choreg.ChoremConvert; import org.chorem.choreg.ChoremRegistry; import org.chorem.choreg.ChoremRegistryImpl; import org.chorem.choreg.ChoremService; +import org.nuiton.topia.framework.TopiaContextImpl; /** * RegisterBonzomsServices.java @@ -49,7 +49,6 @@ public class RegisterBonzomsServices implements ServletContextListener { private static final Log log = LogFactory.getLog(RegisterBonzomsServices.class); - private static final ChoremRegistry choreg = ChoremRegistryImpl.getInstance(); /** @@ -77,8 +76,15 @@ if (log.isInfoEnabled()) { log.info("Bonzoms registration business services"); } + // force le chargement de la factory hibernate + try { + ((TopiaContextImpl) ContextUtilBonzoms.getRootContext()).getHibernateFactory(); + } catch (Exception e) { + log.error(e); + } register(ServicePerson.class, new ServicePersonXPIL()); register(ServiceOrganization.class, new ServiceOrganizationXPIL()); + } /** @@ -102,7 +108,7 @@ * @param serviceClass service class for identification * @param service instance of ChoremService for choreg registration */ - private static void register(Class serviceClass, ChoremService service) { + private static void register(Class<?> serviceClass, ChoremService service) { String sid = ChoremConvert.toSid(serviceClass); choreg.register(sid, service); if (log.isDebugEnabled()) { @@ -114,12 +120,11 @@ * Private unregistration method to add log message and manage identification for services. * @param serviceClass service class for identification */ - private static void unregister(Class serviceClass) { + private static void unregister(Class<?> serviceClass) { String sid = ChoremConvert.toSid(serviceClass); choreg.unregister(sid); if (log.isDebugEnabled()) { log.debug(sid + " unregistered"); } } - }