/**
 * Dragon - SOA Governance Platform.
 * Copyright (c) 2008 EBM Websourcing, http://www.ebmwebsourcing.com/
 *
 * This library 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 2.1 of the License, or (at your option) any later version.
 * This library 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
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 * -------------------------------------------------------------------------
 * CommonServiceConfig.java
 * -------------------------------------------------------------------------
 */

package com.ow2.dragon.service.uddi;

import javax.annotation.Resource;

import junit.framework.Assert;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.junit.BeforeClass;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.transaction.annotation.Transactional;

/**
 * @author ofabre - eBM Websourcing
 * 
 */
@ContextConfiguration(locations = { "classpath:applicationContext-dao.xml",
        "classpath:applicationContext-test-hibernate.xml",
        "classpath:applicationContext-test-jdbc.xml",
        "classpath:applicationContext-transaction.xml",
        "classpath:applicationContext-test-compass.xml",
        "classpath:applicationContext-services.xml",
        "classpath:applicationContext-test-repository.xml",
        "classpath:applicationContext-uddi-services.xml", "classpath:applicationContext-cxf.xml" })
@Transactional
public class CommonUDDIServiceConfig extends Assert {

    private static final String TRANSFORMER_FACTORY = "com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl";

    /*
     * private Logger logger = Logger.getLogger(this.getClass());
     * 
     * @Resource private MetadataService metadataService;
     */

    @Resource
    private SessionFactory sessionFactory;

    public Session getHibernateSession() {
        return sessionFactory.getCurrentSession();
    }

    @BeforeClass
    public static void beforeClass() {
        System.setProperty("javax.xml.transform.TransformerFactory", TRANSFORMER_FACTORY);
    }

    public SessionFactory getSessionFactory() {
        return sessionFactory;
    }

    /*
     * @AfterTransaction public void after() {logger.info(
     * "############## Delete repository directory if repo type is filesystem");
     * String repoRoot = metadataService.getRepositoryRootPath(); if (repoRoot
     * != null) { File repoRootDir = new File(repoRoot);
     * FileUtils.deleteQuietly(repoRootDir); } }
     */

}
