/* * Copyright (C) 2010-2011 Glencoe Software, Inc. All rights reserved. * Use is subject to license terms supplied in LICENSE.txt */ package ome.services.db; import java.io.File; import java.io.FileInputStream; import java.util.HashMap; import java.util.Properties; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.AnnotationConfiguration; import org.hibernate.engine.FilterDefinition; import org.springframework.util.ResourceUtils; public class HibernateUtil { private static final Logger log = LoggerFactory.getLogger(HibernateUtil.class); private static final SessionFactory sessionFactory; static { try { File local = ResourceUtils.getFile("classpath:local.properties"); File testCfg = ResourceUtils.getFile("classpath:hibernate.cfg.xml"); File mockFilter = ResourceUtils .getFile("classpath:mock_filters.hbm.xml"); Properties props = new Properties(); props.load(new FileInputStream(local)); AnnotationConfiguration cfg = new AnnotationConfiguration(); cfg.addFilterDefinition(new FilterDefinition("securityFilter", "1=1", new HashMap())); cfg.configure(testCfg); cfg.setProperties(props); sessionFactory = cfg.buildSessionFactory(); } catch (Throwable ex) { log.error(ex.toString()); throw new ExceptionInInitializerError(ex); } } public static Session getSession() throws HibernateException { return sessionFactory.openSession(); } }